Update of /cvsroot/monetdb/sql/src/server
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv12834/src/server
Modified Files:
Tag: GDK-2
sql_mvc.mx sql_parser.mx sql_privileges.mx sql_scan.mx
sql_sequence.mx
Log Message:
propagated changes of Monday Sep 03 2007 - Thursday Sep 06 2007
from the development trunk to the GDK-2 branch
Index: sql_mvc.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/sql_mvc.mx,v
retrieving revision 1.187
retrieving revision 1.187.2.1
diff -u -d -r1.187 -r1.187.2.1
--- sql_mvc.mx 1 Jul 2007 14:34:36 -0000 1.187
+++ sql_mvc.mx 6 Sep 2007 13:52:00 -0000 1.187.2.1
@@ -109,7 +109,7 @@
sql_column *last; /* last accessed column */
} mvc;
-extern int mvc_init(int debug, backend_stack stk);
+extern int mvc_init(int debug, store_type store, backend_stack stk);
extern void mvc_exit(void);
extern void mvc_logmanager(void);
@@ -228,7 +228,7 @@
static int mvc_debug = 0;
int
-mvc_init(int debug, backend_stack stk)
+mvc_init(int debug, store_type store, backend_stack stk)
{
int first = 0;
char *logdir = GDKgetenv("sql_logdir");
@@ -242,7 +242,7 @@
keyword_init();
scanner_init_keywords();
- if ((first = store_init(debug, logdir, dbname, stk)) < 0) {
+ if ((first = store_init(debug, store, logdir, dbname, stk)) < 0) {
fprintf(stderr, "!mvc_init: unable to create system tables\n");
return -1;
}
Index: sql_privileges.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/sql_privileges.mx,v
retrieving revision 1.60
retrieving revision 1.60.4.1
diff -u -d -r1.60 -r1.60.4.1
--- sql_privileges.mx 22 Mar 2007 09:26:54 -0000 1.60
+++ sql_privileges.mx 6 Sep 2007 13:52:01 -0000 1.60.4.1
@@ -67,10 +67,10 @@
sql_table *auths = find_sql_table(sys, "auths");
sql_column *auth_name = find_sql_column(auths, "name");
- if (column_find_row(m->session->tr, auth_name, auth, NULL) >= 0)
+ if (table_funcs.column_find_row(m->session->tr, auth_name, auth, NULL)
>= 0)
return FALSE;
- table_insert(m->session->tr, auths, &id, auth, &grantor);
+ table_funcs.table_insert(m->session->tr, auths, &id, auth, &grantor);
return TRUE;
}
@@ -82,11 +82,11 @@
sql_table *auths = find_sql_table(sys, "auths");
sql_column *auth_name = find_sql_column(auths, "name");
- if (column_find_row(m->session->tr, auth_name, auth, NULL) >= 0)
+ if (table_funcs.column_find_row(m->session->tr, auth_name, auth, NULL)
>= 0)
return FALSE;
id = store_next_oid();
- table_insert(m->session->tr, auths, &id, auth, &grantor);
+ table_funcs.table_insert(m->session->tr, auths, &id, auth, &grantor);
return TRUE;
}
@@ -99,9 +99,9 @@
sql_table *auths = find_sql_table(sys, "auths");
sql_column *auth_name = find_sql_column(auths, "name");
- rid = column_find_row(m->session->tr, auth_name, auth, NULL);
+ rid = table_funcs.column_find_row(m->session->tr, auth_name, auth,
NULL);
if (rid >= 0)
- table_delete(m->session->tr, auths, rid);
+ table_funcs.table_delete(m->session->tr, auths, rid);
return TRUE;
}
@@ -117,19 +117,19 @@
void *auth_id, *grantee_id;
- rid = column_find_row(m->session->tr, auths_name, grantee, NULL);
+ rid = table_funcs.column_find_row(m->session->tr, auths_name, grantee,
NULL);
if (rid < 0)
return FALSE;
- grantee_id = column_find_value(m->session->tr, auths_id, rid);
+ grantee_id = table_funcs.column_find_value(m->session->tr, auths_id,
rid);
- rid = column_find_row(m->session->tr, auths_name, auth, NULL);
+ rid = table_funcs.column_find_row(m->session->tr, auths_name, auth,
NULL);
if (rid < 0) {
_DELETE(grantee_id);
return FALSE;
}
- auth_id = column_find_value(m->session->tr, auths_id, rid);
+ auth_id = table_funcs.column_find_value(m->session->tr, auths_id, rid);
- table_insert(m->session->tr, roles, grantee_id, auth_id);
+ table_funcs.table_insert(m->session->tr, roles, grantee_id, auth_id);
_DELETE(grantee_id);
_DELETE(auth_id);
return TRUE;
@@ -150,20 +150,20 @@
void *auth_id, *grantee_id;
- rid = column_find_row(m->session->tr, auths_name, grantee, NULL);
+ rid = table_funcs.column_find_row(m->session->tr, auths_name, grantee,
NULL);
if (rid < 0)
return FALSE;
- grantee_id = column_find_value(m->session->tr, auths_id, rid);
+ grantee_id = table_funcs.column_find_value(m->session->tr, auths_id,
rid);
- rid = column_find_row(m->session->tr, auths_name, auth, NULL);
+ rid = table_funcs.column_find_row(m->session->tr, auths_name, auth,
NULL);
if (rid < 0) {
_DELETE(grantee_id);
return FALSE;
}
- auth_id = column_find_value(m->session->tr, auths_id, rid);
+ auth_id = table_funcs.column_find_value(m->session->tr, auths_id, rid);
- rid = column_find_row(m->session->tr, login_id, grantee_id, role_id,
auth_id, NULL);
- table_delete(m->session->tr, roles, rid);
+ rid = table_funcs.column_find_row(m->session->tr, login_id, grantee_id,
role_id, auth_id, NULL);
+ table_funcs.table_delete(m->session->tr, roles, rid);
_DELETE(grantee_id);
_DELETE(auth_id);
return TRUE;
@@ -178,11 +178,11 @@
sql_table *auths = find_sql_table(sys, "auths");
sql_column *auths_name = find_sql_column(auths, "name");
- rid = column_find_row(m->session->tr, auths_name, auth, NULL);
+ rid = table_funcs.column_find_row(m->session->tr, auths_name, auth,
NULL);
if (rid >= 0) {
sql_column *auths_id = find_sql_column(auths, "id");
- int *p = (int *) column_find_value(m->session->tr, auths_id,
rid);
+ int *p = (int *) table_funcs.column_find_value(m->session->tr,
auths_id, rid);
if (p) {
res = *p;
@@ -201,11 +201,11 @@
sql_table *schemas = find_sql_table(sys, "schemas");
sql_column *schemas_name = find_sql_column(schemas, "name");
- rid = column_find_row(m->session->tr, schemas_name, schema, NULL);
+ rid = table_funcs.column_find_row(m->session->tr, schemas_name, schema,
NULL);
if (rid >= 0) {
sql_column *schemas_id = find_sql_column(schemas, "id");
- int *p = (int *) column_find_value(m->session->tr, schemas_id,
rid);
+ int *p = (int *) table_funcs.column_find_value(m->session->tr,
schemas_id, rid);
if (p) {
schema_id = *p;
@@ -247,7 +247,7 @@
int res = 0;
(void) sub;
- rid = column_find_row(m->session->tr, priv_obj, &obj_id, priv_auth,
&auth_id, priv_priv, &priv, NULL);
+ rid = table_funcs.column_find_row(m->session->tr, priv_obj, &obj_id,
priv_auth, &auth_id, priv_priv, &priv, NULL);
if (rid >= 0) {
/* found priv */
res = priv;
@@ -292,9 +292,9 @@
for (priv = 1; priv < privs; priv <<= 1) {
if (!(priv & privs))
continue;
- rid = column_find_row(m->session->tr, priv_obj, &obj_id,
priv_auth, &grantorid, priv_priv, &priv, NULL);
+ rid = table_funcs.column_find_row(m->session->tr, priv_obj,
&obj_id, priv_auth, &grantorid, priv_priv, &priv, NULL);
if (rid >= 0) {
- void *p = column_find_value(m->session->tr,
priv_allowed, rid);
+ void *p = table_funcs.column_find_value(m->session->tr,
priv_allowed, rid);
int allowed = *(int *)p;
_DELETE(p);
@@ -328,18 +328,18 @@
if (m->debug)
fprintf(stderr, "mvc_set_role %s\n", role);
- rid = column_find_row(m->session->tr, auths_name, role, NULL);
+ rid = table_funcs.column_find_row(m->session->tr, auths_name, role,
NULL);
if (rid >= 0) {
sql_table *roles = find_sql_table(sys, "user_role");
sql_column *role_id = find_sql_column(roles, "role_id");
sql_column *login_id = find_sql_column(roles, "login_id");
sql_column *auths_id = find_sql_column(auths, "id");
- void *p = column_find_value(m->session->tr, auths_id, rid);
+ void *p = table_funcs.column_find_value(m->session->tr,
auths_id, rid);
int id = *(int *)p;
_DELETE(p);
- rid = column_find_row(m->session->tr, login_id, &m->user_id,
role_id, &id, NULL);
+ rid = table_funcs.column_find_row(m->session->tr, login_id,
&m->user_id, role_id, &id, NULL);
if (rid >= 0) {
m->role_id = id;
@@ -406,50 +406,50 @@
privs = find_sql_table(s, "privileges");
t = find_sql_table(s, "schemas");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "types");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "functions");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "args");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "sequences");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "_tables");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "_columns");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "keys");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "idxs");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "triggers");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "keycolumns");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "tables");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "columns");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "privileges");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
/* owned by the users anyway
s = mvc_bind_schema(m, "tmp");
t = find_sql_table(s, "profile");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "_tables");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "_columns");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "keys");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "idxs");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "triggers");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
t = find_sql_table(s, "keycolumns");
- table_insert(m->session->tr, privs, &t->base.id, &pub, &p, &zero,
&zero);
+ table_funcs.table_insert(m->session->tr, privs, &t->base.id, &pub, &p,
&zero, &zero);
*/
return 0;
Index: sql_scan.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/sql_scan.mx,v
retrieving revision 1.127.2.1
retrieving revision 1.127.2.2
diff -u -d -r1.127.2.1 -r1.127.2.2
--- sql_scan.mx 3 Sep 2007 13:11:28 -0000 1.127.2.1
+++ sql_scan.mx 6 Sep 2007 13:52:02 -0000 1.127.2.2
@@ -28,7 +28,7 @@
#include <stream.h>
#include <stdio.h>
-typedef enum { LINE_1, LINE_N, BLOCKED } prot;
+typedef enum { LINE_1, LINE_N } prot;
struct scanner {
bstream *rs;
Index: sql_parser.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/sql_parser.mx,v
retrieving revision 1.248.2.4
retrieving revision 1.248.2.5
diff -u -d -r1.248.2.4 -r1.248.2.5
--- sql_parser.mx 3 Sep 2007 13:11:27 -0000 1.248.2.4
+++ sql_parser.mx 6 Sep 2007 13:52:01 -0000 1.248.2.5
@@ -728,6 +728,11 @@
m->sym = $$ = $3; YYACCEPT;
}
| SQL_DEBUG { mvc *m = (mvc*)parm;
+ if (m->scanner.mode == LINE_1) {
+ $$ = NULL;
+ yyerror("We only support debugging SQL in
interactive mode");
+ YYABORT;
+ }
m->mode = m_debug;
m->scanner.as = m->scanner.yycur;
m->scanner.key = 0;
@@ -736,6 +741,11 @@
m->sym = $$ = $3; YYACCEPT;
}
| SQL_TRACE { mvc *m = (mvc*)parm;
+ if (m->scanner.mode == LINE_1) {
+ $$ = NULL;
+ yyerror("We do not support tracing SQL in
interactive mode");
+ YYABORT;
+ }
m->mode = m_trace;
m->scanner.as = m->scanner.yycur;
m->scanner.key = 0;
Index: sql_sequence.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/sql_sequence.mx,v
retrieving revision 1.42.4.2
retrieving revision 1.42.4.3
diff -u -d -r1.42.4.2 -r1.42.4.3
--- sql_sequence.mx 3 Sep 2007 13:11:30 -0000 1.42.4.2
+++ sql_sequence.mx 6 Sep 2007 13:52:02 -0000 1.42.4.3
@@ -24,7 +24,7 @@
#include "sql_symbol.h"
#include <sql_statement.h>
-#include <bat/bat_sequence.h>
+#include <store_sequence.h>
extern stmt *sequences(mvc *sql, symbol *s);
extern char* sql_next_seq_name(mvc *sql);
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins