Changeset: db05429c8a8e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=db05429c8a8e
Modified Files:
clients/mapiclient/dump.c
sql/server/sql_partition.c
sql/test/testdb/Tests/dump.stable.out
sql/test/testdb/Tests/load.sql
Branch: Jun2020
Log Message:
Fixed dump with recent partitions by range changes and remove assertion which
is no longer always valid
diffs (90 lines):
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -2916,7 +2916,7 @@ dump_database(Mapi mid, stream *toConsol
maxv = mapi_fetch_field(shdl, 1);
wnulls = mapi_fetch_field(shdl, 2);
}
- if (minv || maxv || !wnulls) {
+ if (minv || maxv || !wnulls || (!minv && !maxv
&& wnulls && strcmp(wnulls, "false") == 0)) {
mnstr_printf(toConsole, " FROM ");
if (minv)
squoted_print(toConsole, minv,
'\'');
@@ -2928,7 +2928,7 @@ dump_database(Mapi mid, stream *toConsol
else
mnstr_printf(toConsole, "RANGE
MAXVALUE");
}
- if (!wnulls || strcmp(wnulls, "1") == 0)
+ if (!wnulls || strcmp(wnulls, "true") == 0)
mnstr_printf(toConsole, " %s NULL
VALUES", (minv || maxv || !wnulls) ? "WITH" : "FOR");
mapi_close_handle(shdl);
}
diff --git a/sql/server/sql_partition.c b/sql/server/sql_partition.c
--- a/sql/server/sql_partition.c
+++ b/sql/server/sql_partition.c
@@ -404,7 +404,6 @@ initialize_sql_parts(mvc* sql, sql_table
const void *nil_ptr =
ATOMnilptr(tpe);
size_t nil_len = ATOMlen(tpe,
nil_ptr);
- assert(p->with_nills &&
next->with_nills);
p->part.range.minvalue =
sa_alloc(sql->session->tr->sa, nil_len);
p->part.range.maxvalue =
sa_alloc(sql->session->tr->sa, nil_len);
memcpy(p->part.range.minvalue,
nil_ptr, nil_len);
diff --git a/sql/test/testdb/Tests/dump.stable.out
b/sql/test/testdb/Tests/dump.stable.out
--- a/sql/test/testdb/Tests/dump.stable.out
+++ b/sql/test/testdb/Tests/dump.stable.out
@@ -101314,6 +101314,26 @@ CREATE TABLE "testschema"."subtable3" (
"a" INTEGER,
"b" VARCHAR(32)
);
+CREATE MERGE TABLE "testschema"."testme2" (
+ "a" INTEGER,
+ "b" VARCHAR(32)
+) PARTITION BY RANGE ON (a);
+CREATE TABLE "testschema"."subtable4" (
+ "a" INTEGER,
+ "b" VARCHAR(32)
+);
+CREATE TABLE "testschema"."subtable5" (
+ "a" INTEGER,
+ "b" VARCHAR(32)
+);
+CREATE MERGE TABLE "testschema"."testme3" (
+ "a" INTEGER,
+ "b" VARCHAR(32)
+) PARTITION BY RANGE ON (a);
+CREATE TABLE "testschema"."subtable6" (
+ "a" INTEGER,
+ "b" VARCHAR(32)
+);
CREATE MERGE TABLE "testschema"."testvaluespartitions" (
"a" INTEGER,
"b" VARCHAR(32)
@@ -101370,6 +101390,9 @@ NULL NULL NULL NULL NULL NULL NULL
NULL
ALTER TABLE "testschema"."testme" ADD TABLE "testschema"."subtable1" AS
PARTITION FROM RANGE MINVALUE TO '11' WITH NULL VALUES;
ALTER TABLE "testschema"."testme" ADD TABLE "testschema"."subtable2" AS
PARTITION FROM '11' TO '20';
ALTER TABLE "testschema"."testme" ADD TABLE "testschema"."subtable3" AS
PARTITION FROM '21' TO RANGE MAXVALUE;
+ALTER TABLE "testschema"."testme2" ADD TABLE "testschema"."subtable4" AS
PARTITION FROM RANGE MINVALUE TO RANGE MAXVALUE;
+ALTER TABLE "testschema"."testme2" ADD TABLE "testschema"."subtable5" AS
PARTITION FOR NULL VALUES;
+ALTER TABLE "testschema"."testme3" ADD TABLE "testschema"."subtable6" AS
PARTITION FROM RANGE MINVALUE TO RANGE MAXVALUE WITH NULL VALUES;
ALTER TABLE "testschema"."testvaluespartitions" ADD TABLE
"testschema"."sublimits1" AS PARTITION IN ('1', '2', '3');
ALTER TABLE "testschema"."testvaluespartitions" ADD TABLE
"testschema"."sublimits2" AS PARTITION IN ('4', '5', '6') WITH NULL VALUES;
ALTER TABLE "testschema"."testvaluespartitions" ADD TABLE
"testschema"."sublimits3" AS PARTITION IN ('7', '8', '9');
diff --git a/sql/test/testdb/Tests/load.sql b/sql/test/testdb/Tests/load.sql
--- a/sql/test/testdb/Tests/load.sql
+++ b/sql/test/testdb/Tests/load.sql
@@ -101256,6 +101256,14 @@ INSERT INTO testschema.subtable2 VALUES
ALTER TABLE testschema.testme ADD TABLE testschema.subtable1 AS PARTITION FROM
RANGE MINVALUE TO 11 WITH NULL VALUES;
ALTER TABLE testschema.testme ADD TABLE testschema.subtable2 AS PARTITION FROM
11 TO 20;
ALTER TABLE testschema.testme ADD TABLE testschema.subtable3 AS PARTITION FROM
21 TO RANGE MAXVALUE;
+CREATE MERGE TABLE testschema.testme2 (a int, b varchar(32)) PARTITION BY
RANGE ON (a);
+CREATE TABLE testschema.subtable4 (a int, b varchar(32));
+CREATE TABLE testschema.subtable5 (a int, b varchar(32));
+ALTER TABLE testschema.testme2 ADD TABLE testschema.subtable4 AS PARTITION
FROM RANGE MINVALUE TO RANGE MAXVALUE;
+ALTER TABLE testschema.testme2 ADD TABLE testschema.subtable5 AS PARTITION FOR
NULL VALUES;
+CREATE MERGE TABLE testschema.testme3 (a int, b varchar(32)) PARTITION BY
RANGE ON (a);
+CREATE TABLE testschema.subtable6 (a int, b varchar(32));
+ALTER TABLE testschema.testme3 ADD TABLE testschema.subtable6 AS PARTITION
FROM RANGE MINVALUE TO RANGE MAXVALUE WITH NULL VALUES;
CREATE MERGE TABLE testschema.testvaluespartitions (a int, b varchar(32))
PARTITION BY VALUES ON (a);
CREATE TABLE testschema.sublimits1 (a int, b varchar(32));
CREATE TABLE testschema.sublimits2 (a int, b varchar(32));
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list