Changeset: a0549e6e63e6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a0549e6e63e6
Added Files:
        sql/test/BugTracker-2018/Tests/alter-sequence-subquery.Bug-6657.sql
        
sql/test/BugTracker-2018/Tests/alter-sequence-subquery.Bug-6657.stable.err
        
sql/test/BugTracker-2018/Tests/alter-sequence-subquery.Bug-6657.stable.out
        
sql/test/BugTracker-2018/Tests/procedure-create-table.Bug-6604.stable.err
        
sql/test/BugTracker-2018/Tests/procedure-create-table.Bug-6604.stable.out
        sql/test/BugTracker-2018/Tests/quantile-crash.Bug-6658.sql
        sql/test/BugTracker-2018/Tests/quantile-crash.Bug-6658.stable.err
        sql/test/BugTracker-2018/Tests/quantile-crash.Bug-6658.stable.out
        sql/test/testdb/Tests/dump.reqtests
        sql/test/testdb/Tests/dump.sql
        sql/test/testdb/Tests/dump.stable.err
        sql/test/testdb/Tests/dump.stable.out
        sql/test/testdb/Tests/dump.timeout
        sql/test/testdb/Tests/load.sql
        sql/test/testdb/Tests/load.stable.err
        sql/test/testdb/Tests/load.stable.out
        sql/test/testdb/Tests/load.timeout
        sql/test/testdb/Tests/package-hge.py
        sql/test/testdb/Tests/package-hge.stable.err
        sql/test/testdb/Tests/package-hge.stable.out.int128
        sql/test/testdb/Tests/package.py
        sql/test/testdb/Tests/package.reqtests
        sql/test/testdb/Tests/package.stable.err
        sql/test/testdb/Tests/package.stable.out
Removed Files:
        sql/test/testdb/Tests/testdb-dump.reqtests
        sql/test/testdb/Tests/testdb-dump.sql
        sql/test/testdb/Tests/testdb-dump.stable.err
        sql/test/testdb/Tests/testdb-dump.stable.out
        sql/test/testdb/Tests/testdb-dump.timeout
        sql/test/testdb/Tests/testdb-load.sql
        sql/test/testdb/Tests/testdb-load.stable.err
        sql/test/testdb/Tests/testdb-load.stable.out
        sql/test/testdb/Tests/testdb-load.timeout
        sql/test/testdb/Tests/testdb-package-hge.py
        sql/test/testdb/Tests/testdb-package-hge.stable.err
        sql/test/testdb/Tests/testdb-package-hge.stable.out.int128
        sql/test/testdb/Tests/testdb-package.py
        sql/test/testdb/Tests/testdb-package.reqtests
        sql/test/testdb/Tests/testdb-package.stable.err
        sql/test/testdb/Tests/testdb-package.stable.out
Modified Files:
        clients/mapiclient/dump.c
        gdk/gdk_aggr.c
        gdk/gdk_calc.c
        geom/monetdb5/geom.c
        sql/common/sql_string.c
        sql/server/rel_sequence.c
        sql/test/BugTracker-2017/Tests/exist-bigint-missing.Bug-6315.sql
        sql/test/BugTracker-2017/Tests/exist-bigint-missing.Bug-6315.stable.out
        sql/test/BugTracker-2018/Tests/All
        sql/test/BugTracker-2018/Tests/procedure-create-table.Bug-6604.sql
        sql/test/testdb-upgrade-hge/Tests/dump.stable.out.int128
        sql/test/testdb-upgrade/Tests/dump.stable.out
        sql/test/testdb/Tests/All
Branch: merge-statements
Log Message:

Merge with default.


diffs (truncated from 1726 to 300 lines):

diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -238,11 +238,11 @@ has_hugeint(Mapi mid)
 }
 
 /* return TRUE if the sys.functions table has a column called system */
