Changeset: e918bf130576 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e918bf130576
Added Files:
        sql/test/sys-schema/Tests/update_statistics.sql
        sql/test/sys-schema/Tests/update_statistics.stable.err
        sql/test/sys-schema/Tests/update_statistics.stable.out
Modified Files:
        sql/test/sys-schema/Tests/All
        sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.sql
        sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.stable.out
        sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.sql
        
sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.stable.out
        sql/test/sys-schema/Tests/check_MaxStrLength_violations.sql
        sql/test/sys-schema/Tests/check_Not_Nullable_columns.sql
        sql/test/sys-schema/Tests/check_Not_Nullable_columns.stable.out
        sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.sql
        sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.stable.out
Branch: default
Log Message:

Add data integrity checks for new system tables: table_partitions, 
range_partitions and value_partitions.
Add missing NOT NULL data integrity checks for system tables: 
storagemodelinput, sequences and user_role.
Add script to populate sys.statistics before doing all the integrity checks.


diffs (truncated from 612 to 300 lines):

diff --git a/sql/test/sys-schema/Tests/All b/sql/test/sys-schema/Tests/All
--- a/sql/test/sys-schema/Tests/All
+++ b/sql/test/sys-schema/Tests/All
@@ -1,3 +1,5 @@
+update_statistics
+
 check_PrimaryKey_uniqueness
 check_AlternateKey_uniqueness
 check_ForeignKey_referential_integrity
diff --git a/sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.sql 
b/sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.sql
--- a/sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.sql
+++ b/sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.sql
@@ -1,5 +1,6 @@
 -- check all standard sys (and tmp) tables on Alternate Key uniqueness
 -- All queries should return NO rows (so no duplicates found).
+
 SELECT COUNT(*) AS duplicates, name FROM sys.schemas GROUP BY name HAVING 
COUNT(*) > 1;
 SELECT COUNT(*) AS duplicates, table_type_name FROM sys.table_types GROUP BY 
table_type_name HAVING COUNT(*) > 1;
 SELECT COUNT(*) AS duplicates, schema_id, name FROM sys._tables GROUP BY 
schema_id, name HAVING COUNT(*) > 1;
@@ -46,3 +47,8 @@ SELECT COUNT(*) AS duplicates, name FROM
 
 SELECT COUNT(*) AS duplicates, def FROM sys.optimizers GROUP BY def HAVING 
COUNT(*) > 1;
 
+-- new tables introduced in 2019
+SELECT COUNT(*) AS duplicates, table_id, column_id FROM sys.table_partitions 
WHERE "column_id" IS NOT NULL GROUP BY table_id, column_id HAVING COUNT(*) >1;
+SELECT COUNT(*) AS duplicates, table_id, "expression" FROM 
sys.table_partitions WHERE "expression" IS NOT NULL GROUP BY table_id, 
"expression" HAVING COUNT(*) >1;
+SELECT COUNT(*) AS duplicates, table_id, partition_id, maximum FROM 
sys.range_partitions GROUP BY table_id, partition_id, maximum HAVING COUNT(*) 
>1;
+
diff --git a/sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.stable.out 
b/sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.stable.out
--- a/sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.stable.out
+++ b/sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.stable.out
@@ -184,6 +184,21 @@ Ready.
 % duplicates,  def # name
 % bigint,      clob # type
 % 1,   0 # length
+#SELECT COUNT(*) AS duplicates, table_id, column_id FROM sys.table_partitions 
WHERE "column_id" IS NOT NULL GROUP BY table_id, column_id HAVING COUNT(*) >1;
+% sys.L3,      sys.table_partitions,   sys.table_partitions # table_name
+% duplicates,  table_id,       column_id # name
+% bigint,      int,    int # type
+% 1,   1,      1 # length
+#SELECT COUNT(*) AS duplicates, table_id, "expression" FROM 
sys.table_partitions WHERE "expression" IS NOT NULL GROUP BY table_id, 
"expression" HAVING COUNT(*) >1;
+% sys.L3,      sys.table_partitions,   sys.table_partitions # table_name
+% duplicates,  table_id,       expression # name
+% bigint,      int,    varchar # type
+% 1,   1,      0 # length
+#SELECT COUNT(*) AS duplicates, table_id, partition_id, maximum FROM 
sys.range_partitions GROUP BY table_id, partition_id, maximum HAVING COUNT(*) 
>1;
+% sys.L3,      sys.range_partitions,   sys.range_partitions,   
sys.range_partitions # table_name
+% duplicates,  table_id,       partition_id,   maximum # name
+% bigint,      int,    int,    varchar # type
+% 1,   1,      1,      0 # length
 
 # 16:31:36 >  
 # 16:31:36 >  "Done."
diff --git 
a/sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.sql 
b/sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.sql
--- a/sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.sql
+++ b/sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.sql
@@ -1,5 +1,6 @@
 -- Check all standard sys (and tmp) tables on Referential Integrity
 -- All queries should return NO rows (so no invalid references found).
+
 SELECT * FROM sys.schemas WHERE authorization NOT IN (SELECT id FROM 
sys.auths);
 SELECT * FROM sys.schemas WHERE owner NOT IN (SELECT id FROM sys.auths);
 
@@ -138,3 +139,14 @@ SELECT schema, table, rowcount, columnsi
 SELECT schema, table, rowcount, columnsize, heapsize, hashsize, imprintsize, 
orderidxsize FROM sys.tablestoragemodel WHERE table NOT IN (SELECT name FROM 
sys._tables UNION ALL SELECT name FROM tmp._tables);
 SELECT schema, table, rowcount, columnsize, heapsize, hashsize, imprintsize, 
orderidxsize FROM sys.tablestoragemodel WHERE (schema, table) NOT IN (SELECT 
sch.name, tbl.name FROM sys.schemas AS sch JOIN sys.tables AS tbl ON sch.id = 
tbl.schema_id);
 
+-- new tables introduced in 2019
+SELECT * FROM sys.table_partitions WHERE "table_id" NOT IN (SELECT id FROM 
sys._tables);
+SELECT * FROM sys.table_partitions WHERE "column_id" IS NOT NULL AND 
"column_id" NOT IN (SELECT id FROM sys._columns);
+SELECT * FROM sys.table_partitions WHERE "type" NOT IN (SELECT id FROM 
sys.types);
+
+SELECT * FROM sys.range_partitions WHERE "table_id" NOT IN (SELECT id FROM 
sys._tables);
+SELECT * FROM sys.range_partitions WHERE "partition_id" NOT IN (SELECT id FROM 
sys.table_partitions);
+
+SELECT * FROM sys.value_partitions WHERE "table_id" NOT IN (SELECT id FROM 
sys._tables);
+SELECT * FROM sys.value_partitions WHERE "partition_id" NOT IN (SELECT id FROM 
sys.table_partitions);
+
diff --git 
a/sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.stable.out 
b/sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.stable.out
--- 
a/sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.stable.out
+++ 
b/sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.stable.out
@@ -524,6 +524,41 @@ Ready.
 % schema,      table,  rowcount,       columnsize,     heapsize,       
hashsize,       imprintsize,    orderidxsize # name
 % varchar,     varchar,        bigint, bigint, bigint, bigint, bigint, bigint 
# type
 % 0,   0,      1,      1,      1,      1,      1,      1 # length
+#SELECT * FROM sys.table_partitions WHERE "table_id" NOT IN (SELECT id FROM 
sys._tables);
+% sys.table_partitions,        sys.table_partitions,   sys.table_partitions,   
sys.table_partitions,   sys.table_partitions # table_name
+% id,  table_id,       column_id,      expression,     type # name
+% int, int,    int,    varchar,        tinyint # type
+% 1,   1,      1,      0,      1 # length
+#SELECT * FROM sys.table_partitions WHERE "column_id" IS NOT NULL AND 
"column_id" NOT IN (SELECT id FROM sys._columns);
+% sys.table_partitions,        sys.table_partitions,   sys.table_partitions,   
sys.table_partitions,   sys.table_partitions # table_name
+% id,  table_id,       column_id,      expression,     type # name
+% int, int,    int,    varchar,        tinyint # type
+% 1,   1,      1,      0,      1 # length
+#SELECT * FROM sys.table_partitions WHERE "type" NOT IN (SELECT id FROM 
sys.types);
+% sys.table_partitions,        sys.table_partitions,   sys.table_partitions,   
sys.table_partitions,   sys.table_partitions # table_name
+% id,  table_id,       column_id,      expression,     type # name
+% int, int,    int,    varchar,        tinyint # type
+% 1,   1,      1,      0,      1 # length
+#SELECT * FROM sys.range_partitions WHERE "table_id" NOT IN (SELECT id FROM 
sys._tables);
+% sys.range_partitions,        sys.range_partitions,   sys.range_partitions,   
sys.range_partitions,   sys.range_partitions # table_name
+% table_id,    partition_id,   minimum,        maximum,        with_nulls # 
name
+% int, int,    varchar,        varchar,        boolean # type
+% 1,   1,      0,      0,      5 # length
+#SELECT * FROM sys.range_partitions WHERE "partition_id" NOT IN (SELECT id 
FROM sys.table_partitions);
+% sys.range_partitions,        sys.range_partitions,   sys.range_partitions,   
sys.range_partitions,   sys.range_partitions # table_name
+% table_id,    partition_id,   minimum,        maximum,        with_nulls # 
name
+% int, int,    varchar,        varchar,        boolean # type
+% 1,   1,      0,      0,      5 # length
+#SELECT * FROM sys.value_partitions WHERE "table_id" NOT IN (SELECT id FROM 
sys._tables);
+% sys.value_partitions,        sys.value_partitions,   sys.value_partitions # 
table_name
+% table_id,    partition_id,   value # name
+% int, int,    varchar # type
+% 1,   1,      0 # length
+#SELECT * FROM sys.value_partitions WHERE "partition_id" NOT IN (SELECT id 
FROM sys.table_partitions);
+% sys.value_partitions,        sys.value_partitions,   sys.value_partitions # 
table_name
+% table_id,    partition_id,   value # name
+% int, int,    varchar # type
+% 1,   1,      0 # length
 
 # 12:34:37 >  
 # 12:34:37 >  "Done."
