Changeset: 65911e8191f6 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=65911e8191f6 Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/SQL-dump.stable.out.int128 clients/Tests/exports.stable.out sql/test/Dependencies/Tests/Dependencies.stable.err sql/test/Dependencies/Tests/Dependencies.stable.out sql/test/Dependencies/Tests/Dependencies.stable.out.int128 sql/test/leaks/Tests/check0.stable.out.int128 sql/test/leaks/Tests/check1.stable.out.int128 sql/test/leaks/Tests/check2.stable.out.int128 sql/test/leaks/Tests/check3.stable.out.int128 sql/test/leaks/Tests/check4.stable.out.int128 sql/test/leaks/Tests/check5.stable.out.int128 sql/test/leaks/Tests/select1.stable.out.int128 sql/test/leaks/Tests/select2.stable.out.int128 Branch: leftmart Log Message:
Approvals. diffs (truncated from 3910 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -2362,6 +2362,7 @@ command algebra.not_like(s:str,pat:str): address PCREnotlike2; command algebra.not_like(s:str,pat:str,esc:str):bit address PCREnotlike3; +function algebra.orderidx(bv:bat[:oid,:any_1],reverse:bit,stable:bit):bat[:oid,:oid]; pattern algebra.project(b:bat[:oid,:any_1],v:any_3):bat[:oid,:any_3] address ALGprojecttail; comment Fill the tail with a constant @@ -31151,6 +31152,10 @@ command bat.delete(b:bat[:oid,:any_1],sr address BKCdelete_bat_bun; comment Delete from the first BAT all BUNs with a corresponding BUN in the second. +pattern bat.getorderidx(bv:bat[:oid,:any_1]):bat[:oid,:oid] +address OIDXgetorderidx; +comment Return the order index oid bat if exists (not safe, for debug) + command bat.getName(b:bat[:oid,:any_1]):str address BKCgetBBPname; comment Gives back the logical name of a BAT. @@ -31273,6 +31278,18 @@ pattern bat.new(ht:oid,tt:any_1):bat[:oi address CMDBATnew; comment Creates a new empty transient BAT, with head- and tail-types as indicated. +pattern bat.orderidx(bv:bat[:oid,:any_1],l:bat[:oid,:oid]...):void +address OIDXmerge; +comment Consolidates the OID index arrangement + +pattern bat.orderidx(bv:bat[:oid,:any_1],pieces:int):void +address OIDXcreate; +comment Introduces the OID index arrangement of ordered values + +pattern bat.orderidx(bv:bat[:oid,:any_1]):void +address OIDXcreate; +comment Introduces the OID index arrangement of ordered values + pattern bat.partition(b:bat[:oid,:any_1],pieces:int,n:int):bat[:oid,:any_1] address CMDBATpartition2; comment Create the n-th slice over the BAT broken into several pieces. @@ -40768,7 +40785,7 @@ pattern sql.sysmon_pause(tag:sht):void address SYSMONpause; pattern sql.sysmon_queue() (qtag:bat[:oid,:lng],user:bat[:oid,:str],started:bat[:oid,:timestamp],estimate:bat[:oid,:timestamp],progress:bat[:oid,:int],status:bat[:oid,:str],tag:bat[:oid,:oid],query:bat[:oid,:str]) address SYSMONqueue; -pattern sql.storage() (schema:bat[:oid,:str],table:bat[:oid,:str],column:bat[:oid,:str],type:bat[:oid,:str],mode:bat[:oid,:str],location:bat[:oid,:str],count:bat[:oid,:lng],atomwidth:bat[:oid,:int],columnsize:bat[:oid,:lng],heap:bat[:oid,:lng],hashes:bat[:oid,:lng],phash:bat[:oid,:bit],imprints:bat[:oid,:lng],sorted:bat[:oid,:bit]) +pattern sql.storage() (schema:bat[:oid,:str],table:bat[:oid,:str],column:bat[:oid,:str],type:bat[:oid,:str],mode:bat[:oid,:str],location:bat[:oid,:str],count:bat[:oid,:lng],atomwidth:bat[:oid,:int],columnsize:bat[:oid,:lng],heap:bat[:oid,:lng],hashes:bat[:oid,:lng],phash:bat[:oid,:bit],imprints:bat[:oid,:lng],sorted:bat[:oid,:bit],orderidx:bat[:oid,:lng]) address sql_storage; comment return a table with storage information diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -2873,6 +2873,7 @@ command algebra.not_like(s:str,pat:str): address PCREnotlike2; command algebra.not_like(s:str,pat:str,esc:str):bit address PCREnotlike3; +function algebra.orderidx(bv:bat[:oid,:any_1],reverse:bit,stable:bit):bat[:oid,:oid]; pattern algebra.project(b:bat[:oid,:any_1],v:any_3):bat[:oid,:any_3] address ALGprojecttail; comment Fill the tail with a constant @@ -40192,6 +40193,10 @@ command bat.delete(b:bat[:oid,:any_1],sr address BKCdelete_bat_bun; comment Delete from the first BAT all BUNs with a corresponding BUN in the second. +pattern bat.getorderidx(bv:bat[:oid,:any_1]):bat[:oid,:oid] +address OIDXgetorderidx; +comment Return the order index oid bat if exists (not safe, for debug) + command bat.getName(b:bat[:oid,:any_1]):str address BKCgetBBPname; comment Gives back the logical name of a BAT. @@ -40318,6 +40323,18 @@ pattern bat.new(ht:oid,tt:any_1):bat[:oi address CMDBATnew; comment Creates a new empty transient BAT, with head- and tail-types as indicated. +pattern bat.orderidx(bv:bat[:oid,:any_1],l:bat[:oid,:oid]...):void +address OIDXmerge; +comment Consolidates the OID index arrangement + +pattern bat.orderidx(bv:bat[:oid,:any_1],pieces:int):void +address OIDXcreate; +comment Introduces the OID index arrangement of ordered values + +pattern bat.orderidx(bv:bat[:oid,:any_1]):void +address OIDXcreate; +comment Introduces the OID index arrangement of ordered values + pattern bat.partition(b:bat[:oid,:any_1],pieces:int,n:int):bat[:oid,:any_1] address CMDBATpartition2; comment Create the n-th slice over the BAT broken into several pieces. @@ -51707,7 +51724,7 @@ pattern sql.sysmon_pause(tag:sht):void address SYSMONpause; pattern sql.sysmon_queue() (qtag:bat[:oid,:lng],user:bat[:oid,:str],started:bat[:oid,:timestamp],estimate:bat[:oid,:timestamp],progress:bat[:oid,:int],status:bat[:oid,:str],tag:bat[:oid,:oid],query:bat[:oid,:str]) address SYSMONqueue; -pattern sql.storage() (schema:bat[:oid,:str],table:bat[:oid,:str],column:bat[:oid,:str],type:bat[:oid,:str],mode:bat[:oid,:str],location:bat[:oid,:str],count:bat[:oid,:lng],atomwidth:bat[:oid,:int],columnsize:bat[:oid,:lng],heap:bat[:oid,:lng],hashes:bat[:oid,:lng],phash:bat[:oid,:bit],imprints:bat[:oid,:lng],sorted:bat[:oid,:bit]) +pattern sql.storage() (schema:bat[:oid,:str],table:bat[:oid,:str],column:bat[:oid,:str],type:bat[:oid,:str],mode:bat[:oid,:str],location:bat[:oid,:str],count:bat[:oid,:lng],atomwidth:bat[:oid,:int],columnsize:bat[:oid,:lng],heap:bat[:oid,:lng],hashes:bat[:oid,:lng],phash:bat[:oid,:bit],imprints:bat[:oid,:lng],sorted:bat[:oid,:bit],orderidx:bat[:oid,:lng]) address sql_storage; comment return a table with storage information diff --git a/clients/Tests/SQL-dump.stable.out.int128 b/clients/Tests/SQL-dump.stable.out.int128 --- a/clients/Tests/SQL-dump.stable.out.int128 +++ b/clients/Tests/SQL-dump.stable.out.int128 @@ -208,6 +208,7 @@ SYSTEM FUNCTION sys.network SYSTEM FUNCTION sys.newurl SYSTEM FUNCTION sys.optimizer_stats SYSTEM FUNCTION sys.optimizers +SYSTEM FUNCTION sys.orderidx SYSTEM FUNCTION sys.overlaps SYSTEM FUNCTION sys.password_hash SYSTEM FUNCTION sys.pause @@ -408,7 +409,8 @@ CREATE TABLE "sys"."storagemodelinput" ( "distinct" BIGINT, "atomwidth" INTEGER, "reference" BOOLEAN, - "sorted" BOOLEAN + "sorted" BOOLEAN, + "orderidx" BIGINT ); CREATE TABLE "sys"."systemfunctions" ( "function_id" INTEGER @@ -1224,7 +1226,8 @@ returns table ( hashes bigint, phash boolean, imprints bigint, - sorted boolean + sorted boolean, + orderidx bigint ) external name sql."storage"; create function sys.storagemodel() @@ -1238,14 +1241,15 @@ returns table ( heapsize bigint, hashes bigint, imprints bigint, - sorted boolean) + sorted boolean, + orderidx bigint) begin return select i."schema", i."table", i."column", i."type", i."count", columnsize(i."type", i.count, i."distinct"), heapsize(i."type", i."distinct", i."atomwidth"), hashsize(i."reference", i."count"), imprintsize(i."count",i."type"), - i.sorted + i.sorted, i.orderidx from sys.storagemodelinput i; end; -- this table can be adjusted to reflect the anticipated final database size @@ -1256,7 +1260,7 @@ begin delete from sys.storagemodelinput; insert into sys.storagemodelinput - select x."schema", x."table", x."column", x."type", x.typewidth, x.count, 0, x.typewidth, false, x.sorted from sys."storage"() x; + select x."schema", x."table", x."column", x."type", x.typewidth, x.count, 0, x.typewidth, false, x.sorted, x.orderidx from sys."storage"() x; update sys.storagemodelinput set reference = true @@ -1400,7 +1404,7 @@ CREATE TABLE "sys"."_columns" ( "number" INTEGER, "storage" VARCHAR(2048) ); -COPY 361 RECORDS INTO "sys"."_columns" FROM stdin USING DELIMITERS '\t','\n','"'; +COPY 364 RECORDS INTO "sys"."_columns" FROM stdin USING DELIMITERS '\t','\n','"'; 2002 "id" "int" 32 0 2001 NULL true 0 NULL 2003 "name" "varchar" 1024 0 2001 NULL true 1 NULL 2004 "authorization" "int" 32 0 2001 NULL true 2 NULL @@ -1615,153 +1619,156 @@ 5926 "minflt" "bigint" 64 0 5930 NULL tr 5927 "majflt" "bigint" 64 0 5930 NULL true 10 NULL 5928 "nvcsw" "bigint" 64 0 5930 NULL true 11 NULL 5929 "stmt" "clob" 0 0 5930 NULL true 12 NULL -6064 "user" "clob" 0 0 6070 NULL true 0 NULL -6065 "login" "timestamp" 7 0 6070 NULL true 1 NULL -6066 "sessiontimeout" "bigint" 64 0 6070 NULL true 2 NULL -6067 "lastcommand" "timestamp" 7 0 6070 NULL true 3 NULL -6068 "querytimeout" "bigint" 64 0 6070 NULL true 4 NULL -6069 "active" "boolean" 1 0 6070 NULL true 5 NULL -6147 "name" "clob" 0 0 6150 NULL true 0 NULL -6148 "def" "clob" 0 0 6150 NULL true 1 NULL -6149 "status" "clob" 0 0 6150 NULL true 2 NULL -6156 "name" "clob" 0 0 6158 NULL true 0 NULL -6157 "value" "clob" 0 0 6158 NULL true 1 NULL -6194 "qtag" "bigint" 64 0 6202 NULL true 0 NULL -6195 "user" "clob" 0 0 6202 NULL true 1 NULL -6196 "started" "timestamp" 7 0 6202 NULL true 2 NULL -6197 "estimate" "timestamp" 7 0 6202 NULL true 3 NULL -6198 "progress" "int" 32 0 6202 NULL true 4 NULL -6199 "status" "clob" 0 0 6202 NULL true 5 NULL -6200 "tag" "oid" 63 0 6202 NULL true 6 NULL -6201 "query" "clob" 0 0 6202 NULL true 7 NULL -6228 "rowid" "bigint" 64 0 6232 NULL true 0 NULL -6229 "fldid" "int" 32 0 6232 NULL true 1 NULL -6230 "message" "clob" 0 0 6232 NULL true 2 NULL -6231 "input" "clob" 0 0 6232 NULL true 3 NULL -6887 "keyword" "varchar" 40 0 6890 NULL false 0 NULL -6892 "table_type_id" "smallint" 16 0 6898 NULL false 0 NULL -6895 "table_type_name" "varchar" 25 0 6898 NULL false 1 NULL -6900 "dependency_type_id" "smallint" 16 0 6906 NULL false 0 NULL -6903 "dependency_type_name" "varchar" 15 0 6906 NULL false 1 NULL -6921 "file_id" "int" 32 0 6923 NULL true 0 NULL -6922 "location" "char" 256 0 6923 NULL true 1 NULL -6925 "dim_id" "int" 32 0 6929 NULL true 0 NULL -6926 "file_id" "int" 32 0 6929 NULL true 1 NULL -6927 "name" "varchar" 64 0 6929 NULL true 2 NULL -6928 "length" "int" 32 0 6929 NULL true 3 NULL -6931 "var_id" "int" 32 0 6937 NULL true 0 NULL -6932 "file_id" "int" 32 0 6937 NULL true 1 NULL -6933 "name" "varchar" 64 0 6937 NULL true 2 NULL -6934 "vartype" "varchar" 64 0 6937 NULL true 3 NULL -6935 "ndim" "int" 32 0 6937 NULL true 4 NULL -6936 "coord_dim_id" "int" 32 0 6937 NULL true 5 NULL -6939 "var_id" "int" 32 0 6943 NULL true 0 NULL -6940 "dim_id" "int" 32 0 6943 NULL true 1 NULL -6941 "file_id" "int" 32 0 6943 NULL true 2 NULL -6942 "dimpos" "int" 32 0 6943 NULL true 3 NULL -6945 "obj_name" "varchar" 256 0 6951 NULL true 0 NULL -6946 "att_name" "varchar" 256 0 6951 NULL true 1 NULL -6947 "att_type" "varchar" 64 0 6951 NULL true 2 NULL -6948 "value" "clob" 0 0 6951 NULL true 3 NULL -6949 "file_id" "int" 32 0 6951 NULL true 4 NULL -6950 "gr_name" "varchar" 256 0 6951 NULL true 5 NULL -6976 "schema" "clob" 0 0 6990 NULL true 0 NULL -6977 "table" "clob" 0 0 6990 NULL true 1 NULL -6978 "column" "clob" 0 0 6990 NULL true 2 NULL -6979 "type" "clob" 0 0 6990 NULL true 3 NULL -6980 "mode" "clob" 0 0 6990 NULL true 4 NULL -6981 "location" "clob" 0 0 6990 NULL true 5 NULL -6982 "count" "bigint" 64 0 6990 NULL true 6 NULL -6983 "typewidth" "int" 32 0 6990 NULL true 7 NULL -6984 "columnsize" "bigint" 64 0 6990 NULL true 8 NULL -6985 "heapsize" "bigint" 64 0 6990 NULL true 9 NULL -6986 "hashes" "bigint" 64 0 6990 NULL true 10 NULL -6987 "phash" "boolean" 1 0 6990 NULL true 11 NULL -6988 "imprints" "bigint" 64 0 6990 NULL true 12 NULL -6989 "sorted" "boolean" 1 0 6990 NULL true 13 NULL -6992 "schema" "clob" 0 0 7002 NULL true 0 NULL -6993 "table" "clob" 0 0 7002 NULL true 1 NULL -6994 "column" "clob" 0 0 7002 NULL true 2 NULL -6995 "type" "clob" 0 0 7002 NULL true 3 NULL -6996 "typewidth" "int" 32 0 7002 NULL true 4 NULL -6997 "count" "bigint" 64 0 7002 NULL true 5 NULL -6998 "distinct" "bigint" 64 0 7002 NULL true 6 NULL -6999 "atomwidth" "int" 32 0 7002 NULL true 7 NULL -7000 "reference" "boolean" 1 0 7002 NULL true 8 NULL -7001 "sorted" "boolean" 1 0 7002 NULL true 9 NULL -7040 "schema" "clob" 0 0 7050 NULL true 0 NULL -7041 "table" "clob" 0 0 7050 NULL true 1 NULL -7042 "column" "clob" 0 0 7050 NULL true 2 NULL -7043 "type" "clob" 0 0 7050 NULL true 3 NULL -7044 "count" "bigint" 64 0 7050 NULL true 4 NULL -7045 "columnsize" "bigint" 64 0 7050 NULL true 5 NULL -7046 "heapsize" "bigint" 64 0 7050 NULL true 6 NULL -7047 "hashes" "bigint" 64 0 7050 NULL true 7 NULL -7048 "imprints" "bigint" 64 0 7050 NULL true 8 NULL -7049 "sorted" "boolean" 1 0 7050 NULL true 9 NULL -7052 "schema" "clob" 0 0 7060 NULL true 0 NULL -7053 "table" "clob" 0 0 7060 NULL true 1 NULL -7054 "count" "bigint" 64 0 7060 NULL true 2 NULL -7055 "columnsize" "hugeint" 128 0 7060 NULL true 3 NULL -7056 "heapsize" "hugeint" 128 0 7060 NULL true 4 NULL -7057 "hashes" "hugeint" 128 0 7060 NULL true 5 NULL -7058 "imprints" "hugeint" 128 0 7060 NULL true 6 NULL -7059 "auxiliary" "hugeint" 128 0 7060 NULL true 7 NULL -7062 "column_id" "int" 32 0 7073 NULL true 0 NULL -7063 "type" "clob" 0 0 7073 NULL true 1 NULL -7064 "width" "int" 32 0 7073 NULL true 2 NULL -7065 "stamp" "timestamp" 7 0 7073 NULL true 3 NULL -7066 "sample" "bigint" 64 0 7073 NULL true 4 NULL -7067 "count" "bigint" 64 0 7073 NULL true 5 NULL -7068 "unique" "bigint" 64 0 7073 NULL true 6 NULL -7069 "nils" "bigint" 64 0 7073 NULL true 7 NULL -7070 "minval" "clob" 0 0 7073 NULL true 8 NULL -7071 "maxval" "clob" 0 0 7073 NULL true 9 NULL -7072 "sorted" "boolean" 1 0 7073 NULL true 10 NULL -7163 "file_id" "bigint" 64 0 7171 NULL false 0 NULL -7164 "file_location" "clob" 0 0 7171 NULL false 1 NULL -7165 "dbschema" "smallint" 16 0 7171 NULL false 2 NULL -7166 "format_version" "varchar" 7 0 7171 NULL true 3 NULL -7167 "sorting_order" "varchar" 10 0 7171 NULL true 4 NULL -7168 "comments" "clob" 0 0 7171 NULL true 5 NULL -7173 "sn" "clob" 0 0 7184 NULL false 0 NULL -7174 "file_id" "bigint" 64 0 7184 NULL false 1 NULL -7175 "ln" "int" 32 0 7184 NULL true 2 NULL -7176 "as" "int" 32 0 7184 NULL true 3 NULL -7177 "m5" "clob" 0 0 7184 NULL true 4 NULL -7178 "sp" "clob" 0 0 7184 NULL true 5 NULL -7179 "ur" "clob" 0 0 7184 NULL true 6 NULL -7186 "id" "clob" 0 0 7203 NULL false 0 NULL -7187 "file_id" "bigint" 64 0 7203 NULL false 1 NULL -7188 "cn" "clob" 0 0 7203 NULL true 2 NULL -7189 "ds" "clob" 0 0 7203 NULL true 3 NULL -7190 "dt" "timestamp" 7 0 7203 NULL true 4 NULL -7191 "fo" "clob" 0 0 7203 NULL true 5 NULL -7192 "ks" "clob" 0 0 7203 NULL true 6 NULL -7193 "lb" "clob" 0 0 7203 NULL true 7 NULL -7194 "pg" "clob" 0 0 7203 NULL true 8 NULL -7195 "pi" "int" 32 0 7203 NULL true 9 NULL -7196 "pl" "clob" 0 0 7203 NULL true 10 NULL -7197 "pu" "clob" 0 0 7203 NULL true 11 NULL -7198 "sm" "clob" 0 0 7203 NULL true 12 NULL _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list