Changeset: f5733b8e8c16 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f5733b8e8c16
Modified Files:
clients/mapiclient/mclient.c
sql/ChangeLog
sql/backends/monet5/sql_upgrades.c
sql/scripts/51_sys_schema_extension.sql
sql/server/sql_parser.y
sql/server/sql_scan.c
sql/test/miscellaneous/Tests/deallocate.sql
Branch: default
Log Message:
As per user request, just DEALLOCATE keyword will suffice, ie removed DEALLOC
abbreviation
diffs (120 lines):
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -2452,7 +2452,7 @@ doFile(Mapi mid, stream *fp, bool useins
break;
case 'e':
case 'E':
- /* a bit of a hack for prepare/exec/dealloc
+ /* a bit of a hack for prepare/exec/deallocate
* tests: replace "exec[ute] **" with the
* ID of the last prepared statement */
if (mode == SQL && formatter == TESTformatter) {
@@ -2470,17 +2470,12 @@ doFile(Mapi mid, stream *fp, bool useins
break;
case 'd':
case 'D':
- /* a bit of a hack for prepare/exec/dealloc
- * tests: replace "dealloc[ate] **" with the
+ /* a bit of a hack for prepare/exec/deallocate
+ * tests: replace "deallocate **" with the
* ID of the last prepared statement */
- if (mode == SQL && formatter == TESTformatter) {
- if (strncasecmp(line, "dealloc **", 10)
== 0) {
- line[8] = prepno < 10 ? ' ' :
prepno / 10 + '0';
- line[9] = prepno % 10 + '0';
- } else if (strncasecmp(line,
"deallocate **", 13) == 0) {
- line[11] = prepno < 10 ? ' ' :
prepno / 10 + '0';
- line[12] = prepno % 10 + '0';
- }
+ if (mode == SQL && formatter == TESTformatter
&& strncasecmp(line, "deallocate **", 13) == 0) {
+ line[11] = prepno < 10 ? ' ' : prepno /
10 + '0';
+ line[12] = prepno % 10 + '0';
}
break;
case 'q':
diff --git a/sql/ChangeLog b/sql/ChangeLog
--- a/sql/ChangeLog
+++ b/sql/ChangeLog
@@ -2,7 +2,7 @@
# This file is updated with Maddlog
* Fri Dec 13 2019 Pedro Ferreira <[email protected]>
-- Added deallocate statements with the syntax 'DEALLOC[ATE] [PREPARE]
+- Added deallocate statements with the syntax 'DEALLOCATE [PREPARE]
{ number | ALL }', to close an existing prepared statement or all,
through the SQL layer. Previously this feature was available via MAPI
exclusively with the "release" command.
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
@@ -2521,7 +2521,7 @@ sql_update_default(Client c, mvc *sql, c
pos += snprintf(buf + pos, bufsize - pos,
"ALTER TABLE sys.keywords SET READ WRITE;\n"
- "insert into sys.keywords values ('CUBE'), ('DEALLOC'),
('DEALLOCATE'), ('GROUPING'), ('ROLLUP'), ('SETS');\n");
+ "insert into sys.keywords values ('CUBE'),
('DEALLOCATE'), ('GROUPING'), ('ROLLUP'), ('SETS');\n");
pos += snprintf(buf + pos, bufsize - pos, "commit;\n");
pos += snprintf(buf + pos, bufsize - pos, "set schema \"%s\";\n",
prev_schema);
diff --git a/sql/scripts/51_sys_schema_extension.sql
b/sql/scripts/51_sys_schema_extension.sql
--- a/sql/scripts/51_sys_schema_extension.sql
+++ b/sql/scripts/51_sys_schema_extension.sql
@@ -60,7 +60,6 @@ INSERT INTO sys.keywords (keyword) VALUE
('CURRENT_TIMESTAMP'),
('CURRENT_USER'),
('DAY'),
- ('DEALLOC'),
('DEALLOCATE'),
('DEC'),
('DECIMAL'),
diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -694,7 +694,7 @@ SQLCODE SQLERROR UNDER WHENEVER
%token CHECK CONSTRAINT CREATE COMMENT NULLS FIRST LAST
%token TYPE PROCEDURE FUNCTION sqlLOADER AGGREGATE RETURNS EXTERNAL sqlNAME
DECLARE
%token CALL LANGUAGE
-%token ANALYZE MINMAX SQL_EXPLAIN SQL_PLAN SQL_DEBUG SQL_TRACE PREP PREPARE
EXEC EXECUTE DEALLOC DEALLOCATE
+%token ANALYZE MINMAX SQL_EXPLAIN SQL_PLAN SQL_DEBUG SQL_TRACE PREP PREPARE
EXEC EXECUTE DEALLOCATE
%token DEFAULT DISTINCT DROP TRUNCATE
%token FOREIGN
%token RENAME ENCRYPTED UNENCRYPTED PASSWORD GRANT REVOKE ROLE ADMIN INTO
@@ -816,7 +816,6 @@ opt_prepare:
deallocate:
DEALLOCATE
- | DEALLOC
;
create:
@@ -5761,7 +5760,6 @@ non_reserved_word:
| CLIENT { $$ = sa_strdup(SA, "client"); }
| COMMENT { $$ = sa_strdup(SA, "comment"); }
| DATA { $$ = sa_strdup(SA, "data"); }
-| DEALLOC { $$ = sa_strdup(SA, "dealloc"); }
| DECADE { $$ = sa_strdup(SA, "decade"); }
| SQL_DEBUG { $$ = sa_strdup(SA, "debug"); }
| DIAGNOSTICS { $$ = sa_strdup(SA, "diagnostics"); }
diff --git a/sql/server/sql_scan.c b/sql/server/sql_scan.c
--- a/sql/server/sql_scan.c
+++ b/sql/server/sql_scan.c
@@ -385,7 +385,6 @@ scanner_init_keywords(void)
failed += keywords_insert("PREP", PREP);
failed += keywords_insert("EXECUTE", EXECUTE);
failed += keywords_insert("EXEC", EXEC);
- failed += keywords_insert("DEALLOC", DEALLOC);
failed += keywords_insert("DEALLOCATE", DEALLOCATE);
failed += keywords_insert("INDEX", INDEX);
diff --git a/sql/test/miscellaneous/Tests/deallocate.sql
b/sql/test/miscellaneous/Tests/deallocate.sql
--- a/sql/test/miscellaneous/Tests/deallocate.sql
+++ b/sql/test/miscellaneous/Tests/deallocate.sql
@@ -1,6 +1,6 @@
prepare select "system" or ? from _tables WHERE false;
EXEC **(false);
-dealloc **;
+deallocate **;
exec **(false); --error, the last prepared statement, no longer exists;
DEALLOCATE **; --error, last prepared statement already closed
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list