diff --git a/sql/test/sys-schema/Tests/check_MaxStrLength_violations.sql 
b/sql/test/sys-schema/Tests/check_MaxStrLength_violations.sql
--- a/sql/test/sys-schema/Tests/check_MaxStrLength_violations.sql
+++ b/sql/test/sys-schema/Tests/check_MaxStrLength_violations.sql
@@ -1,4 +1,5 @@
 -- Character string data max length violation checks
+-- All queries should return NO rows (so no violations found).
 
 -- query used to synthesize bam specific SQLs for checking data length 
violations:
 -- select s.name as sch_nm, t.name as tbl_nm, t.type, c.name as col_nm, 
c.type, c.type_digits
diff --git a/sql/test/sys-schema/Tests/check_Not_Nullable_columns.sql 
b/sql/test/sys-schema/Tests/check_Not_Nullable_columns.sql
--- a/sql/test/sys-schema/Tests/check_Not_Nullable_columns.sql
+++ b/sql/test/sys-schema/Tests/check_Not_Nullable_columns.sql
@@ -1,3 +1,5 @@
+-- All queries should return NO rows (so no violations found).
+
 -- query to fecth all columns (of all tables in all schemas) which are 
specified as NOT NULL
 -- select s.name, t.name, c.name
 --   from columns c join tables t on c.table_id = t.id join schemas s on 
t.schema_id = s.id
@@ -36,6 +38,17 @@ SELECT "privilege_code_name", * FROM "sy
 -- moved to: geom_tables_checks.sql
 -- SELECT "srid", * FROM "sys"."spatial_ref_sys" WHERE "srid" IS NULL;
 
+SELECT "atomwidth", * FROM "sys"."storagemodelinput" WHERE "atomwidth" IS NULL;
+SELECT "column", * FROM "sys"."storagemodelinput" WHERE "column" IS NULL;
+SELECT "count", * FROM "sys"."storagemodelinput" WHERE "count" IS NULL;
+SELECT "distinct", * FROM "sys"."storagemodelinput" WHERE "distinct" IS NULL;
+SELECT "isacolumn", * FROM "sys"."storagemodelinput" WHERE "isacolumn" IS NULL;
+SELECT "reference", * FROM "sys"."storagemodelinput" WHERE "reference" IS NULL;
+SELECT "schema", * FROM "sys"."storagemodelinput" WHERE "schema" IS NULL;
+SELECT "table", * FROM "sys"."storagemodelinput" WHERE "table" IS NULL;
+SELECT "type", * FROM "sys"."storagemodelinput" WHERE "type" IS NULL;
+SELECT "typewidth", * FROM "sys"."storagemodelinput" WHERE "typewidth" IS NULL;
+
 SELECT "function_id", * FROM "sys"."systemfunctions" WHERE "function_id" IS 
NULL;
 
 SELECT "table_type_id", * FROM "sys"."table_types" WHERE "table_type_id" IS 
NULL;
@@ -125,12 +138,28 @@ SELECT "privileges", * FROM "sys"."privi
 SELECT "grantor", * FROM "sys"."privileges" WHERE "grantor" IS NULL;
 SELECT "grantable", * FROM "sys"."privileges" WHERE "grantable" IS NULL;
 
