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