Changeset: 186a8b4fad56 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=186a8b4fad56
Removed Files:
        ChangeLog.sqlextra
Modified Files:
        sql/ChangeLog
        sql/backends/monet5/rel_bin.c
        sql/server/rel_psm.c
        sql/test/Tests/create-or-replace-triggers.stable.err
        sql/test/pg_regress/Tests/create_view.stable.err
        sql/test/pg_regress/Tests/float8.stable.err
        sql/test/pg_regress/Tests/float8.stable.err.Windows
        sql/test/pg_regress/Tests/float8.stable.err.int128
Branch: sqlextra
Log Message:

Compilation fixes and more tests approval


diffs (215 lines):

diff --git a/ChangeLog.sqlextra b/ChangeLog.sqlextra
deleted file mode 100644
--- a/ChangeLog.sqlextra
+++ /dev/null
@@ -1,14 +0,0 @@
-# ChangeLog file for MonetDB-sqlextra
-# This file is updated with Maddlog
-
-* Wed Aug 30 2017 Pedro Ferreira <pedro.ferre...@monetdbsolutions.com>
-- A column default value can be used in a UPDATE statement: UPDATE tname
-  SET cname = DEFAULT, and INSERT statements: INSERT INTO tname VALUES
-  (..., DEFAULT, ...)
-- Added TRUNCATE statements into the SQL catalog, conforming to the SQL
-  standard. In a TRUNCATE statement a 'CONTINUE IDENTITY' or 'RESTART
-  IDENTITY' clause can be passed mrestart or not, being the former the
-  default one. The options 'RESTRICT' and 'CASCADE' tell if the table has
-  foreign key references, the referencing tables should be truncated as
-  well. This happens on 'CASCADE' and 'RESTRICT' is the default behavior.
-
diff --git a/sql/ChangeLog b/sql/ChangeLog
--- a/sql/ChangeLog
+++ b/sql/ChangeLog
@@ -1,6 +1,17 @@
 # ChangeLog file for sql
 # This file is updated with Maddlog
 