+SELECT "maximum", * FROM "sys"."range_partitions" WHERE "maximum" IS NULL;
+SELECT "minimum", * FROM "sys"."range_partitions" WHERE "minimum" IS NULL;
+SELECT "partition_id", * FROM "sys"."range_partitions" WHERE "partition_id" IS 
NULL;
+SELECT "table_id", * FROM "sys"."range_partitions" WHERE "table_id" IS NULL;
+SELECT "with_nulls", * FROM "sys"."range_partitions" WHERE "with_nulls" IS 
NULL;
+
 SELECT "id", * FROM "sys"."schemas" WHERE "id" IS NULL;
 SELECT "name", * FROM "sys"."schemas" WHERE "name" IS NULL;
 SELECT "authorization", * FROM "sys"."schemas" WHERE "authorization" IS NULL;
 SELECT "owner", * FROM "sys"."schemas" WHERE "owner" IS NULL;
 SELECT "system", * FROM "sys"."schemas" WHERE "system" IS NULL;
 
+SELECT "cacheinc", * FROM "sys"."sequences" WHERE "cacheinc" IS NULL;
+SELECT "cycle", * FROM "sys"."sequences" WHERE "cycle" IS NULL;
+SELECT "id", * FROM "sys"."sequences" WHERE "id" IS NULL;
+SELECT "increment", * FROM "sys"."sequences" WHERE "increment" IS NULL;
+SELECT "maxvalue", * FROM "sys"."sequences" WHERE "maxvalue" IS NULL;
+SELECT "minvalue", * FROM "sys"."sequences" WHERE "minvalue" IS NULL;
+SELECT "name", * FROM "sys"."sequences" WHERE "name" IS NULL;
+SELECT "schema_id", * FROM "sys"."sequences" WHERE "schema_id" IS NULL;
+SELECT "start", * FROM "sys"."sequences" WHERE "start" IS NULL;
+
 -- moved to: geom_tables_checks.sql
 -- SELECT "auth_name", * FROM "sys"."spatial_ref_sys" WHERE "auth_name" IS 
NULL;
 -- SELECT "auth_srid", * FROM "sys"."spatial_ref_sys" WHERE "auth_srid" IS 
NULL;
@@ -150,6 +179,15 @@ SELECT "maxval", * FROM "sys"."statistic
 SELECT "sorted", * FROM "sys"."statistics" WHERE "sorted" IS NULL;
 SELECT "revsorted", * FROM "sys"."statistics" WHERE "revsorted" IS NULL;
 
+SELECT "sorted", * FROM "sys"."storagemodelinput" WHERE "sorted" IS NULL;
+SELECT "unique", * FROM "sys"."storagemodelinput" WHERE "unique" IS NULL;
+
+SELECT "id", * FROM "sys"."table_partitions" WHERE "id" IS NULL;
+SELECT "table_id", * FROM "sys"."table_partitions" WHERE "table_id" IS NULL;
+SELECT "type", * FROM "sys"."table_partitions" WHERE "type" IS NULL;
+-- either column_id or expression must be populated
+SELECT "column_id", "expression", * FROM "sys"."table_partitions" WHERE 
"column_id" IS NULL AND "expression" IS NULL;
+
 SELECT "id", * FROM "sys"."triggers" WHERE "id" IS NULL;
 SELECT "name", * FROM "sys"."triggers" WHERE "name" IS NULL;
 SELECT "table_id", * FROM "sys"."triggers" WHERE "table_id" IS NULL;
@@ -167,3 +205,10 @@ SELECT "radix", * FROM "sys"."types" WHE
 SELECT "eclass", * FROM "sys"."types" WHERE "eclass" IS NULL;
 SELECT "schema_id", * FROM "sys"."types" WHERE "schema_id" IS NULL;
 
+SELECT "login_id", * FROM "sys"."user_role" WHERE "login_id" IS NULL;
+SELECT "role_id", * FROM "sys"."user_role" WHERE "role_id" IS NULL;
+
+SELECT "partition_id", * FROM "sys"."value_partitions" WHERE "partition_id" IS 
NULL;
+SELECT "table_id", * FROM "sys"."value_partitions" WHERE "table_id" IS NULL;
+SELECT "value", * FROM "sys"."value_partitions" WHERE "value" IS NULL;
+
diff --git a/sql/test/sys-schema/Tests/check_Not_Nullable_columns.stable.out 
b/sql/test/sys-schema/Tests/check_Not_Nullable_columns.stable.out
--- a/sql/test/sys-schema/Tests/check_Not_Nullable_columns.stable.out
+++ b/sql/test/sys-schema/Tests/check_Not_Nullable_columns.stable.out
@@ -104,6 +104,56 @@ Ready.
 % privilege_code_name, privilege_code_id,      privilege_code_name # name
 % varchar,     int,    varchar # type
 % 0,   1,      0 # length
