Changeset: fbbcf80e848b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/fbbcf80e848b
Modified Files:
sql/backends/monet5/Tests/All
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_scenario.c
Branch: default
Log Message:
don't allow interal sql statements too create temporary sql clients.
diffs (69 lines):
diff --git a/sql/backends/monet5/Tests/All b/sql/backends/monet5/Tests/All
--- a/sql/backends/monet5/Tests/All
+++ b/sql/backends/monet5/Tests/All
@@ -1,6 +1,6 @@
optimizers
-simpleSQL
+#simpleSQL
limithack
shutdown
diff --git a/sql/backends/monet5/sql_execute.c
b/sql/backends/monet5/sql_execute.c
--- a/sql/backends/monet5/sql_execute.c
+++ b/sql/backends/monet5/sql_execute.c
@@ -139,7 +139,7 @@ str
SQLstatementIntern(Client c, const char *expr, const char *nme, bit execute,
bit output, res_table **result)
{
allocator_state ta_state = ma_open(MT_thread_getallocator());
- int status = 0, err = 0, oldvtop, oldstop = 1, inited = 0, ac,
sizeframes, topframes;
+ int status = 0, err = 0, oldvtop, oldstop = 1, ac, sizeframes,
topframes;
unsigned int label;
mvc *o = NULL, *m = NULL;
sql_frame **frames;
@@ -153,11 +153,8 @@ SQLstatementIntern(Client c, const char
Symbol backup = NULL;
size_t len = strlen(expr);
- if (!sql) {
- inited = 1;
- msg = SQLinitClient(c, NULL, NULL, NULL);
- sql = (backend *) c->sqlcontext;
- }
+ if (!sql)
+ throw(SQL, "sql.statement", SQLSTATE(HY002) "No sql context
available");
if (msg){
ma_close(&ta_state);
throw(SQL, "sql.statement", SQLSTATE(HY002) "Catalogue not
available");
@@ -167,9 +164,6 @@ SQLstatementIntern(Client c, const char
ac = m->session->auto_commit;
o = MNEW(mvc);
if (!o) {
- if (inited) {
- msg = SQLresetClient(c);
- }
ma_close(&ta_state);
throw(SQL, "sql.statement", SQLSTATE(HY013) MAL_MALLOC_FAIL);
}
@@ -390,9 +384,6 @@ endofcompile:
m->frames = frames;
m->session->status = status;
m->session->auto_commit = ac;
- if (inited) {
- (void) SQLresetClient(c);
- }
ma_close(&ta_state);
return msg;
}
diff --git a/sql/backends/monet5/sql_scenario.c
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -1052,6 +1052,8 @@ SQLstatement(Client cntxt, MalBlkPtr mb,
if (pci->argc == 3 && *getArgReference_bit(stk, pci, 2))
cntxt->protocol = PROTOCOL_COLUMNAR;
+ if (!cntxt->sqlcontext)
+ throw(SQL, "SQLstatement", SQLSTATE(42000) "No sql context
available");
str msg = SQLstatementIntern(cntxt, expr, "SQLstatement", TRUE, TRUE,
NULL);
cntxt->protocol = backup;
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]