-static int
+static bool
 has_funcsys(Mapi mid)
 {
        MapiHdl hdl;
-       int ret;
+       bool ret;
        static int answer = -1;
 
        if (answer >= 0)
@@ -271,7 +271,7 @@ has_funcsys(Mapi mid)
                goto bailout;
        mapi_close_handle(hdl);
        answer = ret;
-       return answer;
+       return ret;
 
   bailout:
        if (hdl) {
@@ -282,7 +282,48 @@ has_funcsys(Mapi mid)
                mapi_close_handle(hdl);
        } else
                mapi_explain(mid, stderr);
-       return 0;
+       return false;
+}
+
+static bool
+has_table_partitions(Mapi mid)
+{
+       MapiHdl hdl;
+       bool ret;
+       static int answer = -1;
+
+       if (answer >= 0)
+               return answer;
+
+       if ((hdl = mapi_query(mid,
+                             "select id from sys._tables"
+                             " where name = 'table_partitions'"
+                             " and schema_id = ("
+                             "select id from sys.schemas"
+                             " where name = 'sys')")) == NULL ||
+           mapi_error(mid))
+               goto bailout;
+       ret = mapi_get_row_count(hdl) == 1;
+       while ((mapi_fetch_row(hdl)) != 0) {
+               if (mapi_error(mid))
+                       goto bailout;
+       }
+       if (mapi_error(mid))
+               goto bailout;
+       mapi_close_handle(hdl);
+       answer = ret;
+       return ret;
+
+  bailout:
+       if (hdl) {
+               if (mapi_result_error(hdl))
+                       mapi_explain_result(hdl, stderr);
+               else
+                       mapi_explain_query(hdl, stderr);
+               mapi_close_handle(hdl);
+       } else
+               mapi_explain(mid, stderr);
+       return false;
 }
 
 static int