+#SELECT "atomwidth", * FROM "sys"."storagemodelinput" WHERE "atomwidth" IS 
NULL;
+% sys.storagemodelinput,       sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput # table_name
+% atomwidth,   schema, table,  column, type,   typewidth,      count,  
distinct,       atomwidth,      reference,      sorted, unique, isacolumn # name
+% int, varchar,        varchar,        varchar,        varchar,        int,    
bigint, bigint, int,    boolean,        boolean,        boolean,        boolean 
# type
+% 1,   0,      0,      0,      0,      1,      1,      1,      1,      5,      
5,      5,      5 # length
+#SELECT "column", * FROM "sys"."storagemodelinput" WHERE "column" IS NULL;
+% sys.storagemodelinput,       sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput # table_name
+% column,      schema, table,  column, type,   typewidth,      count,  
distinct,       atomwidth,      reference,      sorted, unique, isacolumn # name
+% varchar,     varchar,        varchar,        varchar,        varchar,        
int,    bigint, bigint, int,    boolean,        boolean,        boolean,        
boolean # type
+% 0,   0,      0,      0,      0,      1,      1,      1,      1,      5,      
5,      5,      5 # length
+#SELECT "count", * FROM "sys"."storagemodelinput" WHERE "count" IS NULL;
+% sys.storagemodelinput,       sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput # table_name
+% count,       schema, table,  column, type,   typewidth,      count,  
distinct,       atomwidth,      reference,      sorted, unique, isacolumn # name
+% bigint,      varchar,        varchar,        varchar,        varchar,        
int,    bigint, bigint, int,    boolean,        boolean,        boolean,        
boolean # type
+% 1,   0,      0,      0,      0,      1,      1,      1,      1,      5,      
5,      5,      5 # length
+#SELECT "distinct", * FROM "sys"."storagemodelinput" WHERE "distinct" IS NULL;
+% sys.storagemodelinput,       sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput # table_name
+% distinct,    schema, table,  column, type,   typewidth,      count,  
distinct,       atomwidth,      reference,      sorted, unique, isacolumn # name
+% bigint,      varchar,        varchar,        varchar,        varchar,        
int,    bigint, bigint, int,    boolean,        boolean,        boolean,        
boolean # type
+% 1,   0,      0,      0,      0,      1,      1,      1,      1,      5,      
5,      5,      5 # length
+#SELECT "isacolumn", * FROM "sys"."storagemodelinput" WHERE "isacolumn" IS 
NULL;
+% sys.storagemodelinput,       sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput # table_name
+% isacolumn,   schema, table,  column, type,   typewidth,      count,  
distinct,       atomwidth,      reference,      sorted, unique, isacolumn # name
+% boolean,     varchar,        varchar,        varchar,        varchar,        
int,    bigint, bigint, int,    boolean,        boolean,        boolean,        
boolean # type
+% 5,   0,      0,      0,      0,      1,      1,      1,      1,      5,      
5,      5,      5 # length
+#SELECT "reference", * FROM "sys"."storagemodelinput" WHERE "reference" IS 
NULL;
+% sys.storagemodelinput,       sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput # table_name
+% reference,   schema, table,  column, type,   typewidth,      count,  
distinct,       atomwidth,      reference,      sorted, unique, isacolumn # name
+% boolean,     varchar,        varchar,        varchar,        varchar,        
int,    bigint, bigint, int,    boolean,        boolean,        boolean,        
boolean # type
+% 5,   0,      0,      0,      0,      1,      1,      1,      1,      5,      
5,      5,      5 # length
+#SELECT "schema", * FROM "sys"."storagemodelinput" WHERE "schema" IS NULL;
+% sys.storagemodelinput,       sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput # table_name
+% schema,      schema, table,  column, type,   typewidth,      count,  
distinct,       atomwidth,      reference,      sorted, unique, isacolumn # name
+% varchar,     varchar,        varchar,        varchar,        varchar,        
int,    bigint, bigint, int,    boolean,        boolean,        boolean,        
boolean # type
+% 0,   0,      0,      0,      0,      1,      1,      1,      1,      5,      
5,      5,      5 # length
+#SELECT "table", * FROM "sys"."storagemodelinput" WHERE "table" IS NULL;
+% sys.storagemodelinput,       sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput # table_name
+% table,       schema, table,  column, type,   typewidth,      count,  
distinct,       atomwidth,      reference,      sorted, unique, isacolumn # name
+% varchar,     varchar,        varchar,        varchar,        varchar,        
int,    bigint, bigint, int,    boolean,        boolean,        boolean,        
boolean # type
+% 0,   0,      0,      0,      0,      1,      1,      1,      1,      5,      
5,      5,      5 # length
+#SELECT "type", * FROM "sys"."storagemodelinput" WHERE "type" IS NULL;
+% sys.storagemodelinput,       sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput # table_name
+% type,        schema, table,  column, type,   typewidth,      count,  
distinct,       atomwidth,      reference,      sorted, unique, isacolumn # name
+% varchar,     varchar,        varchar,        varchar,        varchar,        
int,    bigint, bigint, int,    boolean,        boolean,        boolean,        
boolean # type
+% 0,   0,      0,      0,      0,      1,      1,      1,      1,      5,      
5,      5,      5 # length
+#SELECT "typewidth", * FROM "sys"."storagemodelinput" WHERE "typewidth" IS 
NULL;
+% sys.storagemodelinput,       sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput,  sys.storagemodelinput,  sys.storagemodelinput,  
sys.storagemodelinput # table_name
+% typewidth,   schema, table,  column, type,   typewidth,      count,  
distinct,       atomwidth,      reference,      sorted, unique, isacolumn # name
+% int, varchar,        varchar,        varchar,        varchar,        int,    
bigint, bigint, int,    boolean,        boolean,        boolean,        boolean 
# type
+% 1,   0,      0,      0,      0,      1,      1,      1,      1,      5,      
5,      5,      5 # length
 #SELECT "function_id", * FROM "sys"."systemfunctions" WHERE "function_id" IS 
