Changeset: d352a9c8e5d3 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d352a9c8e5d3
Modified Files:
        sql/backends/monet5/sql_upgrades.c
Branch: Jun2020
Log Message:

Clean up in case of error.


diffs (224 lines):

diff --git a/sql/backends/monet5/sql_upgrades.c 
b/sql/backends/monet5/sql_upgrades.c
--- a/sql/backends/monet5/sql_upgrades.c
+++ b/sql/backends/monet5/sql_upgrades.c
@@ -3000,7 +3000,7 @@ SQLupgrades(Client c, mvc *m)
        sql_column *col;
        bool systabfixed = false;
 
-       if (!prev_schema) {
+       if (prev_schema == NULL) {
                TRC_CRITICAL(SQL_PARSER, "Allocation failure while running SQL 
upgrades\n");
                return -1;
        }
@@ -3012,6 +3012,7 @@ SQLupgrades(Client c, mvc *m)
                        if ((err = sql_update_hugeint(c, m, prev_schema, 
&systabfixed)) != NULL) {
                                TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                                freeException(err);
+                               GDKfree(prev_schema);
                                return -1;
                        }
                }
@@ -3036,6 +3037,7 @@ SQLupgrades(Client c, mvc *m)
                if ((err = sql_update_geom(c, m, 1, prev_schema)) != NULL) {
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
        } else if (geomsqlfix_get() != NULL) {
@@ -3047,6 +3049,7 @@ SQLupgrades(Client c, mvc *m)
                        if ((err = sql_update_geom(c, m, 0, prev_schema)) != 
NULL) {
                                TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                                freeException(err);
+                               GDKfree(prev_schema);
                                return -1;
                        }
                }
@@ -3056,6 +3059,7 @@ SQLupgrades(Client c, mvc *m)
                if ((err = sql_update_jul2017(c, prev_schema)) != NULL) {
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
        }
@@ -3063,12 +3067,14 @@ SQLupgrades(Client c, mvc *m)
        if ((err = sql_update_jul2017_sp2(c)) != NULL) {
                TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                freeException(err);
+               GDKfree(prev_schema);
                return -1;
        }
 
        if ((err = sql_update_jul2017_sp3(c, m, prev_schema, &systabfixed)) != 
NULL) {
                TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                freeException(err);
+               GDKfree(prev_schema);
                return -1;
        }
 
@@ -3078,6 +3084,7 @@ SQLupgrades(Client c, mvc *m)
                if ((err = sql_update_mar2018_geom(c, t, prev_schema)) != NULL) 
{
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
        }
@@ -3087,6 +3094,7 @@ SQLupgrades(Client c, mvc *m)
                if ((err = sql_update_mar2018(c, m, prev_schema, &systabfixed)) 
!= NULL) {
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
 #ifdef HAVE_NETCDF
@@ -3094,6 +3102,7 @@ SQLupgrades(Client c, mvc *m)
                    (err = sql_update_mar2018_netcdf(c, prev_schema)) != NULL) {
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
 #endif
@@ -3103,6 +3112,7 @@ SQLupgrades(Client c, mvc *m)
                if ((err = sql_update_mar2018_sp1(c, prev_schema)) != NULL) {
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
        }
@@ -3115,6 +3125,7 @@ SQLupgrades(Client c, mvc *m)
                if (err) {
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                } else {
                        BAT *b = BATdescriptor(output->cols[0].b);
@@ -3125,6 +3136,7 @@ SQLupgrades(Client c, mvc *m)
                                                TRC_CRITICAL(SQL_PARSER, 
"%s\n", err);
                                                freeException(err);
                                                BBPunfix(b->batCacheid);
+                                               GDKfree(prev_schema);
                                                return -1;
                                        }
                                }
@@ -3146,6 +3158,7 @@ SQLupgrades(Client c, mvc *m)
                        if ((err = sql_update_gsl(c, prev_schema)) != NULL) {
                                TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                                freeException(err);
+                               GDKfree(prev_schema);
                                return -1;
                        }
                }
@@ -3156,6 +3169,7 @@ SQLupgrades(Client c, mvc *m)
                if ((err = sql_update_aug2018(c, m, prev_schema)) != NULL) {
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
        }
@@ -3180,6 +3194,7 @@ SQLupgrades(Client c, mvc *m)
                if ((err = sql_drop_functions_dependencies_Xs_on_Ys(c, 
prev_schema)) != NULL) {
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
        }
@@ -3187,6 +3202,7 @@ SQLupgrades(Client c, mvc *m)
        if ((err = sql_update_aug2018_sp2(c, prev_schema)) != NULL) {
                TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                freeException(err);
+               GDKfree(prev_schema);
                return -1;
        }
 
@@ -3196,12 +3212,14 @@ SQLupgrades(Client c, mvc *m)
                    (err = sql_fix_system_tables(c, m, prev_schema)) != NULL) {
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
                systabfixed = true;
                if ((err = sql_update_apr2019(c, m, prev_schema)) != NULL) {
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
        }
@@ -3215,6 +3233,7 @@ SQLupgrades(Client c, mvc *m)
                if ((err = sql_update_storagemodel(c, m, prev_schema)) != NULL) 
{
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
        }
@@ -3222,6 +3241,7 @@ SQLupgrades(Client c, mvc *m)
        if ((err = sql_update_apr2019_sp1(c)) != NULL) {
                TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                freeException(err);
+               GDKfree(prev_schema);
                return -1;
        }
 
@@ -3229,6 +3249,7 @@ SQLupgrades(Client c, mvc *m)
                if ((err = sql_update_apr2019_sp2(c, m, prev_schema, 
&systabfixed)) != NULL) {
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
        }
@@ -3238,18 +3259,21 @@ SQLupgrades(Client c, mvc *m)
                if ((err = sql_update_nov2019_missing_dependencies(c, m)) != 
NULL) {
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
                if (!systabfixed &&
                    (err = sql_fix_system_tables(c, m, prev_schema)) != NULL) {
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
                systabfixed = true;
                if ((err = sql_update_nov2019(c, m, prev_schema, &systabfixed)) 
!= NULL) {
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
        }
@@ -3261,6 +3285,7 @@ SQLupgrades(Client c, mvc *m)
                        if ((err = sql_update_nov2019_sp1_hugeint(c, m, 
prev_schema, &systabfixed)) != NULL) {
                                TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                                freeException(err);
+                               GDKfree(prev_schema);
                                return -1;
                        }
                }
@@ -3271,6 +3296,7 @@ SQLupgrades(Client c, mvc *m)
                if ((err = sql_update_jun2020(c, m, prev_schema, &systabfixed)) 
!= NULL) {
                        TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                        freeException(err);
+                       GDKfree(prev_schema);
                        return -1;
                }
        }
@@ -3278,6 +3304,7 @@ SQLupgrades(Client c, mvc *m)
        if ((err = sql_update_jun2020_bam(c, m, prev_schema)) != NULL) {
                TRC_CRITICAL(SQL_PARSER, "%s\n", err);
                freeException(err);
+               GDKfree(prev_schema);
                return -1;
        }
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to