Changeset: 49c32f04dcb3 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=49c32f04dcb3
Modified Files:
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_user.c
sql/common/sql_string.c
sql/common/sql_string.h
sql/server/rel_dump.c
sql/server/rel_exp.c
sql/server/rel_psm.c
sql/server/sql_atom.c
sql/server/sql_atom.h
sql/server/sql_decimal.c
sql/server/sql_decimal.h
sql/server/sql_mvc.c
sql/server/sql_privileges.c
sql/server/sql_qc.c
sql/server/sql_qc.h
sql/server/sql_semantic.c
sql/storage/bat/bat_table.c
sql/storage/sql_storage.h
Branch: context
Log Message:
more allocator changes
diffs (truncated from 750 to 300 lines):
diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -4787,7 +4787,7 @@ check_for_foreign_key_references(mvc *sq
found =
1;
}
if(!found) {
- if((new_node =
MNEW(struct tablelist)) == NULL) {
+ if((new_node =
SA_NEW(sql->ta, struct tablelist)) == NULL) {
sql_error(sql, 02, SQLSTATE(HY001) MAL_MALLOC_FAIL);
*error
= 1;
return;
@@ -4821,7 +4821,7 @@ sql_truncate(backend *be, sql_table *t,
sql_trans *tr = sql->session->tr;
node *n = NULL;
int error = 0;
- struct tablelist* new_list = MNEW(struct tablelist), *list_node, *aux;
+ struct tablelist* new_list = SA_NEW(sql->ta, struct tablelist),
*list_node;
if(!new_list) {
sql_error(sql, 02, SQLSTATE(HY001) MAL_MALLOC_FAIL);
@@ -4843,7 +4843,7 @@ sql_truncate(backend *be, sql_table *t,
for (n = next->columns.set->h; n; n = n->next) {
col = n->data;
if (col->def && (seq_pos = strstr(col->def,
next_value_for))) {
- seq_name = _STRDUP(seq_pos +
(strlen(next_value_for) - strlen("seq_")));
+ seq_name = sa_strdup(sql->ta, seq_pos +
(strlen(next_value_for) - strlen("seq_")));
if(!seq_name) {
sql_error(sql, 02,
SQLSTATE(HY001) MAL_MALLOC_FAIL);
error = 1;
@@ -4856,7 +4856,6 @@ sql_truncate(backend *be, sql_table *t,
seq->base.wtime =
sche->base.wtime = tr->wtime = tr->wstime;
tr->schema_updates++;
}
- _DELETE(seq_name);
}
}
}
@@ -4911,12 +4910,7 @@ sql_truncate(backend *be, sql_table *t,
}
finalize:
- for (list_node = new_list; list_node;) {
- aux = list_node->next;
- _DELETE(list_node);
- list_node = aux;
- }
-
+ sa_reset(sql->ta);
if(error)
return NULL;
return ret;
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
@@ -672,9 +672,6 @@ cleanup_engine:
m->session->status = -10;
}
- if (m->type != Q_SCHEMA && be->q && msg) {
- qc_delete(m->qc, be->q);
- }
be->q = NULL;
sqlcleanup(be, (!msg) ? 0 : -1);
MSresetInstructions(c->curprg->def, 1);
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
@@ -49,7 +49,6 @@
static int SQLinitialized = 0;
static int SQLnewcatalog = 0;
int SQLdebug = 0;
-static const char *sqlinit = NULL;
static MT_Lock sql_contextLock = MT_LOCK_INITIALIZER("sql_contextLock");
static void
@@ -79,7 +78,6 @@ SQLprelude(Client cntxt, MalBlkPtr mb, M
(void) pci;
if (!s)
throw(MAL, "sql.start", SQLSTATE(42000) "out of scenario
slots");
- sqlinit = GDKgetenv("sqlinit");
*s = (struct SCENARIO) {
.name = "S_Q_L",
.language = "sql",
@@ -369,6 +367,8 @@ SQLinit(Client c)
throw(SQL, "SQLinit", SQLSTATE(42000) "Catalogue initialization
failed");
}
SQLinitialized = TRUE;
+#if 0
+ //static const char *sqlinit = NULL;
sqlinit = GDKgetenv("sqlinit");
if (sqlinit) { /* add sqlinit to the fdin stack */
buffer *b = (buffer *) GDKmalloc(sizeof(buffer));
@@ -403,6 +403,7 @@ SQLinit(Client c)
if( MCpushClientInput(c, fdin, 0, "") < 0)
fprintf(stderr, "SQLinit:Could not switch client input
stream");
}
+#endif
if ((msg = SQLprepareClient(c, 0)) != NULL) {
MT_lock_unset(&sql_contextLock);
fprintf(stderr, "%s\n", msg);
diff --git a/sql/backends/monet5/sql_statement.c
b/sql/backends/monet5/sql_statement.c
--- a/sql/backends/monet5/sql_statement.c
+++ b/sql/backends/monet5/sql_statement.c
@@ -2172,13 +2172,13 @@ dump_export_header(mvc *sql, MalBlkPtr m
const char *tn = (tname) ? tname : _empty;
const char *sn = (sname) ? sname : _empty;
const char *cn = column_name(sql->sa, c);
- const char *ntn = sql_escape_ident(tn);
- const char *nsn = sql_escape_ident(sn);
+ const char *ntn = sql_escape_ident(sql->ta, tn);
+ const char *nsn = sql_escape_ident(sql->ta, sn);
size_t fqtnl;
char *fqtn = NULL;
if (ntn && nsn && (fqtnl = strlen(ntn) + 1 + strlen(nsn) + 1) ){
- fqtn = NEW_ARRAY(char, fqtnl);
+ fqtn = SA_NEW_ARRAY(sql->ta, char, fqtnl);
if(fqtn) {
snprintf(fqtn, fqtnl, "%s.%s", nsn, ntn);
metaInfo(tblId, Str, fqtn);
@@ -2187,16 +2187,14 @@ dump_export_header(mvc *sql, MalBlkPtr m
metaInfo(lenId, Int, t->digits);
metaInfo(scaleId, Int, t->scale);
list = pushArgument(mb, list, c->nr);
- _DELETE(fqtn);
} else
q = NULL;
} else
q = NULL;
- c_delete(ntn);
- c_delete(nsn);
if (q == NULL)
return -1;
}
+ sa_reset(sql->ta);
// add the correct variable ids
getArg(list,k++) = tblId;
getArg(list,k++) = nmeId;
@@ -2440,13 +2438,13 @@ dump_header(mvc *sql, MalBlkPtr mb, stmt
const char *tn = (tname) ? tname : _empty;
const char *sn = (sname) ? sname : _empty;
const char *cn = column_name(sql->sa, c);
- const char *ntn = sql_escape_ident(tn);
- const char *nsn = sql_escape_ident(sn);
+ const char *ntn = sql_escape_ident(sql->ta, tn);
+ const char *nsn = sql_escape_ident(sql->ta, sn);
size_t fqtnl;
char *fqtn = NULL;
if (ntn && nsn && (fqtnl = strlen(ntn) + 1 + strlen(nsn) + 1) ){
- fqtn = NEW_ARRAY(char, fqtnl);
+ fqtn = SA_NEW_ARRAY(sql->ta, char, fqtnl);
if(fqtn) {
snprintf(fqtn, fqtnl, "%s.%s", nsn, ntn);
metaInfo(tblId,Str,fqtn);
@@ -2455,16 +2453,14 @@ dump_header(mvc *sql, MalBlkPtr mb, stmt
metaInfo(lenId,Int,t->digits);
metaInfo(scaleId,Int,t->scale);
list = pushArgument(mb,list,c->nr);
- _DELETE(fqtn);
} else
q = NULL;
} else
q = NULL;
- c_delete(ntn);
- c_delete(nsn);
if (q == NULL)
return NULL;
}
+ sa_reset(sql->ta);
// add the correct variable ids
getArg(list,k++) = tblId;
getArg(list,k++) = nmeId;
@@ -2499,15 +2495,15 @@ stmt_output(backend *be, stmt *lst)
const char *tn = (tname) ? tname : _empty;
const char *sn = (sname) ? sname : _empty;
const char *cn = column_name(be->mvc->sa, c);
- const char *ntn = sql_escape_ident(tn);
- const char *nsn = sql_escape_ident(sn);
+ const char *ntn = sql_escape_ident(be->mvc->ta, tn);
+ const char *nsn = sql_escape_ident(be->mvc->ta, sn);
size_t fqtnl;
char *fqtn = NULL;
if(ntn && nsn) {
fqtnl = strlen(ntn) + 1 + strlen(nsn) + 1;
- fqtn = NEW_ARRAY(char, fqtnl);
- if(fqtn) {
+ fqtn = SA_NEW_ARRAY(be->mvc->ta, char, fqtnl);
+ if (fqtn) {
ok = 1;
snprintf(fqtn, fqtnl, "%s.%s", nsn, ntn);
@@ -2524,9 +2520,7 @@ stmt_output(backend *be, stmt *lst)
}
}
}
- c_delete(ntn);
- c_delete(nsn);
- _DELETE(fqtn);
+ sa_reset(be->mvc->ta);
if(!ok)
return NULL;
} else {
diff --git a/sql/backends/monet5/sql_user.c b/sql/backends/monet5/sql_user.c
--- a/sql/backends/monet5/sql_user.c
+++ b/sql/backends/monet5/sql_user.c
@@ -38,12 +38,8 @@ sql_find_auth_schema(mvc *m, str auth)
if (!is_oid_nil(rid)) {
sql_column *users_schema = find_sql_column(users,
"default_schema");
- int *p = (int *) table_funcs.column_find_value(m->session->tr,
users_schema, rid);
- if (p) {
- res = *p;
- _DELETE(p);
- }
+ res = table_funcs.column_find_int(m->session->tr, users_schema,
rid);
}
return res;
}
@@ -61,9 +57,9 @@ monet5_drop_user(ptr _mvc, str user)
Client c = MCgetClient(m->clientid);
err = AUTHremoveUser(c, user);
- if (err !=MAL_SUCCEED) {
+ if (err != MAL_SUCCEED) {
(void) sql_error(m, 02, "DROP USER: %s",
getExceptionMessage(err));
- _DELETE(err);
+ GDKfree(err);
return FALSE;
}
sys = find_sql_schema(m->session->tr, "sys");
@@ -129,7 +125,7 @@ monet5_find_user(ptr mp, str user)
str err;
if ((err = AUTHgetUsers(&uid, &nme, c)) != MAL_SUCCEED) {
- _DELETE(err);
+ GDKfree(err);
return -1;
}
p = BUNfnd(nme, user);
@@ -443,7 +439,6 @@ monet5_user_get_def_schema(mvc *m, int u
sql_table *auths = NULL;
sql_column *auths_id = NULL;
sql_column *auths_name = NULL;
- void *p = 0;
str username = NULL;
str schema = NULL;
@@ -460,12 +455,9 @@ monet5_user_get_def_schema(mvc *m, int u
users_schema = find_sql_column(user_info, "default_schema");
rid = table_funcs.column_find_row(m->session->tr, users_name, username,
NULL);
if (!is_oid_nil(rid))
- p = table_funcs.column_find_value(m->session->tr, users_schema,
rid);
+ schema_id = table_funcs.column_find_sqlid(m->session->tr,
users_schema, rid);
_DELETE(username);
- assert(p);
- schema_id = *(sqlid *) p;
- _DELETE(p);
schemas = find_sql_table(sys, "schemas");
schemas_name = find_sql_column(schemas, "name");
@@ -495,8 +487,6 @@ monet5_user_set_def_schema(mvc *m, oid u
sql_column *auths_name = NULL;
str other;
- void *p = 0;
-
str schema = NULL;
str username = NULL;
str err = NULL;
@@ -521,11 +511,7 @@ monet5_user_set_def_schema(mvc *m, oid u
rid = table_funcs.column_find_row(m->session->tr, users_name, username,
NULL);
if (!is_oid_nil(rid))
- p = table_funcs.column_find_value(m->session->tr, users_schema,
rid);
-
- assert(p);
- schema_id = *(sqlid *) p;
- _DELETE(p);
+ schema_id = table_funcs.column_find_sqlid(m->session->tr,
users_schema, rid);
schemas = find_sql_table(sys, "schemas");
schemas_name = find_sql_column(schemas, "name");
@@ -541,12 +527,8 @@ monet5_user_set_def_schema(mvc *m, oid u
rid = table_funcs.column_find_row(m->session->tr, auths_name, username,
NULL);
if (!is_oid_nil(rid)) {
sql_column *auths_id = find_sql_column(auths, "id");
- int id;
- p = table_funcs.column_find_value(m->session->tr, auths_id,
rid);
- id = *(int *) p;
- _DELETE(p);
- m->user_id = m->role_id = id;
+ m->user_id = m->role_id =
table_funcs.column_find_int(m->session->tr, auths_id, rid);
} else {
schema = NULL;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list