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

Merge with Apr2019 branch.


diffs (37 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
@@ -2214,9 +2214,30 @@ SQLupgrades(Client c, mvc *m)
                }
        }
 
-       if ((err = sql_update_apr2019_sp1(c)) != NULL) {
-               fprintf(stderr, "!%s\n", err);
-               freeException(err);
+       {
+               /* Determine if missing dependency table entry for unique keys 
is required */
+               char *qry = "select c.id from sys.dependency_types dt, 
sys._columns c, sys.keys k, sys.objects o "
+                                       "where k.id = o.id and o.name = c.name 
and c.table_id = k.table_id and dt.dependency_type_name = 'KEY' and k.type = 1 "
+                                       "and not exists (select d.id from 
sys.dependencies d where d.id = c.id and d.depend_id = k.id and d.depend_type = 
dt.dependency_type_id);";
+               res_table *output = NULL;
+               err = SQLstatementIntern(c, &qry, "update", true, false, 
&output);
+               if (err) {
+                       fprintf(stderr, "!%s\n", err);
+                       freeException(err);
+               } else {
+                       BAT *b = BATdescriptor(output->cols[0].b);
+                       if (b) {
+                               if (BATcount(b) > 0) {
+                                       if ((err = sql_update_apr2019_sp1(c)) 
!= NULL) {
+                                               fprintf(stderr, "!%s\n", err);
+                                               freeException(err);
+                                       }
+                               }
+                               BBPunfix(b->batCacheid);
+                       }
+               }
+               if (output != NULL)
+                       res_tables_destroy(output);
        }
 
        if ((err = sql_update_default(c, m)) != NULL) {
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to