NULL;
 % sys.systemfunctions, sys.systemfunctions # table_name
 % function_id, function_id # name
@@ -424,6 +474,31 @@ Ready.
 % grantable,   obj_id, auth_id,        privileges,     grantor,        
grantable # name
 % int, int,    int,    int,    int,    int # type
 % 1,   1,      1,      1,      1,      1 # length
+#SELECT "maximum", * FROM "sys"."range_partitions" WHERE "maximum" IS NULL;
+% sys.range_partitions,        sys.range_partitions,   sys.range_partitions,   
sys.range_partitions,   sys.range_partitions,   sys.range_partitions # 
table_name
+% maximum,     table_id,       partition_id,   minimum,        maximum,        
with_nulls # name
+% varchar,     int,    int,    varchar,        varchar,        boolean # type
+% 0,   1,      1,      0,      0,      5 # length
+#SELECT "minimum", * FROM "sys"."range_partitions" WHERE "minimum" IS NULL;
+% sys.range_partitions,        sys.range_partitions,   sys.range_partitions,   
sys.range_partitions,   sys.range_partitions,   sys.range_partitions # 
table_name
+% minimum,     table_id,       partition_id,   minimum,        maximum,        
with_nulls # name
+% varchar,     int,    int,    varchar,        varchar,        boolean # type
+% 0,   1,      1,      0,      0,      5 # length
+#SELECT "partition_id", * FROM "sys"."range_partitions" WHERE "partition_id" 
IS NULL;
+% sys.range_partitions,        sys.range_partitions,   sys.range_partitions,   
sys.range_partitions,   sys.range_partitions,   sys.range_partitions # 
table_name
+% partition_id,        table_id,       partition_id,   minimum,        
maximum,        with_nulls # name
+% int, int,    int,    varchar,        varchar,        boolean # type
+% 1,   1,      1,      0,      0,      5 # length
+#SELECT "table_id", * FROM "sys"."range_partitions" WHERE "table_id" IS NULL;
+% sys.range_partitions,        sys.range_partitions,   sys.range_partitions,   
sys.range_partitions,   sys.range_partitions,   sys.range_partitions # 
table_name
+% table_id,    table_id,       partition_id,   minimum,        maximum,        
with_nulls # name
+% int, int,    int,    varchar,        varchar,        boolean # type
+% 1,   1,      1,      0,      0,      5 # length
+#SELECT "with_nulls", * FROM "sys"."range_partitions" WHERE "with_nulls" IS 
NULL;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to