Changeset: 9b6c930b20dc for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9b6c930b20dc
Modified Files:
clients/Tests/exports.stable.out
monetdb5/modules/mal/array.mx
sql/scripts/29_array.sql
sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out
sql/test/Tests/systemfunctions.stable.out
sql/test/leaks/Tests/check1.stable.out
sql/test/leaks/Tests/check2.stable.out
sql/test/leaks/Tests/check3.stable.out
sql/test/leaks/Tests/check4.stable.out
sql/test/leaks/Tests/check5.stable.out
sql/test/mapi/Tests/php_monetdb.stable.out
Branch: SciQL-2
Log Message:
added array_offsets(...) (SQL), array.offsets(...) (MAL) & ARRAYoffsets_*(...)
C functions
in an attempt to implement tiled array aggragation on non-rectangular tiles
by explicitly specifying each cell of a tile explicitly
diffs (truncated from 1695 to 300 lines):
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -860,6 +860,12 @@ str ALGvariance(dbl *res, int *bid);
str ALGvariancep(dbl *res, int *bid);
str ARRAYfiller(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
str ARRAYfiller_bat(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
+str ARRAYoffsets_bte(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str ARRAYoffsets_dbl(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str ARRAYoffsets_flt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str ARRAYoffsets_int(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str ARRAYoffsets_lng(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str ARRAYoffsets_sht(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
str ARRAYseries_bte(bat *ret, bte *start, bte *step, bte *stop, int *grp, int
*series);
str ARRAYseries_dbl(bat *ret, dbl *start, dbl *step, dbl *stop, int *grp, int
*series);
str ARRAYseries_flt(bat *ret, flt *start, flt *step, flt *stop, int *grp, int
*series);
diff --git a/monetdb5/modules/mal/array.mx b/monetdb5/modules/mal/array.mx
--- a/monetdb5/modules/mal/array.mx
+++ b/monetdb5/modules/mal/array.mx
@@ -40,6 +40,14 @@ command series(start:@1, step:@1, stop:@
address ARRAYseries_@1
comment "Generates a single series BAT based on range condition, repeating
each value N times and repeat the process M times.";
+pattern offsets(val:@1) :bat[:oid,:@1]
+address ARRAYoffsets_@1
+comment "Generates an offsets BAT containing the given offset values.";
+
+pattern offsets(val:@1, any...) :bat[:oid,:@1]
+address ARRAYoffsets_@1
+comment "Generates an offsets BAT containing the given offset values.";
+
function series_ (start:@1, step:@1, stop:@1, N:int, M:int)
(id:bat[:oid,:lng], dimval:bat[:oid,:@1]);
b1 := array.series(start, step, stop, N, M);
b2 := bat.mirror(b1);
@@ -182,6 +190,7 @@ array_export str ARRAYtiles_cnt_@1_@2(Cl
@
@= array_defs
array_export str ARRAYseries_@1(bat *ret, @1 *start, @1 *step, @1 *stop, int
*grp, int *series);
+array_export str ARRAYoffsets_@1(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
@:array_defs_DimType(@1,bte)@
@:array_defs_DimType(@1,sht)@
@:array_defs_DimType(@1,int)@
@@ -269,6 +278,39 @@ ARRAYseries_@1(bat *ret, @1 *start, @1 *
return MAL_SUCCEED;
}
+str
+ARRAYoffsets_@1(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+{
+ bat *ret = (bat*) getArgReference(stk,pci,0);
+ BUN p, rescnt = pci->argc - pci->retc;
+ BAT *res;
+ @1 *resT;
+ int i;
+
+ (void) cntxt;
+ (void) mb;
+
+ res = BATnew(TYPE_void, TYPE_@1, rescnt);
+ if(res == NULL) {
+ throw(MAL, "array.offsets", MAL_MALLOC_FAIL);
+ }
+ resT = (@1*) Tloc(res, BUNfirst(res));
+
+ for (p = 0, i = pci->retc; p < rescnt; p++, i++)
+ resT[p] = *(@1*) getArgReference(stk,pci,i);
+
+ BATsetcount(res, rescnt);
+ BATseqbase(res, 0);
+ res->hdense = TRUE;
+ BATkey(res, TRUE);
+ res->hsorted = 1;
+ res->hrevsorted = (rescnt <= 1);
+ res->tsorted = res->trevsorted = (rescnt <= 1);
+ res->T->nonil = TRUE;
+ BBPkeepref(*ret = res->batCacheid);
+ return MAL_SUCCEED;
+}
+
@c
@:dim_wrapper_impl(bte,%d)@
@:dim_wrapper_impl(sht,%d)@
diff --git a/sql/scripts/29_array.sql b/sql/scripts/29_array.sql
--- a/sql/scripts/29_array.sql
+++ b/sql/scripts/29_array.sql
@@ -36,6 +36,118 @@ create function array_series1("start" bi
create function array_series1("start" real, step real, stop real,
N integer, M integer) returns table (dimval real) external name
"array".series;
create function array_series1("start" double, step double, stop double,
N integer, M integer) returns table (dimval double) external name
"array".series;
+create function array_offsets(val tinyint ) returns table (val tinyint )
external name "array".offsets;
+create function array_offsets(val smallint) returns table (val smallint)
external name "array".offsets;
+create function array_offsets(val integer ) returns table (val integer )
external name "array".offsets;
+create function array_offsets(val bigint ) returns table (val bigint )
external name "array".offsets;
+create function array_offsets(val real ) returns table (val real )
external name "array".offsets;
+create function array_offsets(val double ) returns table (val double )
external name "array".offsets;
+
+create function array_offsets(val tinyint , val tinyint ) returns table (val
tinyint ) external name "array".offsets;
+create function array_offsets(val smallint, val smallint) returns table (val
smallint) external name "array".offsets;
+create function array_offsets(val integer , val integer ) returns table (val
integer ) external name "array".offsets;
+create function array_offsets(val bigint , val bigint ) returns table (val
bigint ) external name "array".offsets;
+create function array_offsets(val real , val real ) returns table (val
real ) external name "array".offsets;
+create function array_offsets(val double , val double ) returns table (val
double ) external name "array".offsets;
+
+create function array_offsets(val tinyint , val tinyint , val tinyint )
returns table (val tinyint ) external name "array".offsets;
+create function array_offsets(val smallint, val smallint, val smallint)
returns table (val smallint) external name "array".offsets;
+create function array_offsets(val integer , val integer , val integer )
returns table (val integer ) external name "array".offsets;
+create function array_offsets(val bigint , val bigint , val bigint )
returns table (val bigint ) external name "array".offsets;
+create function array_offsets(val real , val real , val real )
returns table (val real ) external name "array".offsets;
+create function array_offsets(val double , val double , val double )
returns table (val double ) external name "array".offsets;
+
+create function array_offsets(val tinyint , val tinyint , val tinyint , val
tinyint ) returns table (val tinyint ) external name "array".offsets;
+create function array_offsets(val smallint, val smallint, val smallint, val
smallint) returns table (val smallint) external name "array".offsets;
+create function array_offsets(val integer , val integer , val integer , val
integer ) returns table (val integer ) external name "array".offsets;
+create function array_offsets(val bigint , val bigint , val bigint , val
bigint ) returns table (val bigint ) external name "array".offsets;
+create function array_offsets(val real , val real , val real , val
real ) returns table (val real ) external name "array".offsets;
+create function array_offsets(val double , val double , val double , val
double ) returns table (val double ) external name "array".offsets;
+
+create function array_offsets(val tinyint , val tinyint , val tinyint , val
tinyint , val tinyint ) returns table (val tinyint ) external name
"array".offsets;
+create function array_offsets(val smallint, val smallint, val smallint, val
smallint, val smallint) returns table (val smallint) external name
"array".offsets;
+create function array_offsets(val integer , val integer , val integer , val
integer , val integer ) returns table (val integer ) external name
"array".offsets;
+create function array_offsets(val bigint , val bigint , val bigint , val
bigint , val bigint ) returns table (val bigint ) external name
"array".offsets;
+create function array_offsets(val real , val real , val real , val
real , val real ) returns table (val real ) external name
"array".offsets;
+create function array_offsets(val double , val double , val double , val
double , val double ) returns table (val double ) external name
"array".offsets;
+
+create function array_offsets(val tinyint , val tinyint , val tinyint , val
tinyint , val tinyint , val tinyint ) returns table (val tinyint ) external
name "array".offsets;
+create function array_offsets(val smallint, val smallint, val smallint, val
smallint, val smallint, val smallint) returns table (val smallint) external
name "array".offsets;
+create function array_offsets(val integer , val integer , val integer , val
integer , val integer , val integer ) returns table (val integer ) external
name "array".offsets;
+create function array_offsets(val bigint , val bigint , val bigint , val
bigint , val bigint , val bigint ) returns table (val bigint ) external
name "array".offsets;
+create function array_offsets(val real , val real , val real , val
real , val real , val real ) returns table (val real ) external
name "array".offsets;
+create function array_offsets(val double , val double , val double , val
double , val double , val double ) returns table (val double ) external
name "array".offsets;
+
+create function array_offsets(val tinyint , val tinyint , val tinyint , val
tinyint , val tinyint , val tinyint , val tinyint ) returns table (val tinyint
) external name "array".offsets;
+create function array_offsets(val smallint, val smallint, val smallint, val
smallint, val smallint, val smallint, val smallint) returns table (val
smallint) external name "array".offsets;
+create function array_offsets(val integer , val integer , val integer , val
integer , val integer , val integer , val integer ) returns table (val integer
) external name "array".offsets;
+create function array_offsets(val bigint , val bigint , val bigint , val
bigint , val bigint , val bigint , val bigint ) returns table (val bigint
) external name "array".offsets;
+create function array_offsets(val real , val real , val real , val
real , val real , val real , val real ) returns table (val real
) external name "array".offsets;
+create function array_offsets(val double , val double , val double , val
double , val double , val double , val double ) returns table (val double
) external name "array".offsets;
+
+create function array_offsets(val tinyint , val tinyint , val tinyint , val
tinyint , val tinyint , val tinyint , val tinyint , val tinyint ) returns table
(val tinyint ) external name "array".offsets;
+create function array_offsets(val smallint, val smallint, val smallint, val
smallint, val smallint, val smallint, val smallint, val smallint) returns table
(val smallint) external name "array".offsets;
+create function array_offsets(val integer , val integer , val integer , val
integer , val integer , val integer , val integer , val integer ) returns table
(val integer ) external name "array".offsets;
+create function array_offsets(val bigint , val bigint , val bigint , val
bigint , val bigint , val bigint , val bigint , val bigint ) returns table
(val bigint ) external name "array".offsets;
+create function array_offsets(val real , val real , val real , val
real , val real , val real , val real , val real ) returns table
(val real ) external name "array".offsets;
+create function array_offsets(val double , val double , val double , val
double , val double , val double , val double , val double ) returns table
(val double ) external name "array".offsets;
+
+create function array_offsets(val tinyint , val tinyint , val tinyint , val
tinyint , val tinyint , val tinyint , val tinyint , val tinyint , val tinyint )
returns table (val tinyint ) external name "array".offsets;
+create function array_offsets(val smallint, val smallint, val smallint, val
smallint, val smallint, val smallint, val smallint, val smallint, val smallint)
returns table (val smallint) external name "array".offsets;
+create function array_offsets(val integer , val integer , val integer , val
integer , val integer , val integer , val integer , val integer , val integer )
returns table (val integer ) external name "array".offsets;
+create function array_offsets(val bigint , val bigint , val bigint , val
bigint , val bigint , val bigint , val bigint , val bigint , val bigint )
returns table (val bigint ) external name "array".offsets;
+create function array_offsets(val real , val real , val real , val
real , val real , val real , val real , val real , val real )
returns table (val real ) external name "array".offsets;
+create function array_offsets(val double , val double , val double , val
double , val double , val double , val double , val double , val double )
returns table (val double ) external name "array".offsets;
+
+create function array_offsets(val tinyint , val tinyint , val tinyint , val
tinyint , val tinyint , val tinyint , val tinyint , val tinyint , val tinyint ,
val tinyint ) returns table (val tinyint ) external name "array".offsets;
+create function array_offsets(val smallint, val smallint, val smallint, val
smallint, val smallint, val smallint, val smallint, val smallint, val smallint,
val smallint) returns table (val smallint) external name "array".offsets;
+create function array_offsets(val integer , val integer , val integer , val
integer , val integer , val integer , val integer , val integer , val integer ,
val integer ) returns table (val integer ) external name "array".offsets;
+create function array_offsets(val bigint , val bigint , val bigint , val
bigint , val bigint , val bigint , val bigint , val bigint , val bigint ,
val bigint ) returns table (val bigint ) external name "array".offsets;
+create function array_offsets(val real , val real , val real , val
real , val real , val real , val real , val real , val real ,
val real ) returns table (val real ) external name "array".offsets;
+create function array_offsets(val double , val double , val double , val
double , val double , val double , val double , val double , val double ,
val double ) returns table (val double ) external name "array".offsets;
+
+create function array_offsets(val tinyint , val tinyint , val tinyint , val
tinyint , val tinyint , val tinyint , val tinyint , val tinyint , val tinyint ,
val tinyint , val tinyint ) returns table (val tinyint ) external name
"array".offsets;
+create function array_offsets(val smallint, val smallint, val smallint, val
smallint, val smallint, val smallint, val smallint, val smallint, val smallint,
val smallint, val smallint) returns table (val smallint) external name
"array".offsets;
+create function array_offsets(val integer , val integer , val integer , val
integer , val integer , val integer , val integer , val integer , val integer ,
val integer , val integer ) returns table (val integer ) external name
"array".offsets;
+create function array_offsets(val bigint , val bigint , val bigint , val
bigint , val bigint , val bigint , val bigint , val bigint , val bigint ,
val bigint , val bigint ) returns table (val bigint ) external name
"array".offsets;
+create function array_offsets(val real , val real , val real , val
real , val real , val real , val real , val real , val real ,
val real , val real ) returns table (val real ) external name
"array".offsets;
+create function array_offsets(val double , val double , val double , val
double , val double , val double , val double , val double , val double ,
val double , val double ) returns table (val double ) external name
"array".offsets;
+
+create function array_offsets(val tinyint , val tinyint , val tinyint , val
tinyint , val tinyint , val tinyint , val tinyint , val tinyint , val tinyint ,
val tinyint , val tinyint , val tinyint ) returns table (val tinyint ) external
name "array".offsets;
+create function array_offsets(val smallint, val smallint, val smallint, val
smallint, val smallint, val smallint, val smallint, val smallint, val smallint,
val smallint, val smallint, val smallint) returns table (val smallint) external
name "array".offsets;
+create function array_offsets(val integer , val integer , val integer , val
integer , val integer , val integer , val integer , val integer , val integer ,
val integer , val integer , val integer ) returns table (val integer ) external
name "array".offsets;
+create function array_offsets(val bigint , val bigint , val bigint , val
bigint , val bigint , val bigint , val bigint , val bigint , val bigint ,
val bigint , val bigint , val bigint ) returns table (val bigint ) external
name "array".offsets;
+create function array_offsets(val real , val real , val real , val
real , val real , val real , val real , val real , val real ,
val real , val real , val real ) returns table (val real ) external
name "array".offsets;
+create function array_offsets(val double , val double , val double , val
double , val double , val double , val double , val double , val double ,
val double , val double , val double ) returns table (val double ) external
name "array".offsets;
+
+create function array_offsets(val tinyint , val tinyint , val tinyint , val
tinyint , val tinyint , val tinyint , val tinyint , val tinyint , val tinyint ,
val tinyint , val tinyint , val tinyint , val tinyint ) returns table (val
tinyint ) external name "array".offsets;
+create function array_offsets(val smallint, val smallint, val smallint, val
smallint, val smallint, val smallint, val smallint, val smallint, val smallint,
val smallint, val smallint, val smallint, val smallint) returns table (val
smallint) external name "array".offsets;
+create function array_offsets(val integer , val integer , val integer , val
integer , val integer , val integer , val integer , val integer , val integer ,
val integer , val integer , val integer , val integer ) returns table (val
integer ) external name "array".offsets;
+create function array_offsets(val bigint , val bigint , val bigint , val
bigint , val bigint , val bigint , val bigint , val bigint , val bigint ,
val bigint , val bigint , val bigint , val bigint ) returns table (val
bigint ) external name "array".offsets;
+create function array_offsets(val real , val real , val real , val
real , val real , val real , val real , val real , val real ,
val real , val real , val real , val real ) returns table (val real
) external name "array".offsets;
+create function array_offsets(val double , val double , val double , val
double , val double , val double , val double , val double , val double ,
val double , val double , val double , val double ) returns table (val
double ) external name "array".offsets;
+
+create function array_offsets(val tinyint , val tinyint , val tinyint , val
tinyint , val tinyint , val tinyint , val tinyint , val tinyint , val tinyint ,
val tinyint , val tinyint , val tinyint , val tinyint , val tinyint ) returns
table (val tinyint ) external name "array".offsets;
+create function array_offsets(val smallint, val smallint, val smallint, val
smallint, val smallint, val smallint, val smallint, val smallint, val smallint,
val smallint, val smallint, val smallint, val smallint, val smallint) returns
table (val smallint) external name "array".offsets;
+create function array_offsets(val integer , val integer , val integer , val
integer , val integer , val integer , val integer , val integer , val integer ,
val integer , val integer , val integer , val integer , val integer ) returns
table (val integer ) external name "array".offsets;
+create function array_offsets(val bigint , val bigint , val bigint , val
bigint , val bigint , val bigint , val bigint , val bigint , val bigint ,
val bigint , val bigint , val bigint , val bigint , val bigint ) returns
table (val bigint ) external name "array".offsets;
+create function array_offsets(val real , val real , val real , val
real , val real , val real , val real , val real , val real ,
val real , val real , val real , val real , val real ) returns
table (val real ) external name "array".offsets;
+create function array_offsets(val double , val double , val double , val
double , val double , val double , val double , val double , val double ,
val double , val double , val double , val double , val double ) returns
table (val double ) external name "array".offsets;
+
+create function array_offsets(val tinyint , val tinyint , val tinyint , val
tinyint , val tinyint , val tinyint , val tinyint , val tinyint , val tinyint ,
val tinyint , val tinyint , val tinyint , val tinyint , val tinyint , val
tinyint ) returns table (val tinyint ) external name "array".offsets;
+create function array_offsets(val smallint, val smallint, val smallint, val
smallint, val smallint, val smallint, val smallint, val smallint, val smallint,
val smallint, val smallint, val smallint, val smallint, val smallint, val
smallint) returns table (val smallint) external name "array".offsets;
+create function array_offsets(val integer , val integer , val integer , val
integer , val integer , val integer , val integer , val integer , val integer ,
val integer , val integer , val integer , val integer , val integer , val
integer ) returns table (val integer ) external name "array".offsets;
+create function array_offsets(val bigint , val bigint , val bigint , val
bigint , val bigint , val bigint , val bigint , val bigint , val bigint ,
val bigint , val bigint , val bigint , val bigint , val bigint , val
bigint ) returns table (val bigint ) external name "array".offsets;
+create function array_offsets(val real , val real , val real , val
real , val real , val real , val real , val real , val real ,
val real , val real , val real , val real , val real , val real
) returns table (val real ) external name "array".offsets;
+create function array_offsets(val double , val double , val double , val
double , val double , val double , val double , val double , val double ,
val double , val double , val double , val double , val double , val
double ) returns table (val double ) external name "array".offsets;
+
+create function array_offsets(val tinyint , val tinyint , val tinyint , val
tinyint , val tinyint , val tinyint , val tinyint , val tinyint , val tinyint ,
val tinyint , val tinyint , val tinyint , val tinyint , val tinyint , val
tinyint , val tinyint ) returns table (val tinyint ) external name
"array".offsets;
+create function array_offsets(val smallint, val smallint, val smallint, val
smallint, val smallint, val smallint, val smallint, val smallint, val smallint,
val smallint, val smallint, val smallint, val smallint, val smallint, val
smallint, val smallint) returns table (val smallint) external name
"array".offsets;
+create function array_offsets(val integer , val integer , val integer , val
integer , val integer , val integer , val integer , val integer , val integer ,
val integer , val integer , val integer , val integer , val integer , val
integer , val integer ) returns table (val integer ) external name
"array".offsets;
+create function array_offsets(val bigint , val bigint , val bigint , val
bigint , val bigint , val bigint , val bigint , val bigint , val bigint ,
val bigint , val bigint , val bigint , val bigint , val bigint , val
bigint , val bigint ) returns table (val bigint ) external name
"array".offsets;
+create function array_offsets(val real , val real , val real , val
real , val real , val real , val real , val real , val real ,
val real , val real , val real , val real , val real , val real
, val real ) returns table (val real ) external name "array".offsets;
+create function array_offsets(val double , val double , val double , val
double , val double , val double , val double , val double , val double ,
val double , val double , val double , val double , val double , val
double , val double ) returns table (val double ) external name
"array".offsets;
+
create function array_filler(count bigint, val tinyint) returns table
(id bigint, cellval tinyint) external name "array".filler_;
create function array_filler(count bigint, val smallint) returns table
(id bigint, cellval smallint) external name "array".filler_;
create function array_filler(count bigint, val integer) returns table
(id bigint, cellval integer) external name "array".filler_;
diff --git
a/sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out
b/sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out
--- a/sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out
+++ b/sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out
@@ -27,7 +27,7 @@ Ready.
% .tables, .tables, .tables, .tables, .tables,
.tables, .tables, .tables, .tables # table_name
% id, name, schema_id, query, type, system, commit_action,
readonly, temporary # name
% int, varchar, int, varchar, smallint, boolean,
smallint, boolean, tinyint # type
-% 4, 17, 4, 496, 1, 5, 1, 5, 1 # length
+% 5, 17, 4, 496, 1, 5, 1, 5, 1 # length
[ 2001, "schemas", 2000, NULL, 0, true, 0, false,
0 ]
[ 2006, "types", 2000, NULL, 0, true, 0, false,
0 ]
[ 2015, "functions", 2000, NULL, 0, true, 0, false,
0 ]
@@ -63,11 +63,11 @@ Ready.
[ 5309, "queryhistory", 2000, NULL, 0, true, 0, false,
0 ]
[ 5323, "callhistory", 2000, NULL, 0, true, 0, false,
0 ]
[ 5340, "querylog", 2000, "create view querylog as\nselect qd.*,
ql.ctime, ql.arguments, ql.exec, ql.result, ql.foot, ql.memory, ql.tuples,
ql.inblock, ql.oublock from queryhistory qd, callhistory ql\nwhere qd.id =
ql.id;", 1, true, 0, false, 0 ]
-[ 8623, "files", 8617, NULL, 0, false, 0, false,
0 ]
-[ 8630, "catalog", 8617, NULL, 0, false, 0, false,
0 ]
-[ 9104, "storagemodelinput", 2000, NULL, 0, true, 0,
false, 0 ]
-[ 9145, "tablestoragemodel", 2000, "-- A summary of the table
storage requirement is is available as a table view.\n-- The auxillary column
denotes the maximum space if all non-sorted columns\n-- would be augmented with
a hash (rare situation)\ncreate view sys.tablestoragemodel\nas select
\"schema\",\"table\",max(count) as \"count\",\n\tsum(columnsize) as
columnsize,\n\tsum(heapsize) as heapsize,\n\tsum(indices) as
indices,\n\tsum(case when sorted = false then 8 * count else 0 end) as
auxillary\nfrom sys.storagemodel() group by \"schema\",\"table\";", 1,
true, 0, false, 0 ]
-[ 9167, "systemfunctions", 2000, NULL, 0, true, 0,
false, 0 ]
+[ 9919, "files", 9913, NULL, 0, false, 0, false,
0 ]
+[ 9926, "catalog", 9913, NULL, 0, false, 0, false,
0 ]
+[ 10400, "storagemodelinput", 2000, NULL, 0, true, 0,
false, 0 ]
+[ 10441, "tablestoragemodel", 2000, "-- A summary of the table
storage requirement is is available as a table view.\n-- The auxillary column
denotes the maximum space if all non-sorted columns\n-- would be augmented with
a hash (rare situation)\ncreate view sys.tablestoragemodel\nas select
\"schema\",\"table\",max(count) as \"count\",\n\tsum(columnsize) as
columnsize,\n\tsum(heapsize) as heapsize,\n\tsum(indices) as
indices,\n\tsum(case when sorted = false then 8 * count else 0 end) as
auxillary\nfrom sys.storagemodel() group by \"schema\",\"table\";", 1,
true, 0, false, 0 ]
+[ 10463, "systemfunctions", 2000, NULL, 0, true, 0,
false, 0 ]
# 18:53:13 >
# 18:53:13 > "Done."
diff --git a/sql/test/Tests/systemfunctions.stable.out
b/sql/test/Tests/systemfunctions.stable.out
--- a/sql/test/Tests/systemfunctions.stable.out
+++ b/sql/test/Tests/systemfunctions.stable.out
@@ -1836,6 +1836,918 @@ Ready.
[ "sys", "array_min", 8, "int", "" ]
[ "sys", "array_min", 9, "int", "" ]
[ "sys", "array_min", 10, "int", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val tinyint ) returns table (val tinyint ) external name
\"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "tinyint", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val smallint) returns table (val smallint) external name
\"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "smallint", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val integer ) returns table (val integer ) external name
\"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "int", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val bigint ) returns table (val bigint ) external name
\"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "bigint", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val real ) returns table (val real ) external name
\"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "real", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val double ) returns table (val double ) external name
\"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "double", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val tinyint , val tinyint ) returns table (val tinyint )
external name \"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "tinyint", "" ]
+[ "sys", "array_offsets", 2, "tinyint", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val smallint, val smallint) returns table (val smallint)
external name \"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "smallint", "" ]
+[ "sys", "array_offsets", 2, "smallint", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val integer , val integer ) returns table (val integer )
external name \"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "int", "" ]
+[ "sys", "array_offsets", 2, "int", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val bigint , val bigint ) returns table (val bigint )
external name \"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "bigint", "" ]
+[ "sys", "array_offsets", 2, "bigint", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val real , val real ) returns table (val real )
external name \"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "real", "" ]
+[ "sys", "array_offsets", 2, "real", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val double , val double ) returns table (val double )
external name \"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "double", "" ]
+[ "sys", "array_offsets", 2, "double", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val tinyint , val tinyint , val tinyint ) returns table
(val tinyint ) external name \"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "tinyint", "" ]
+[ "sys", "array_offsets", 2, "tinyint", "" ]
+[ "sys", "array_offsets", 3, "tinyint", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val smallint, val smallint, val smallint) returns table
(val smallint) external name \"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "smallint", "" ]
+[ "sys", "array_offsets", 2, "smallint", "" ]
+[ "sys", "array_offsets", 3, "smallint", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val integer , val integer , val integer ) returns table
(val integer ) external name \"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "int", "" ]
+[ "sys", "array_offsets", 2, "int", "" ]
+[ "sys", "array_offsets", 3, "int", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val bigint , val bigint , val bigint ) returns table
(val bigint ) external name \"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "bigint", "" ]
+[ "sys", "array_offsets", 2, "bigint", "" ]
+[ "sys", "array_offsets", 3, "bigint", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val real , val real , val real ) returns table
(val real ) external name \"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "real", "" ]
+[ "sys", "array_offsets", 2, "real", "" ]
+[ "sys", "array_offsets", 3, "real", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val double , val double , val double ) returns table
(val double ) external name \"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "double", "" ]
+[ "sys", "array_offsets", 2, "double", "" ]
+[ "sys", "array_offsets", 3, "double", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val tinyint , val tinyint , val tinyint , val tinyint )
returns table (val tinyint ) external name \"array\".offsets;" ]
+[ "sys", "array_offsets", 1, "tinyint", "" ]
+[ "sys", "array_offsets", 2, "tinyint", "" ]
+[ "sys", "array_offsets", 3, "tinyint", "" ]
+[ "sys", "array_offsets", 4, "tinyint", "" ]
+[ "sys", "array_offsets", 0, "table", "create
function array_offsets(val smallint, val smallint, val smallint, val smallint)
returns table (val smallint) external name \"array\".offsets;" ]
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list