Changeset: de4c738053f9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=de4c738053f9
Modified Files:
        sql/backends/monet5/sql_gencode.c
        sql/server/rel_psm.c
        sql/server/rel_schema.c
        sql/server/rel_select.c
        sql/server/rel_sequence.c
        sql/server/rel_updates.c
        sql/server/sql_semantic.c
        sql/server/sql_semantic.h
Branch: scoping
Log Message:

Use 'qname_schema_object' to reference an object under a schema from the parser


diffs (truncated from 664 to 300 lines):

diff --git a/sql/backends/monet5/sql_gencode.c 
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -1208,7 +1208,7 @@ mal_function_find_implementation_address
        assert(m->sym->token == SQL_CREATE_FUNC);
        l = m->sym->data.lval;
        ext_name = l->h->next->next->next->data.lval;
-       f->imp = sa_strdup(f->sa, qname_fname(ext_name)); /* found the 
implementation, set it */
+       f->imp = sa_strdup(f->sa, qname_schema_object(ext_name)); /* found the 
implementation, set it */
 
 bailout:
        if (m) {
diff --git a/sql/server/rel_psm.c b/sql/server/rel_psm.c
--- a/sql/server/rel_psm.c
+++ b/sql/server/rel_psm.c
@@ -82,7 +82,7 @@ rel_psm_stmt(sql_allocator *sa, sql_exp 
        return NULL;
 }
 
-/* SET variable = value and set (variable1, .., variableN) = (query) */
+/* SET [ schema '.' ] variable = value and set ( [ schema1 '.' ] variable1, 
.., [ schemaN '.' ] variableN) = (query) */
 static sql_exp *
 psm_set_exp(sql_query *query, dnode *n)
 {
@@ -222,7 +222,7 @@ rel_psm_declare_table(sql_query *query, 
        mvc *sql = query->sql;
        sql_rel *rel = NULL, *baset = NULL;
        dlist *qname = n->next->data.lval;
-       const char *name = qname_table(qname);
+       const char *name = qname_schema_object(qname);
        const char *sname = qname_schema(qname);
        sql_table *t;
 
@@ -808,7 +808,7 @@ static sql_rel *
 rel_create_func(sql_query *query, dlist *qname, dlist *params, symbol *res, 
dlist *ext_name, dlist *body, sql_ftype type, sql_flang lang, int replace)
 {
        mvc *sql = query->sql;
-       const char *fname = qname_table(qname);
+       const char *fname = qname_schema_object(qname);
        const char *sname = qname_schema(qname);
        sql_schema *s = NULL;
        sql_func *f = NULL;
@@ -996,7 +996,7 @@ rel_create_func(sql_query *query, dlist 
                                return rel_psm_block(sql->sa, b);
                } else { /* MAL implementation */
                        char *fmod = qname_module(ext_name);
-                       char *fnme = qname_fname(ext_name);
+                       char *fnme = qname_schema_object(ext_name);
                        int clientid = sql->clientid;
 
                        if (!fmod || !fnme)
@@ -1137,7 +1137,7 @@ resolve_func( mvc *sql, sql_schema *s, c
 static sql_rel* 
 rel_drop_func(mvc *sql, dlist *qname, dlist *typelist, int drop_action, 
sql_ftype type, int if_exists)
 {
-       const char *name = qname_table(qname);
+       const char *name = qname_schema_object(qname);
        const char *sname = qname_schema(qname);
        sql_schema *s = NULL;
        sql_func *func = NULL;
@@ -1167,7 +1167,7 @@ rel_drop_func(mvc *sql, dlist *qname, dl
 static sql_rel* 
 rel_drop_all_func(mvc *sql, dlist *qname, int drop_action, sql_ftype type)
 {
-       const char *name = qname_table(qname);
+       const char *name = qname_schema_object(qname);
        const char *sname = qname_schema(qname);
        sql_schema *s = NULL;
        list * list_func = NULL;
@@ -1228,9 +1228,9 @@ create_trigger(sql_query *query, dlist *
 {
        mvc *sql = query->sql;
        const char *triggerschema = qname_schema(qname);
-       const char *triggername = qname_table(qname);
+       const char *triggername = qname_schema_object(qname);
        const char *sname = qname_schema(tqname);
-       const char *tname = qname_table(tqname);
+       const char *tname = qname_schema_object(tqname);
        sql_schema *ss = cur_schema(sql);
        sql_table *t = NULL;
        sql_trigger *st = NULL;
@@ -1382,7 +1382,7 @@ static sql_rel *
 drop_trigger(mvc *sql, dlist *qname, int if_exists)
 {
        const char *sname = qname_schema(qname);
-       const char *tname = qname_table(qname);
+       const char *tname = qname_schema_object(qname);
        sql_schema *ss = cur_schema(sql);
 
        if (!sname)
@@ -1424,11 +1424,11 @@ psm_analyze(sql_query *query, char *anal
                if (qname->h->next)
                        sname = qname_schema(qname);
                else
-                       sname = qname_table(qname);
+                       sname = qname_schema_object(qname);
                if (!sname)
                        sname = cur_schema(sql)->base.name;
                if (qname->h->next)
-                       tname = qname_table(qname);
+                       tname = qname_schema_object(qname);
        }
        /* call analyze( [schema, [ table ]], opt_sample_size, opt_minmax ) */
        if (sname) {
@@ -1480,7 +1480,7 @@ create_table_from_loader(sql_query *quer
        mvc *sql = query->sql;
        sql_schema *s = NULL;
        char *sname = qname_schema(qname);
-       char *tname = qname_table(qname);
+       char *tname = qname_schema_object(qname);
        sql_subfunc *loader = NULL;
        sql_rel* rel = NULL;
 
diff --git a/sql/server/rel_schema.c b/sql/server/rel_schema.c
--- a/sql/server/rel_schema.c
+++ b/sql/server/rel_schema.c
@@ -22,10 +22,6 @@
 
 #include "mal_authorize.h"
 
-#define qname_index(qname) qname_table(qname)
-#define qname_func(qname) qname_table(qname)
-#define qname_type(qname) qname_table(qname)
-
 static sql_table *
 _bind_table(sql_table *t, sql_schema *ss, sql_schema *s, char *name)
 {
@@ -342,7 +338,7 @@ column_constraint_type(mvc *sql, const c
        case SQL_FOREIGN_KEY: {
                dnode *n = s->data.lval->h;
                char *rsname = qname_schema(n->data.lval);
-               char *rtname = qname_table(n->data.lval);
+               char *rtname = qname_schema_object(n->data.lval);
                int ref_actions = n->next->next->next->data.i_val; 
                sql_schema *rs;
                sql_table *rt;
@@ -528,7 +524,7 @@ table_foreign_key(mvc *sql, char *name, 
 {
        dnode *n = s->data.lval->h;
        char *rsname = qname_schema(n->data.lval);
-       char *rtname = qname_table(n->data.lval);
+       char *rtname = qname_schema_object(n->data.lval);
        sql_schema *fs;
        sql_table *ft;
 
@@ -861,7 +857,7 @@ table_element(sql_query *query, symbol *
        case SQL_LIKE:
        {
                char *sname = qname_schema(s->data.lval);
-               char *name = qname_table(s->data.lval);
+               char *name = qname_schema_object(s->data.lval);
                sql_schema *os = NULL;
                sql_table *ot = NULL;
                node *n;
@@ -1149,7 +1145,7 @@ static sql_rel *
 rel_create_view(sql_query *query, sql_schema *ss, dlist *qname, dlist 
*column_spec, symbol *ast, int check, int persistent, int replace)
 {
        mvc *sql = query->sql;
-       char *name = qname_table(qname);
+       char *name = qname_schema_object(qname);
        char *sname = qname_schema(qname);
        sql_schema *s = NULL;
        sql_table *t = NULL;
@@ -1286,7 +1282,7 @@ rel_schema3(sql_allocator *sa, int cat_t
 static sql_rel *
 rel_drop_type(mvc *sql, dlist *qname, int drop_action)
 {
-       char *name = qname_table(qname);
+       char *name = qname_schema_object(qname);
        char *sname = qname_schema(qname);
        sql_schema *s = NULL;
 
@@ -1306,7 +1302,7 @@ rel_drop_type(mvc *sql, dlist *qname, in
 static sql_rel *
 rel_create_type(mvc *sql, dlist *qname, char *impl)
 {
-       char *name = qname_table(qname);
+       char *name = qname_schema_object(qname);
        char *sname = qname_schema(qname);
        sql_schema *s = NULL;
 
@@ -1451,7 +1447,7 @@ sql_alter_table(sql_query *query, dlist 
 {
        mvc *sql = query->sql;
        char *sname = qname_schema(qname);
-       char *tname = qname_table(qname);
+       char *tname = qname_schema_object(qname);
        sql_schema *s = NULL;
        sql_table *t = NULL;
 
@@ -1483,7 +1479,7 @@ sql_alter_table(sql_query *query, dlist 
                        sql_schema *spt = NULL;
                        sql_table *pt = NULL;
                        char *nsname = qname_schema(nqname);
-                       char *ntname = qname_table(nqname);
+                       char *ntname = qname_schema_object(nqname);
 
                        /* partition sname */
                        if (!nsname)
@@ -1781,7 +1777,7 @@ rel_grant_table(mvc *sql, sql_schema *cu
        dnode *gn;
        int all = PRIV_SELECT | PRIV_UPDATE | PRIV_INSERT | PRIV_DELETE | 
PRIV_TRUNCATE;
        char *sname = qname_schema(qname);
-       char *tname = qname_table(qname);
+       char *tname = qname_schema_object(qname);
 
        if (!sname)
                sname = cur->base.name;
@@ -1849,7 +1845,7 @@ rel_grant_func(mvc *sql, sql_schema *cur
        sql_rel *res = NULL;
        dnode *gn;
        char *sname = qname_schema(qname);
-       char *fname = qname_func(qname);
+       char *fname = qname_schema_object(qname);
        sql_schema *s = NULL;
        sql_func *func = NULL;
 
@@ -1902,7 +1898,7 @@ rel_grant_privs(mvc *sql, sql_schema *cu
        if (token == SQL_NAME) {
                dlist *qname = obj->data.lval;
                char *sname = qname_schema(qname);
-               char *tname = qname_table(qname);
+               char *tname = qname_schema_object(qname);
                sql_schema *s = cur;
 
                if (sname)
@@ -1965,7 +1961,7 @@ rel_revoke_table(mvc *sql, sql_schema *c
        sql_rel *res = NULL;
        int all = PRIV_SELECT | PRIV_UPDATE | PRIV_INSERT | PRIV_DELETE | 
PRIV_TRUNCATE;
        char *sname = qname_schema(qname);
-       char *tname = qname_table(qname);
+       char *tname = qname_schema_object(qname);
 
        if (!sname)
                sname = cur->base.name;
@@ -2033,7 +2029,7 @@ rel_revoke_func(mvc *sql, sql_schema *cu
        dnode *gn;
        sql_rel *res = NULL;
        char *sname = qname_schema(qname);
-       char *fname = qname_func(qname);
+       char *fname = qname_schema_object(qname);
        sql_func *func = NULL;
 
        sql_schema *s = NULL;
@@ -2086,7 +2082,7 @@ rel_revoke_privs(mvc *sql, sql_schema *c
        if (token == SQL_NAME) {
                dlist *qname = obj->data.lval;
                char *sname = qname_schema(qname);
-               char *tname = qname_table(qname);
+               char *tname = qname_schema_object(qname);
                sql_schema *s = cur;
 
                if (sname)
@@ -2126,7 +2122,7 @@ rel_create_index(mvc *sql, char *iname, 
        sql_idx *i;
        dnode *n;
        char *sname = qname_schema(qname);
-       char *tname = qname_table(qname);
+       char *tname = qname_schema_object(qname);
 
        if (sname && !(s = mvc_bind_schema(sql, sname))) 
                return sql_error(sql, 02, SQLSTATE(3F000) "CREATE INDEX: no 
such schema '%s'", sname);
@@ -2264,7 +2260,7 @@ rel_find_designated_table(mvc *sql, symb
        qname = sym->data.lval;
        if (!(s = current_or_designated_schema(sql, qname_schema(qname))))
                return 0;
-       tname = qname_table(qname);
+       tname = qname_schema_object(qname);
        t = mvc_bind_table(sql, s, tname);
        if (t && !want_table == !isKindOfTable(t)) {    /* comparing booleans 
can be tricky */
                *schema_out = s;
@@ -2326,7 +2322,7 @@ rel_find_designated_index(mvc *sql, symb
        qname = sym->data.lval;
        if (!(s = current_or_designated_schema(sql, qname_schema(qname))))
                return 0;
-       iname = qname_table(qname);
+       iname = qname_schema_object(qname);
        idx = mvc_bind_idx(sql, s, iname);
        if (idx) {
                *schema_out = s;
@@ -2351,7 +2347,7 @@ rel_find_designated_sequence(mvc *sql, s
        qname = sym->data.lval;
        if (!(s = current_or_designated_schema(sql, qname_schema(qname))))
                return 0;
-       seqname = qname_table(qname);
+       seqname = qname_schema_object(qname);
        seq = find_sql_sequence(s, seqname);
        if (seq) {
                *schema_out = s;
@@ -2385,7 +2381,7 @@ rel_find_designated_routine(mvc *sql, sy
        if (!(s = current_or_designated_schema(sql, qname_schema(qname))))
                return 0;
 
-       fname = qname_func(qname);
+       fname = qname_schema_object(qname);
        func = resolve_func(sql, s, fname, typelist, func_type, "COMMENT", 0);
        if (!func && func_type == F_FUNC) {
                // functions returning a table have a special type
@@ -2694,7 +2690,7 @@ rel_schemas(sql_query *query, symbol *s)
                dlist *l = s->data.lval;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to