+* Wed Aug 30 2017 Pedro Ferreira <pedro.ferre...@monetdbsolutions.com>
+- A column default value can be used in a UPDATE statement: UPDATE tname
+  SET cname = DEFAULT, and INSERT statements: INSERT INTO tname VALUES
+  (..., DEFAULT, ...)
+- Added TRUNCATE statements into the SQL catalog, conforming to the SQL
+  standard. In a TRUNCATE statement a 'CONTINUE IDENTITY' or 'RESTART
+  IDENTITY' clause can be passed mrestart or not, being the former the
+  default one. The options 'RESTRICT' and 'CASCADE' tell if the table has
+  foreign key references, the referencing tables should be truncated as
+  well. This happens on 'CASCADE' and 'RESTRICT' is the default behavior.
+
 * Tue Aug  1 2017 Sjoerd Mullender <sjo...@acm.org>
 - Lots of changes to streamline the internal error handling.
   In principle, all errors should now include a SQLSTATE error code
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
@@ -4456,7 +4456,7 @@ static stmt *
 sql_delete(backend *be, sql_table *t, stmt *rows)
 {
        mvc *sql = be->mvc;
-       stmt *v, *s = NULL;
+       stmt *v = NULL, *s = NULL;
        list *l = sa_list(sql->sa);
 
        if (rows) {
@@ -4495,7 +4495,7 @@ static stmt *
 rel2bin_delete(backend *be, sql_rel *rel, list *refs)
 {
        mvc *sql = be->mvc;
-       stmt *rows = NULL, *delete;
+       stmt *rows = NULL, *stdelete = NULL;
        sql_rel *tr = rel->l;
        sql_table *t = NULL;
 
@@ -4513,10 +4513,10 @@ rel2bin_delete(backend *be, sql_rel *rel
                stmt *s = rows;
                rows = s->op4.lval->h->data;
        }
-       delete = sql_delete(be, t, rows); 
+       stdelete = sql_delete(be, t, rows);
        if (sql->cascade_action) 
                sql->cascade_action = NULL;
-       return delete;
+       return stdelete;
 }
 
 struct tablelist {
@@ -4576,16 +4576,16 @@ sql_truncate(backend *be, sql_table *t, 
 {
        mvc *sql = be->mvc;
        list *l = sa_list(sql->sa);
-       stmt *v, *error = NULL, *ret, *other;
+       stmt *v, *error = NULL, *ret = NULL, *other = NULL;
        const char *next_value_for = "next value for \"sys\".\"seq_";
-       char *seq_name;
+       char *seq_name = NULL;
        str seq_pos = NULL;
-       sql_column *col;
-       sql_sequence *seq;
-       sql_schema *sche;
-       sql_table *next;
+       sql_column *col = NULL;
+       sql_sequence *seq = NULL;
+       sql_schema *sche = NULL;
+       sql_table *next = NULL;
        sql_trans *tr = sql->session->tr;
-       node *n;
+       node *n = NULL;
 
        struct tablelist* new_list = (struct tablelist*) 
GDKmalloc(sizeof(struct tablelist)), *list_node, *aux;
        new_list->table = t;
@@ -4650,17 +4650,17 @@ sql_truncate(backend *be, sql_table *t, 
        return ret;
 }
 
-#define E_ATOM_INT(e) ((atom*)((sql_exp*)e)->l)->data.val.lval
+#define E_ATOM_INT(e) ((atom*)((sql_exp*)e)->l)->data.val.ival
 #define E_ATOM_STRING(e) ((atom*)((sql_exp*)e)->l)->data.val.sval
 
 static stmt *
 rel2bin_truncate(backend *be, sql_rel *rel)
 {
        mvc *sql = be->mvc;
-       stmt *truncate;
+       stmt *truncate = NULL;
        sql_rel *tr = rel->l;
        sql_table *t = NULL;
-       node *n;
+       node *n = NULL;
        int restart_sequences, cascade;
 
        if (tr->op == op_basetable)
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
@@ -1176,9 +1176,6 @@ create_trigger(mvc *sql, dlist *qname, i
 
        if (create && !mvc_schema_privs(sql, ss))
                return sql_error(sql, 02, SQLSTATE(42000) "%s TRIGGER: access 
denied for %s to schema ;'%s'", base, stack_get_string(sql, "current_user"), 
ss->base.name);
-       if (create && mvc_bind_trigger(sql, ss, triggername) != NULL) 
-               return sql_error(sql, 02, SQLSTATE(42000) "CREATE TRIGGER: name 
'%s' already in use", triggername);
-
        if (create && !(t = mvc_bind_table(sql, ss, tname)))
                return sql_error(sql, 02, SQLSTATE(42000) "%s TRIGGER: unknown 
table '%s'", base, tname);
        if (create && isView(t))
diff --git a/sql/test/Tests/create-or-replace-triggers.stable.err 
b/sql/test/Tests/create-or-replace-triggers.stable.err
--- a/sql/test/Tests/create-or-replace-triggers.stable.err
+++ b/sql/test/Tests/create-or-replace-triggers.stable.err
@@ -30,6 +30,8 @@ stderr of test 'create-or-replace-trigge
 
 MAPI  = (monetdb) /var/tmp/mtest-15975/.s.monetdb.38017
 QUERY = CREATE OR REPLACE TRIGGER failedtrigger AFTER INSERT ON testing3 FOR 
EACH STATEMENT BEGIN ATOMIC INSERT INTO testing8 VALUES (3); END; --error
+ERROR = !CREATE OR REPLACE TRIGGER: unknown table 'testing3'
+CODE  = 42000
 
 
 # 12:24:46 >  
diff --git a/sql/test/pg_regress/Tests/create_view.stable.err 
b/sql/test/pg_regress/Tests/create_view.stable.err
--- a/sql/test/pg_regress/Tests/create_view.stable.err
+++ b/sql/test/pg_regress/Tests/create_view.stable.err
@@ -29,31 +29,6 @@ stderr of test 'create_view` in director
 # 17:11:19 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-1142" "--port=38959"
 # 17:11:19 >  
 
-MAPI  = (monetdb) /var/tmp/mtest-27483/.s.monetdb.35395
-QUERY = CREATE OR REPLACE VIEW viewtest AS
-               SELECT * FROM viewtest_tbl WHERE a > 10;
-ERROR = !syntax error, unexpected VIEW in: "create or replace view"
-CODE  = 42000
-MAPI  = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685
-QUERY = CREATE OR REPLACE VIEW viewtest AS
-               SELECT a, b FROM viewtest_tbl WHERE a > 5 ORDER BY b DESC;
-ERROR = !syntax error, unexpected VIEW in: "create or replace view"
-CODE  = 42000
-MAPI  = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685
-QUERY = CREATE OR REPLACE VIEW viewtest AS
-       SELECT a FROM viewtest_tbl WHERE a <> 20;
-ERROR = !syntax error, unexpected VIEW in: "create or replace view"
-CODE  = 42000
-MAPI  = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685
-QUERY = CREATE OR REPLACE VIEW viewtest AS
-       SELECT 1, * FROM viewtest_tbl;
-ERROR = !syntax error, unexpected VIEW in: "create or replace view"
-CODE  = 42000
-MAPI  = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685
-QUERY = CREATE OR REPLACE VIEW viewtest AS
-       SELECT a, cast(b as numeric) FROM viewtest_tbl;
-ERROR = !syntax error, unexpected VIEW in: "create or replace view"
-CODE  = 42000
 
 
 # 17:11:19 >  
diff --git a/sql/test/pg_regress/Tests/float8.stable.err 
b/sql/test/pg_regress/Tests/float8.stable.err
--- a/sql/test/pg_regress/Tests/float8.stable.err
+++ b/sql/test/pg_regress/Tests/float8.stable.err
@@ -92,7 +92,7 @@ ERROR = !conversion of string 'nan' to t
 MAPI  = (monetdb) /var/tmp/mtest-30808/.s.monetdb.35989
 QUERY = SELECT '' AS five, f.f1, truncate(f1) AS trunc_f1
            FROM FLOAT8_TBL f;
-ERROR = !SELECT: no such unary operator 'truncate(double)'
+ERROR = !syntax error, unexpected TRUNCATE in: "select '' as five, f.f1, 
truncate"
 MAPI  = (monetdb) /var/tmp/mtest-30808/.s.monetdb.35989
 QUERY = SELECT |/ cast('64' as double) AS eight;
 ERROR = !syntax error, unexpected '|' in: "select |"
diff --git a/sql/test/pg_regress/Tests/float8.stable.err.Windows 
b/sql/test/pg_regress/Tests/float8.stable.err.Windows
--- a/sql/test/pg_regress/Tests/float8.stable.err.Windows
+++ b/sql/test/pg_regress/Tests/float8.stable.err.Windows
@@ -92,7 +92,7 @@ ERROR = !conversion of string 'nan' to t
 MAPI  = (monetdb) /var/tmp/mtest-30808/.s.monetdb.35989
 QUERY = SELECT '' AS five, f.f1, truncate(f1) AS trunc_f1
            FROM FLOAT8_TBL f;
-ERROR = !SELECT: no such unary operator 'truncate(double)'
+ERROR = !syntax error, unexpected TRUNCATE in: "select '' as five, f.f1, 
truncate"
 MAPI  = (monetdb) /var/tmp/mtest-30808/.s.monetdb.35989
 QUERY = SELECT |/ cast('64' as double) AS eight;
 ERROR = !syntax error, unexpected '|' in: "select |"
diff --git a/sql/test/pg_regress/Tests/float8.stable.err.int128 
b/sql/test/pg_regress/Tests/float8.stable.err.int128
--- a/sql/test/pg_regress/Tests/float8.stable.err.int128
+++ b/sql/test/pg_regress/Tests/float8.stable.err.int128
@@ -112,7 +112,7 @@ CODE  = 22018
 MAPI  = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685
 QUERY = SELECT '' AS five, f.f1, truncate(f1) AS trunc_f1
            FROM FLOAT8_TBL f;
-ERROR = !SELECT: no such unary operator 'truncate(double)'
+ERROR = !syntax error, unexpected TRUNCATE in: "select '' as five, f.f1, 
truncate"
 CODE  = 42000
 MAPI  = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685
 QUERY = SELECT |/ cast('64' as double) AS eight;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to