Changeset: f6f49f7d3262 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f6f49f7d3262
Modified Files:
        sql/backends/monet5/sql_upgrades.c
        sql/scripts/10_sys_schema_extension.sql
Branch: default
Log Message:

LOCKED is no reserved keyword.


diffs (65 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
@@ -1208,7 +1208,7 @@ sql_update_jun2020(Client c, mvc *sql)
        pos += snprintf(buf + pos, bufsize - pos,
                        "drop view sys.sessions;\n"
                        "drop function sys.sessions;\n"
-                       "create function sys.sessions()\n"
+                       "create function sys.sessions()\n"
                        "returns table(\n"
                                "\"sessionid\" int,\n"
                                "\"username\" string,\n"
@@ -1219,7 +1219,7 @@ sql_update_jun2020(Client c, mvc *sql)
                                "\"querytimeout\" int,\n"
                                "\"workerlimit\" int,\n"
                                "\"memorylimit\" int)\n"
-                       " external name sql.sessions;\n"
+                       " external name sql.sessions;\n"
                        "create view sys.sessions as select * from 
sys.sessions();\n");
 
        pos += snprintf(buf + pos, bufsize - pos,
@@ -4844,6 +4844,32 @@ sql_update_default(Client c, mvc *sql)
                err = SQLstatementIntern(c, buf, "update", true, false, NULL);
        }
        res_table_destroy(output);
+       output = NULL;
+
+       /* 10_sys_schema_extensions */
+       /* if the keyword LOCKED is in the list of keywords, upgrade */
+       pos = snprintf(buf, bufsize, "select keyword from sys.keywords where 
keyword = 'LOCKED';\n");
+       assert(pos < bufsize);
+       if ((err = SQLstatementIntern(c, buf, "update", true, false, &output)))
+               goto bailout;
+       if ((b = BBPquickdesc(output->cols[0].b)) && BATcount(b) > 0) {
+               pos = snprintf(buf, bufsize,
+                       "ALTER TABLE sys.keywords SET READ WRITE;\n"
+                       "DELETE FROM sys.keywords WHERE keyword IN 
('LOCKED');\n");
+               assert(pos < bufsize);
+               printf("Running database upgrade commands:\n%s\n", buf);
+               err = SQLstatementIntern(c, buf, "update", true, false, NULL);
+               if (err == MAL_SUCCEED) {
+                       pos = snprintf(buf, bufsize, "ALTER TABLE sys.keywords 
SET READ ONLY;\n");
+                       assert(pos < bufsize);
+                       printf("Running database upgrade commands:\n%s\n", buf);
+                       err = SQLstatementIntern(c, buf, "update", true, false, 
NULL);
+               }
+       }
+
+bailout:
+       if (output)
+               res_table_destroy(output);
        GDKfree(buf);
        return err;             /* usually MAL_SUCCEED */
 }
diff --git a/sql/scripts/10_sys_schema_extension.sql 
b/sql/scripts/10_sys_schema_extension.sql
--- a/sql/scripts/10_sys_schema_extension.sql
+++ b/sql/scripts/10_sys_schema_extension.sql
@@ -158,7 +158,6 @@ INSERT INTO sys.keywords (keyword) VALUE
   ('LOCAL'),
   ('LOCALTIME'),
   ('LOCALTIMESTAMP'),
-  ('LOCKED'),
   ('MATCH'),
   ('MATCHED'),
   ('MAXVALUE'),
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to