@@ -316,17 +357,17 @@ dump_foreign_keys(Mapi mid, const char *
                              "sys.keys pkk, "
                              "sys.schemas ps, "
                              "sys.schemas fs "
-                        "WHERE fkt.id = fkk.table_id AND "
-                              "pkt.id = pkk.table_id AND "
-                              "fkk.id = fkkc.id AND "
-                              "pkk.id = pkkc.id AND "
-                              "fkk.rkey = pkk.id AND "
-                              "fkkc.nr = pkkc.nr AND "
-                              "pkt.schema_id = ps.id AND "
-                              "fkt.schema_id = fs.id AND "
-                              "fs.name = '%s' AND "
-                              "fkt.name = '%s' "
-                        "ORDER BY fkk.name, nr", schema, tname);
+                        "WHERE fkt.id = fkk.table_id "
+                          "AND pkt.id = pkk.table_id "
+                          "AND fkk.id = fkkc.id "
+                          "AND pkk.id = pkkc.id "
+                          "AND fkk.rkey = pkk.id "
+                          "AND fkkc.nr = pkkc.nr "
+                          "AND pkt.schema_id = ps.id "
+                          "AND fkt.schema_id = fs.id "
+                          "AND fs.name = '%s' "
+                          "AND fkt.name = '%s' "
+                        "ORDER BY fkk.name, fkkc.nr", schema, tname);
        } else if (tid != NULL) {
                maxquerylen = 1024 + strlen(tid);
                query = malloc(maxquerylen);
@@ -349,15 +390,15 @@ dump_foreign_keys(Mapi mid, const char *
                              "sys.objects pkkc, "
                              "sys.keys pkk, "
                              "sys.schemas ps "
-                        "WHERE fkt.id = fkk.table_id AND "
-                              "pkt.id = pkk.table_id AND "
-                              "fkk.id = fkkc.id AND "
-                              "pkk.id = pkkc.id AND "
-                              "fkk.rkey = pkk.id AND "
-                              "fkkc.nr = pkkc.nr AND "
-                              "pkt.schema_id = ps.id AND "
-                              "fkt.id = %s "
-                        "ORDER BY fkk.name, nr", tid);
+                        "WHERE fkt.id = fkk.table_id "
+                          "AND pkt.id = pkk.table_id "
+                          "AND fkk.id = fkkc.id "
+                          "AND pkk.id = pkkc.id "
+                          "AND fkk.rkey = pkk.id "
+                          "AND fkkc.nr = pkkc.nr "
+                          "AND pkt.schema_id = ps.id "
+                          "AND fkt.id = %s "
+                        "ORDER BY fkk.name, fkkc.nr", tid);
        } else {
                query = "SELECT ps.name, "              /* 0 */
                               "pkt.name, "             /* 1 */
@@ -376,17 +417,17 @@ dump_foreign_keys(Mapi mid, const char *
                             "sys.keys pkk, "
                             "sys.schemas ps, "
                             "sys.schemas fs "
-                       "WHERE fkt.id = fkk.table_id AND "
-                             "pkt.id = pkk.table_id AND "
-                             "fkk.id = fkkc.id AND "
-                             "pkk.id = pkkc.id AND "
-                             "fkk.rkey = pkk.id AND "
-                             "fkkc.nr = pkkc.nr AND "
-                             "pkt.schema_id = ps.id AND "
-                             "fkt.schema_id = fs.id AND "
-                             "fkt.system = FALSE "
+                       "WHERE fkt.id = fkk.table_id "
+                         "AND pkt.id = pkk.table_id "
+                         "AND fkk.id = fkkc.id "
+                         "AND pkk.id = pkkc.id "
+                         "AND fkk.rkey = pkk.id "
+                         "AND fkkc.nr = pkkc.nr "
+                         "AND pkt.schema_id = ps.id "
+                         "AND fkt.schema_id = fs.id "
+                         "AND fkt.system = FALSE "
                        "ORDER BY fs.name, fkt.name, "
-                             "fkk.name, nr";
+                                "fkk.name, fkkc.nr";
        }
        hdl = mapi_query(mid, query);
        if (query != NULL && maxquerylen != 0)
@@ -682,7 +723,8 @@ dump_type(Mapi mid, stream *toConsole, c
 }
 
 static int
-dump_column_definition(Mapi mid, stream *toConsole, const char *schema, const 
char *tname, const char *tid, bool foreign, bool hashge)
+dump_column_definition(Mapi mid, stream *toConsole, const char *schema,
+                      const char *tname, const char *tid, bool foreign, bool 
hashge)
 {
        MapiHdl hdl = NULL;
        char *query = NULL;
@@ -728,10 +770,10 @@ dump_column_definition(Mapi mid, stream 
                         "FROM sys._columns c, "
                              "sys._tables t, "
                              "sys.schemas s "
-                        "WHERE c.table_id = t.id AND "
-                              "'%s' = t.name AND "
-                              "t.schema_id = s.id AND "
-                              "s.name = '%s' "
+                        "WHERE c.table_id = t.id "
+                          "AND '%s' = t.name "
+                          "AND t.schema_id = s.id "
+                          "AND s.name = '%s' "
                         "ORDER BY c.number", tname, schema);
        if ((hdl = mapi_query(mid, query)) == NULL || mapi_error(mid))
                goto bailout;
@@ -781,30 +823,30 @@ dump_column_definition(Mapi mid, stream 
                         "SELECT kc.name, "             /* 0 */
                                "kc.nr, "               /* 1 */
                                "k.name, "              /* 2 */
-                               "k.id "                 /* 3 */
+                               "kc.id "                /* 3 */
                         "FROM sys.objects kc, "
                              "sys.keys k "
-                        "WHERE kc.id = k.id AND "
-                              "k.table_id = %s AND "
-                              "k.type = 0 "
-                        "ORDER BY k.id, kc.nr", tid);
+                        "WHERE kc.id = k.id "
+                          "AND k.table_id = %s "
+                          "AND k.type = 0 "
+                        "ORDER BY kc.id, kc.nr", tid);
        else
                snprintf(query, maxquerylen,
                         "SELECT kc.name, "             /* 0 */
                                "kc.nr, "               /* 1 */
                                "k.name, "              /* 2 */
-                               "k.id "                 /* 3 */
+                               "kc.id "                /* 3 */
                         "FROM sys.objects kc, "
                              "sys.keys k, "
                              "sys.schemas s, "
                              "sys._tables t "
-                        "WHERE kc.id = k.id AND "
-                              "k.table_id = t.id AND "
-                              "k.type = 0 AND "
-                              "t.schema_id = s.id AND "
-                              "s.name = '%s' AND "
-                              "t.name = '%s' "
-                        "ORDER BY k.id, kc.nr", schema, tname);
+                        "WHERE kc.id = k.id "
+                          "AND k.table_id = t.id "
+                          "AND k.type = 0 "
+                          "AND t.schema_id = s.id "
+                          "AND s.name = '%s' "
+                          "AND t.name = '%s' "
+                        "ORDER BY kc.id, kc.nr", schema, tname);
        if ((hdl = mapi_query(mid, query)) == NULL || mapi_error(mid))
                goto bailout;
        cnt = 0;
@@ -840,30 +882,30 @@ dump_column_definition(Mapi mid, stream 
                         "SELECT kc.name, "             /* 0 */
                                "kc.nr, "               /* 1 */
                                "k.name, "              /* 2 */
-                               "k.id "                 /* 3 */
+                               "kc.id "                /* 3 */
                         "FROM sys.objects kc, "
                              "sys.keys k "
-                        "WHERE kc.id = k.id AND "
-                              "k.table_id = %s AND "
-                              "k.type = 1 "
-                        "ORDER BY k.id, kc.nr", tid);
+                        "WHERE kc.id = k.id "
+                          "AND k.table_id = %s "
+                          "AND k.type = 1 "
+                        "ORDER BY kc.id, kc.nr", tid);
        else
                snprintf(query, maxquerylen,
                         "SELECT kc.name, "             /* 0 */
                                "kc.nr, "               /* 1 */
                                "k.name, "              /* 2 */
-                               "k.id "                 /* 3 */
+                               "kc.id "                /* 3 */
                         "FROM sys.objects kc, "
                              "sys.keys k, "
                              "sys.schemas s, "
                              "sys._tables t "
-                        "WHERE kc.id = k.id AND "
-                              "k.table_id = t.id AND "
-                              "k.type = 1 AND "
-                              "t.schema_id = s.id AND "
-                              "s.name = '%s' AND "
-                              "t.name = '%s' "
-                        "ORDER BY k.id, kc.nr", schema, tname);
+                        "WHERE kc.id = k.id "
+                          "AND k.table_id = t.id "
+                          "AND k.type = 1 "
+                          "AND t.schema_id = s.id "
+                          "AND s.name = '%s' "
+                          "AND t.name = '%s' "
+                        "ORDER BY kc.id, kc.nr", schema, tname);
        if ((hdl = mapi_query(mid, query)) == NULL || mapi_error(mid))
                goto bailout;
        cnt = 0;
@@ -923,7 +965,8 @@ dump_column_definition(Mapi mid, stream 
 }
 
 int
-describe_table(Mapi mid, const char *schema, const char *tname, stream 
*toConsole, int foreign, bool databaseDump)
+describe_table(Mapi mid, const char *schema, const char *tname,
+              stream *toConsole, int foreign, bool databaseDump)
 {
        int cnt, table_id = 0;
        MapiHdl hdl = NULL;
@@ -965,10 +1008,11 @@ describe_table(Mapi mid, const char *sch
        snprintf(query, maxquerylen,
                 "%s "
                 "SELECT t.name, t.query, t.type, t.id, c.remark "
-                "FROM sys.schemas s, sys._tables t LEFT OUTER JOIN comments c 
ON t.id = c.id "
-                "WHERE s.name = '%s' AND "
-                      "t.schema_id = s.id AND "
-                      "t.name = '%s'",
+                "FROM sys.schemas s, sys._tables t "
+                       "LEFT OUTER JOIN sys.comments c ON t.id = c.id "
+                "WHERE s.name = '%s' "
+                  "AND t.schema_id = s.id "
+                  "AND t.name = '%s'",
                 comments_clause,
                 schema, tname);
 
@@ -1025,8 +1069,8 @@ describe_table(Mapi mid, const char *sch
                                         "SELECT f.id, s.name, f.name "
                                         "FROM sys.schemas s, "
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to