Changeset: 790e4080ac17 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=790e4080ac17 Added Files: sql/test/emptydb-upgrade-chain-hge/Tests/check.SQL.py.src sql/test/emptydb-upgrade-chain/Tests/check.SQL.py.src sql/test/emptydb-upgrade-hge/Tests/check.SQL.py.src sql/test/emptydb-upgrade/Tests/check.SQL.py.src sql/test/emptydb/Tests/check.SQL.py.src Removed Files: sql/test/emptydb-upgrade-chain-hge/Tests/check.SQL.py sql/test/emptydb-upgrade-chain/Tests/check.SQL.py sql/test/emptydb-upgrade-hge/Tests/check.SQL.py sql/test/emptydb-upgrade/Tests/check.SQL.py sql/test/emptydb/Tests/check.SQL.py Modified Files: clients/Tests/SQL-dump.SQL.py clients/Tests/SQL-dump.stable.out clients/Tests/SQL-dump.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/check.stable.out sql/test/emptydb-upgrade-chain/Tests/check.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128 sql/test/emptydb-upgrade/Tests/check.stable.out sql/test/emptydb-upgrade/Tests/check.stable.out.int128 sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.int128 sql/test/emptydb/updatetests Branch: Jun2016 Log Message:
Merge with Jul2015 branch. diffs (truncated from 2994 to 300 lines): diff --git a/clients/Tests/SQL-dump.SQL.py b/clients/Tests/SQL-dump.SQL.py --- a/clients/Tests/SQL-dump.SQL.py +++ b/clients/Tests/SQL-dump.SQL.py @@ -62,14 +62,16 @@ sys.stderr.write(err) # they are too volatile, and if it makes sense, dump an identifier # from a referenced table out = ''' +-- helper function +create function pcre_replace(origin string, pat string, repl string, flags string) returns string external name pcre.replace; -- schemas select name, authorization, owner, system from sys.schemas order by name; -- _tables -select s.name, t.name, t.query, t.type, t.system, t.commit_action, t.access from sys._tables t left outer join sys.schemas s on t.schema_id = s.id order by s.name, t.name; +select s.name, t.name, replace(replace(pcre_replace(pcre_replace(pcre_replace(t.query, '--.*\n', '', ''), '[ \t\n]+', ' ', 'm'), '^ ', '', ''), '( ', '('), ' )', ')') as query, t.type, t.system, t.commit_action, t.access from sys._tables t left outer join sys.schemas s on t.schema_id = s.id order by s.name, t.name; -- _columns select t.name, c.name, c.type, c.type_digits, c.type_scale, c."default", c."null", c.number, c.storage from sys._tables t, sys._columns c where t.id = c.table_id order by t.name, c.number; -- functions -select s.name, f.name, f.func, f.mod, f.language, f.type, f.side_effect, f.varres, f.vararg from sys.functions f left outer join sys.schemas s on f.schema_id = s.id order by s.name, f.name, f.func; +select s.name, f.name, replace(replace(pcre_replace(pcre_replace(pcre_replace(f.func, '--.*\n', '', ''), '[ \t\n]+', ' ', 'm'), '^ ', '', ''), '( ', '('), ' )', ')') as query, f.mod, f.language, f.type, f.side_effect, f.varres, f.vararg from sys.functions f left outer join sys.schemas s on f.schema_id = s.id order by s.name, f.name, query; -- args select f.name, a.name, a.type, a.type_digits, a.type_scale, a.inout, a.number from sys.args a left outer join sys.functions f on a.func_id = f.id order by f.name, a.func_id, a.number; -- auths @@ -113,6 +115,8 @@ select keyword from sys.keywords order b select table_type_id, table_type_name from sys.table_types order by table_type_id, table_type_name; -- dependency_types select dependency_type_id, dependency_type_name from sys.dependency_types order by dependency_type_id, dependency_type_name; +-- drop helper function +drop function pcre_replace(string, string, string, string); ''' sys.stdout.write(out) @@ -122,10 +126,5 @@ clt = process.client('sql', interactive out, err = clt.communicate(out) -# do some normalization of the output: -# remove SQL comments, collapse multiple white space into a single space -out = re.sub(r'--.*?(?:\\n)+', '', out) -out = re.sub(r'(?:\\n|\\t| )+', ' ', out) - sys.stdout.write(out) sys.stderr.write(err) diff --git a/clients/Tests/SQL-dump.stable.out b/clients/Tests/SQL-dump.stable.out --- a/clients/Tests/SQL-dump.stable.out +++ b/clients/Tests/SQL-dump.stable.out @@ -1224,14 +1224,20 @@ create function zorder_decode_x(z oid) r create function zorder_decode_y(z oid) returns integer external name zorder.decode_y; create function zorder_encode(x integer, y integer) returns oid external name zorder.encode; +-- helper function +create function pcre_replace(origin string, pat string, repl string, flags string) returns string external name pcre.replace; -- schemas select name, authorization, owner, system from sys.schemas order by name; -- _tables -select s.name, t.name, t.query, t.type, t.system, t.commit_action, t.access from sys._tables t left outer join sys.schemas s on t.schema_id = s.id order by s.name, t.name; +select s.name, t.name, replace(replace(pcre_replace(pcre_replace(pcre_replace(t.query, '--.* +', '', ''), '[ +]+', ' ', 'm'), '^ ', '', ''), '( ', '('), ' )', ')') as query, t.type, t.system, t.commit_action, t.access from sys._tables t left outer join sys.schemas s on t.schema_id = s.id order by s.name, t.name; -- _columns select t.name, c.name, c.type, c.type_digits, c.type_scale, c."default", c."null", c.number, c.storage from sys._tables t, sys._columns c where t.id = c.table_id order by t.name, c.number; -- functions -select s.name, f.name, f.func, f.mod, f.language, f.type, f.side_effect, f.varres, f.vararg from sys.functions f left outer join sys.schemas s on f.schema_id = s.id order by s.name, f.name, f.func; +select s.name, f.name, replace(replace(pcre_replace(pcre_replace(pcre_replace(f.func, '--.* +', '', ''), '[ +]+', ' ', 'm'), '^ ', '', ''), '( ', '('), ' )', ')') as query, f.mod, f.language, f.type, f.side_effect, f.varres, f.vararg from sys.functions f left outer join sys.schemas s on f.schema_id = s.id order by s.name, f.name, query; -- args select f.name, a.name, a.type, a.type_digits, a.type_scale, a.inout, a.number from sys.args a left outer join sys.functions f on a.func_id = f.id order by f.name, a.func_id, a.number; -- auths @@ -1275,6 +1281,9 @@ select keyword from sys.keywords order b select table_type_id, table_type_name from sys.table_types order by table_type_id, table_type_name; -- dependency_types select dependency_type_id, dependency_type_name from sys.dependency_types order by dependency_type_id, dependency_type_name; +-- drop helper function +drop function pcre_replace(string, string, string, string); +#create function pcre_replace(origin string, pat string, repl string, flags string) returns string external name pcre.replace; #select name, authorization, owner, system from sys.schemas order by name; % sys.schemas, sys.schemas, sys.schemas, sys.schemas # table_name % name, authorization, owner, system # name @@ -1285,11 +1294,13 @@ select dependency_type_id, dependency_ty [ "profiler", 3, 3, true ] [ "sys", 2, 3, true ] [ "tmp", 2, 3, true ] -#select s.name, t.name, t.query, t.type, t.system, t.commit_action, t.access from sys._tables t left outer join sys.schemas s on t.schema_id = s.id order by s.name, t.name; -% .s, .t, .t, .t, .t, .t, .t # table_name +#select s.name, t.name, replace(replace(pcre_replace(pcre_replace(pcre_replace(t.query, '--.* +#', '', ''), '[ +#]+', ' ', 'm'), '^ ', '', ''), '( ', '('), ' )', ')') as query, t.type, t.system, t.commit_action, t.access from sys._tables t left outer join sys.schemas s on t.schema_id = s.id order by s.name, t.name; +% .s, .t, .L, .t, .t, .t, .t # table_name % name, name, query, type, system, commit_action, access # name % varchar, varchar, varchar, smallint, boolean, smallint, smallint # type -% 3, 17, 613, 1, 5, 1, 1 # length +% 3, 17, 597, 1, 5, 1, 1 # length [ "bam", "export", NULL, 0, true, 0, 0 ] [ "bam", "files", NULL, 0, true, 0, 0 ] [ "bam", "pg", NULL, 0, true, 0, 0 ] @@ -1306,7 +1317,7 @@ select dependency_type_id, dependency_ty [ "sys", "dependency_types", NULL, 0, true, 0, 0 ] [ "sys", "environment", "create view sys.environment as select * from sys.environment();", 1, true, 0, 0 ] [ "sys", "functions", NULL, 0, true, 0, 0 ] -[ "sys", "geometry_columns", "create view geometry_columns as select e.value as f_table_catalog, s.name as f_table_schema, y.f_table_name, y.f_geometry_column, y.coord_dimension, y.srid, y.type from schemas s, environment e, ( select t.schema_id, t.name as f_table_name, x.name as f_geometry_column, has_z(info)+has_m(info)+2 as coord_dimension, srid, get_type(info, 0) as type from tables t, ( select name, table_id, type_digits as info, type_scale as srid from columns where type in ( select distinct sqlname from types where systemname='wkb') ) as x where t.id=x.table_id ) y where y.schema_id=s.id and e.name='gdk_dbname';", 1, true, 0, 0 ] +[ "sys", "geometry_columns", "create view geometry_columns as select e.value as f_table_catalog, s.name as f_table_schema, y.f_table_name, y.f_geometry_column, y.coord_dimension, y.srid, y.type from schemas s, environment e, (select t.schema_id, t.name as f_table_name, x.name as f_geometry_column, has_z(info)+has_m(info)+2 as coord_dimension, srid, get_type(info, 0) as type from tables t, (select name, table_id, type_digits as info, type_scale as srid from columns where type in (select distinct sqlname from types where systemname='wkb')) as x where t.id=x.table_id) y where y.schema_id=s.id and e.name='gdk_dbname';", 1, true, 0, 0 ] [ "sys", "idxs", NULL, 0, true, 0, 0 ] [ "sys", "keys", NULL, 0, true, 0, 0 ] [ "sys", "keywords", NULL, 0, true, 0, 0 ] @@ -1724,11 +1735,13 @@ select dependency_type_id, dependency_ty [ "users", "name", "varchar", 1024, 0, NULL, true, 0, NULL ] [ "users", "fullname", "varchar", 2024, 0, NULL, true, 1, NULL ] [ "users", "default_schema", "int", 9, 0, NULL, true, 2, NULL ] -#select s.name, f.name, f.func, f.mod, f.language, f.type, f.side_effect, f.varres, f.vararg from sys.functions f left outer join sys.schemas s on f.schema_id = s.id order by s.name, f.name, f.func; -% .s, .f, .f, .f, .f, .f, .f, .f, .f # table_name -% name, name, func, mod, language, type, side_effect, varres, vararg # name +#select s.name, f.name, replace(replace(pcre_replace(pcre_replace(pcre_replace(f.func, '--.* +#', '', ''), '[ +#]+', ' ', 'm'), '^ ', '', ''), '( ', '('), ' )', ')') as query, f.mod, f.language, f.type, f.side_effect, f.varres, f.vararg from sys.functions f left outer join sys.schemas s on f.schema_id = s.id order by s.name, f.name, query; +% .s, .f, .L, .f, .f, .f, .f, .f, .f # table_name +% name, name, query, mod, language, type, side_effect, varres, vararg # name % varchar, varchar, varchar, varchar, int, int, boolean, boolean, boolean # type -% 8, 35, 816, 9, 1, 1, 5, 5, 5 # length +% 8, 35, 794, 9, 1, 1, 5, 5, 5 # length [ "bam", "bam_drop_file", "create procedure bam.bam_drop_file(file_id bigint, dbschema smallint) external name bam.bam_drop_file;", "bam", 1, 2, true, false, false ] [ "bam", "bam_export", "create procedure bam.bam_export(output_path string) external name bam.bam_export;", "bam", 1, 2, true, false, false ] [ "bam", "bam_flag", "create function bam.bam_flag(flag smallint, name string) returns boolean external name bam.bam_flag;", "bam", 1, 1, false, false, false ] @@ -1759,8 +1772,8 @@ select dependency_type_id, dependency_ty [ "json", "text", "create function json.text(js json) returns string external name json.text;", "json", 1, 1, false, false, false ] [ "json", "text", "create function json.text(js json, e string) returns string external name json.text;", "json", 1, 1, false, false, false ] [ "json", "text", "create function json.text(js string) returns string external name json.text;", "json", 1, 1, false, false, false ] -[ "json", "tojsonarray", "create aggregate json.tojsonarray( x double ) returns string external name aggr.jsonaggr;", "aggr", 1, 3, false, false, false ] -[ "json", "tojsonarray", "create aggregate json.tojsonarray( x string ) returns string external name aggr.jsonaggr;", "aggr", 1, 3, false, false, false ] +[ "json", "tojsonarray", "create aggregate json.tojsonarray(x double) returns string external name aggr.jsonaggr;", "aggr", 1, 3, false, false, false ] +[ "json", "tojsonarray", "create aggregate json.tojsonarray(x string) returns string external name aggr.jsonaggr;", "aggr", 1, 3, false, false, false ] [ "json", "valuearray", "create function json.valuearray(js json) returns json external name json.valuearray;", "json", 1, 1, false, false, false ] [ "profiler", "setheartbeat", "create procedure profiler.setheartbeat(beat int) external name profiler.setheartbeat;", "profiler", 1, 2, true, false, false ] [ "profiler", "setpoolsize", "create procedure profiler.setpoolsize(poolsize int) external name profiler.setpoolsize;", "profiler", 1, 2, true, false, false ] @@ -1904,7 +1917,7 @@ select dependency_type_id, dependency_ty [ "sys", "dayofmonth", "day", "mtime", 0, 1, false, false, false ] [ "sys", "dayofweek", "dayofweek", "mtime", 0, 1, false, false, false ] [ "sys", "dayofyear", "dayofyear", "mtime", 0, 1, false, false, false ] -[ "sys", "db_users", "CREATE FUNCTION db_users () RETURNS TABLE( name varchar(2048)) EXTERNAL NAME sql.db_users;", "sql", 2, 5, false, false, false ] +[ "sys", "db_users", "CREATE FUNCTION db_users () RETURNS TABLE(name varchar(2048)) EXTERNAL NAME sql.db_users;", "sql", 2, 5, false, false, false ] [ "sys", "debug", "create function sys.debug(debug int) returns integer external name mdb.\"setDebug\";", "mdb", 1, 1, false, false, false ] [ "sys", "degrees", "create function degrees(r double) returns double return r*180/pi();", "user", 2, 1, false, false, false ] [ "sys", "dense_rank", "dense_rank", "sql", 0, 6, false, false, false ] @@ -1936,13 +1949,13 @@ select dependency_type_id, dependency_ty [ "sys", "editdistance2", "editdistance2", "txtsim", 0, 1, false, false, false ] [ "sys", "editdistance2", "editdistance2", "txtsim", 0, 1, false, false, false ] [ "sys", "editdistance2", "editdistance2", "txtsim", 0, 1, false, false, false ] -[ "sys", "env", "CREATE FUNCTION env () RETURNS TABLE( name varchar(1024), value varchar(2048)) EXTERNAL NAME sql.sql_environment;", "sql", 2, 5, false, false, false ] +[ "sys", "env", "CREATE FUNCTION env () RETURNS TABLE(name varchar(1024), value varchar(2048)) EXTERNAL NAME sql.sql_environment;", "sql", 2, 5, false, false, false ] [ "sys", "environment", "create function sys.environment() returns table (\"name\" string, value string) external name sql.sql_environment;", "sql", 1, 5, false, false, false ] [ "sys", "epoch", "create function sys.\"epoch\"(sec bigint) returns timestamp external name timestamp.\"epoch\";", "timestamp", 1, 1, false, false, false ] [ "sys", "epoch", "create function sys.\"epoch\"(sec int) returns timestamp external name timestamp.\"epoch\";", "timestamp", 1, 1, false, false, false ] [ "sys", "epoch", "create function sys.\"epoch\"(ts timestamp with time zone) returns int external name timestamp.\"epoch\";", "timestamp", 1, 1, false, false, false ] [ "sys", "epoch", "create function sys.\"epoch\"(ts timestamp) returns int external name timestamp.\"epoch\";", "timestamp", 1, 1, false, false, false ] -[ "sys", "evalalgebra", "create procedure sys.evalalgebra( ra_stmt string, opt bool) external name sql.\"evalAlgebra\";", "sql", 1, 2, true, false, false ] +[ "sys", "evalalgebra", "create procedure sys.evalalgebra(ra_stmt string, opt bool) external name sql.\"evalAlgebra\";", "sql", 1, 2, true, false, false ] [ "sys", "exist", "exist", "aggr", 0, 3, false, false, false ] [ "sys", "exp", "exp", "mmath", 0, 1, false, false, false ] [ "sys", "exp", "exp", "mmath", 0, 1, false, false, false ] @@ -1969,7 +1982,7 @@ select dependency_type_id, dependency_ty [ "sys", "geometrytype", "create function geometrytype(geom geometry) returns string external name geom.\"GeometryType1\";", "geom", 1, 1, false, false, false ] [ "sys", "get_type", "create function get_type(info integer, format integer) returns string external name geom.\"getType\";", "geom", 1, 1, false, false, false ] [ "sys", "get_value_for", "get_value", "sql", 0, 1, false, false, false ] -[ "sys", "getanchor", "create function getanchor( theurl url ) returns string external name url.\"getAnchor\";", "url", 1, 1, false, false, false ] +[ "sys", "getanchor", "create function getanchor(theurl url) returns string external name url.\"getAnchor\";", "url", 1, 1, false, false, false ] [ "sys", "getbasename", "create function getbasename(theurl url) returns string external name url.\"getBasename\";", "url", 1, 1, false, false, false ] [ "sys", "getcontent", "create function getcontent(theurl url) returns string external name url.\"getContent\";", "url", 1, 1, false, false, false ] [ "sys", "getcontext", "create function getcontext(theurl url) returns string external name url.\"getContext\";", "url", 1, 1, false, false, false ] @@ -2005,7 +2018,7 @@ select dependency_type_id, dependency_ty [ "sys", "ilike", "ilike", "algebra", 0, 1, false, false, false ] [ "sys", "ilike", "ilike", "algebra", 0, 1, false, false, false ] [ "sys", "ilike", "ilike", "algebra", 0, 1, false, false, false ] -[ "sys", "imprintsize", "create function sys.imprintsize(i bigint, nme string) returns bigint begin if nme = 'boolean' or nme = 'tinyint' or nme = 'smallint' or nme = 'int' or nme = 'bigint' or nme = 'hugeint' or nme = 'decimal' or nme = 'date' or nme = 'timestamp' or nme = 'real' or nme = 'double' then return cast( i * 0.12 as bigint); end if ; return 0; end;", "user", 2, 1, false, false, false ] +[ "sys", "imprintsize", "create function sys.imprintsize(i bigint, nme string) returns bigint begin if nme = 'boolean' or nme = 'tinyint' or nme = 'smallint' or nme = 'int' or nme = 'bigint' or nme = 'hugeint' or nme = 'decimal' or nme = 'date' or nme = 'timestamp' or nme = 'real' or nme = 'double' then return cast(i * 0.12 as bigint); end if ; return 0; end;", "user", 2, 1, false, false, false ] [ "sys", "in", "in", "calc", 0, 1, false, false, false ] [ "sys", "index", "index", "calc", 0, 1, false, false, false ] [ "sys", "index", "index", "calc", 0, 1, false, false, false ] @@ -2157,7 +2170,7 @@ select dependency_type_id, dependency_ty [ "sys", "month", "month", "mtime", 0, 1, false, false, false ] [ "sys", "ms_round", "create function ms_round(num double, prc int, truncat int) returns double begin if (truncat = 0) then return round(num, prc); else return ms_trunc(num, prc); end if; end;", "user", 2, 1, false, false, false ] [ "sys", "ms_str", "create function ms_str(num float, prc int, truncat int) returns string begin return cast(num as string); end;", "user", 2, 1, false, false, false ] -[ "sys", "ms_stuff", "create function ms_stuff( s1 varchar(32), st int, len int, s3 varchar(32)) returns varchar(32) begin declare res varchar(32), aux varchar(32); declare ofset int; if ( st < 0 or st > length(s1)) then return ''; end if; set ofset = 1; set res = substring(s1,ofset,st-1); set res = res || s3; set ofset = st + len; set aux = substring(s1,ofset,length(s1)-ofset+1); set res = res || aux; return res; end;", "user", 2, 1, false, false, false ] +[ "sys", "ms_stuff", "create function ms_stuff(s1 varchar(32), st int, len int, s3 varchar(32)) returns varchar(32) begin declare res varchar(32), aux varchar(32); declare ofset int; if (st < 0 or st > length(s1)) then return ''; end if; set ofset = 1; set res = substring(s1,ofset,st-1); set res = res || s3; set ofset = st + len; set aux = substring(s1,ofset,length(s1)-ofset+1); set res = res || aux; return res; end;", "user", 2, 1, false, false, false ] [ "sys", "ms_trunc", "create function ms_trunc(num double, prc int) returns double external name sql.ms_trunc;", "sql", 1, 1, false, false, false ] [ "sys", "netcdf_attach", "create procedure netcdf_attach(fname varchar(256)) external name netcdf.attach;", "netcdf", 1, 2, true, false, false ] [ "sys", "netcdf_importvar", "create procedure netcdf_importvar(fid integer, varnname varchar(256)) external name netcdf.importvariable;", "netcdf", 1, 2, true, false, false ] @@ -2195,6 +2208,7 @@ select dependency_type_id, dependency_ty [ "sys", "patindex", "patindex", "pcre", 0, 1, false, false, false ] [ "sys", "pause", "create procedure sys.pause(tag bigint) external name sql.sysmon_pause;", "sql", 1, 2, true, false, false ] [ "sys", "pause", "create procedure sys.pause(tag int) external name sql.sysmon_pause;", "sql", 1, 2, true, false, false ] +[ "sys", "pcre_replace", "create function pcre_replace(origin string, pat string, repl string, flags string) returns string external name pcre.replace;", "pcre", 1, 1, false, false, false ] [ "sys", "pi", "pi", "mmath", 0, 1, false, false, false ] [ "sys", "power", "pow", "mmath", 0, 1, false, false, false ] [ "sys", "power", "pow", "mmath", 0, 1, false, false, false ] @@ -2224,18 +2238,18 @@ select dependency_type_id, dependency_ty [ "sys", "quantile", "create aggregate quantile(val wrd, q double) returns wrd external name \"aggr\".\"quantile\";", "aggr", 1, 3, false, false, false ] [ "sys", "querycache", "create function sys.querycache() returns table (query string, count int) external name sql.dump_cache;", "sql", 1, 5, false, false, false ] [ "sys", "querylog", "create procedure sys.querylog(filename string) external name sql.logfile;", "sql", 1, 2, true, false, false ] -[ "sys", "querylog_calls", "create function sys.querylog_calls() returns table( id oid, \"start\" timestamp, \"stop\" timestamp, arguments string, tuples wrd, run bigint, ship bigint, cpu int, io int ) external name sql.querylog_calls;", "sql", 1, 5, false, false, false ] -[ "sys", "querylog_catalog", "create function sys.querylog_catalog() returns table( id oid, owner string, defined timestamp, query string, pipe string, \"plan\" string, mal int, optimize bigint ) external name sql.querylog_catalog;", "sql", 1, 5, false, false, false ] +[ "sys", "querylog_calls", "create function sys.querylog_calls() returns table(id oid, \"start\" timestamp, \"stop\" timestamp, arguments string, tuples wrd, run bigint, ship bigint, cpu int, io int) external name sql.querylog_calls;", "sql", 1, 5, false, false, false ] +[ "sys", "querylog_catalog", "create function sys.querylog_catalog() returns table(id oid, owner string, defined timestamp, query string, pipe string, \"plan\" string, mal int, optimize bigint) external name sql.querylog_catalog;", "sql", 1, 5, false, false, false ] [ "sys", "querylog_disable", "create procedure sys.querylog_disable() external name sql.querylog_disable;", "sql", 1, 2, true, false, false ] [ "sys", "querylog_empty", "create procedure sys.querylog_empty() external name sql.querylog_empty;", "sql", 1, 2, true, false, false ] [ "sys", "querylog_enable", "create procedure sys.querylog_enable() external name sql.querylog_enable;", "sql", 1, 2, true, false, false ] [ "sys", "querylog_enable", "create procedure sys.querylog_enable(threshold smallint) external name sql.querylog_enable_threshold;", "sql", 1, 2, true, false, false ] -[ "sys", "queue", "create function sys.queue() returns table( qtag bigint, \"user\" string, started timestamp, estimate timestamp, progress int, status string, tag oid, query string ) external name sql.sysmon_queue;", "sql", 1, 5, false, false, false ] +[ "sys", "queue", "create function sys.queue() returns table(qtag bigint, \"user\" string, started timestamp, estimate timestamp, progress int, status string, tag oid, query string) external name sql.sysmon_queue;", "sql", 1, 5, false, false, false ] [ "sys", "radians", "create function radians(d double) returns double return d*pi()/180;", "user", 2, 1, false, false, false ] [ "sys", "rand", "rand", "mmath", 0, 1, true, false, false ] [ "sys", "rand", "sqlrand", "mmath", 0, 1, true, false, false ] [ "sys", "rank", "rank", "sql", 0, 6, false, false, false ] -[ "sys", "rejects", "create function sys.rejects() returns table( rowid bigint, fldid int, \"message\" string, \"input\" string ) external name sql.copy_rejects;", "sql", 1, 5, false, false, false ] +[ "sys", "rejects", "create function sys.rejects() returns table(rowid bigint, fldid int, \"message\" string, \"input\" string) external name sql.copy_rejects;", "sql", 1, 5, false, false, false ] [ "sys", "repeat", "repeat", "str", 0, 1, false, false, false ] [ "sys", "repeat", "repeat", "str", 0, 1, false, false, false ] [ "sys", "repeat", "repeat", "str", 0, 1, false, false, false ] @@ -3262,12 +3276,12 @@ select dependency_type_id, dependency_ty [ "sys", "stddev_samp", "create aggregate stddev_samp(val wrd) returns double external name \"aggr\".\"stdev\";", "aggr", 1, 3, false, false, false ] [ "sys", "stop", "create procedure sys.stop(tag bigint) external name sql.sysmon_stop;", "sql", 1, 2, true, false, false ] [ "sys", "stop", "create procedure sys.stop(tag int) external name sql.sysmon_stop;", "sql", 1, 2, true, false, false ] -[ "sys", "storage", "create function sys.\"storage\"( sname string) returns table ( \"schema\" string, \"table\" string, \"column\" string, \"type\" string, \"mode\" string, location string, \"count\" bigint, typewidth int, columnsize bigint, heapsize bigint, hashes bigint, phash boolean, imprints bigint, sorted boolean ) external name sql.\"storage\";", "sql", 1, 5, false, false, false ] -[ "sys", "storage", "create function sys.\"storage\"( sname string, tname string) returns table ( \"schema\" string, \"table\" string, \"column\" string, \"type\" string, \"mode\" string, location string, \"count\" bigint, typewidth int, columnsize bigint, heapsize bigint, hashes bigint, phash boolean, imprints bigint, sorted boolean ) external name sql.\"storage\";", "sql", 1, 5, false, false, false ] -[ "sys", "storage", "create function sys.\"storage\"( sname string, tname string, cname string) returns table ( \"schema\" string, \"table\" string, \"column\" string, \"type\" string, \"mode\" string, location string, \"count\" bigint, typewidth int, columnsize bigint, heapsize bigint, hashes bigint, phash boolean, imprints bigint, sorted boolean ) external name sql.\"storage\";", "sql", 1, 5, false, false, false ] -[ "sys", "storage", "create function sys.\"storage\"() returns table ( \"schema\" string, \"table\" string, \"column\" string, \"type\" string, \"mode\" string, location string, \"count\" bigint, typewidth int, columnsize bigint, heapsize bigint, hashes bigint, phash boolean, imprints bigint, sorted boolean ) external name sql.\"storage\";", "sql", 1, 5, false, false, false ] -[ "sys", "storagemodel", "create function sys.storagemodel() returns table ( \"schema\" string, \"table\" string, \"column\" string, \"type\" string, \"count\" bigint, columnsize bigint, heapsize bigint, hashes bigint, imprints bigint, sorted boolean) 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 from sys.storagemodelinput i; end;", "user", 2, 5, false, false, false ] -[ "sys", "storagemodelinit", "create procedure sys.storagemodelinit() 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; update sys.storagemodelinput set reference = true where concat(concat(\"schema\",\"table\"), \"column\") in ( select concat( concat(\"fkschema\".\"name\", \"fktable\".\"name\"), \"fkkeycol\".\"name\" ) from \"sys\".\"keys\" as \"fkkey\", \"sys\".\"objects\" as \"fkkeycol\", \"sys\".\"tables\" as \"fktable\", \"sys\".\"schemas\" as \"fkschema\" where \"fktable\".\"id\" = \"fkkey\".\"table_id\" and \"fkkey\".\"id\" = \"fkkeycol\".\"id\" and \"fkschema\".\"id\" = \"fktable\".\"schema_id\" and \"fkkey\".\"rkey\" > -1); update sys.storagemodelinput set \"distinct\" = \"count\" where \"type\" = 'varchar' or \"type\"='clob'; end;", "user", 2, 2, true, false, false ] +[ "sys", "storage", "create function sys.\"storage\"() returns table (\"schema\" string, \"table\" string, \"column\" string, \"type\" string, \"mode\" string, location string, \"count\" bigint, typewidth int, columnsize bigint, heapsize bigint, hashes bigint, phash boolean, imprints bigint, sorted boolean) external name sql.\"storage\";", "sql", 1, 5, false, false, false ] +[ "sys", "storage", "create function sys.\"storage\"(sname string) returns table (\"schema\" string, \"table\" string, \"column\" string, \"type\" string, \"mode\" string, location string, \"count\" bigint, typewidth int, columnsize bigint, heapsize bigint, hashes bigint, phash boolean, imprints bigint, sorted boolean) external name sql.\"storage\";", "sql", 1, 5, false, false, false ] +[ "sys", "storage", "create function sys.\"storage\"(sname string, tname string) returns table (\"schema\" string, \"table\" string, \"column\" string, \"type\" string, \"mode\" string, location string, \"count\" bigint, typewidth int, columnsize bigint, heapsize bigint, hashes bigint, phash boolean, imprints bigint, sorted boolean) external name sql.\"storage\";", "sql", 1, 5, false, false, false ] +[ "sys", "storage", "create function sys.\"storage\"(sname string, tname string, cname string) returns table (\"schema\" string, \"table\" string, \"column\" string, \"type\" string, \"mode\" string, location string, \"count\" bigint, typewidth int, columnsize bigint, heapsize bigint, hashes bigint, phash boolean, imprints bigint, sorted boolean) external name sql.\"storage\";", "sql", 1, 5, false, false, false ] +[ "sys", "storagemodel", "create function sys.storagemodel() returns table (\"schema\" string, \"table\" string, \"column\" string, \"type\" string, \"count\" bigint, columnsize bigint, heapsize bigint, hashes bigint, imprints bigint, sorted boolean) 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 from sys.storagemodelinput i; end;", "user", 2, 5, false, false, false ] +[ "sys", "storagemodelinit", "create procedure sys.storagemodelinit() 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; update sys.storagemodelinput set reference = true where concat(concat(\"schema\",\"table\"), \"column\") in (select concat(concat(\"fkschema\".\"name\", \"fktable\".\"name\"), \"fkkeycol\".\"name\") from \"sys\".\"keys\" as \"fkkey\", \"sys\".\"objects\" as \"fkkeycol\", \"sys\".\"tables\" as \"fktable\", \"sys\".\"schemas\" as \"fkschema\" where \"fktable\".\"id\" = \"fkkey\".\"table_id\" and \"fkkey\".\"id\" = \"fkkeycol\".\"id\" and \"fkschema\".\"id\" = \"fktable\".\"schema_id\" and \"fkkey\".\"rkey\" > -1); update sys.storagemodelinput set \"distinct\" = \"count\" where \"type\" = 'varchar' or \"type\"='clob'; end;", "user", 2, 2, true, false, false ] [ "sys", "str_to_date", "create function str_to_date(s string, format string) returns date external name mtime.\"str_to_date\";", "mtime", 1, 1, false, false, false ] [ "sys", "str_to_time", "create function str_to_time(s string, format string) returns time external name mtime.\"str_to_time\";", "mtime", 1, 1, false, false, false ] [ "sys", "str_to_timestamp", "create function str_to_timestamp(s string, format string) returns timestamp external name mtime.\"str_to_timestamp\";", "mtime", 1, 1, false, false, false ] @@ -3307,7 +3321,7 @@ select dependency_type_id, dependency_ty [ "sys", "time_to_str", "create function time_to_str(d time, format string) returns string external name mtime.\"time_to_str\";", "mtime", 1, 1, false, false, false ] [ "sys", "times", "create procedure times() external name sql.times;", "sql", 1, 2, true, false, false ] [ "sys", "timestamp_to_str", "create function timestamp_to_str(d timestamp, format string) returns string external name mtime.\"timestamp_to_str\";", "mtime", 1, 1, false, false, false ] -[ "sys", "tracelog", "create function sys.tracelog() returns table ( event integer, clk varchar(20), pc varchar(50), thread int, ticks bigint, rrsmb bigint, vmmb bigint, reads bigint, writes bigint, minflt bigint, majflt bigint, nvcsw bigint, stmt string ) external name sql.dump_trace;", "sql", 1, 5, false, false, false ] +[ "sys", "tracelog", "create function sys.tracelog() returns table (event integer, clk varchar(20), pc varchar(50), thread int, ticks bigint, rrsmb bigint, vmmb bigint, reads bigint, writes bigint, minflt bigint, majflt bigint, nvcsw bigint, stmt string) external name sql.dump_trace;", "sql", 1, 5, false, false, false ] [ "sys", "trim", "trim", "str", 0, 1, false, false, false ] [ "sys", "trim", "trim", "str", 0, 1, false, false, false ] [ "sys", "trim", "trim", "str", 0, 1, false, false, false ] @@ -3325,7 +3339,7 @@ select dependency_type_id, dependency_ty [ "sys", "upper", "toUpper", "str", 0, 1, false, false, false ] [ "sys", "uuid", "create function sys.uuid() returns uuid external name uuid.\"new\";", "uuid", 1, 1, false, false, false ] [ "sys", "vacuum", "create procedure vacuum(sys string, tab string) external name sql.vacuum;", "sql", 1, 2, true, false, false ] -[ "sys", "var", "CREATE FUNCTION var() RETURNS TABLE( name varchar(1024)) EXTERNAL NAME sql.sql_variables;", "sql", 2, 5, false, false, false ] +[ "sys", "var", "CREATE FUNCTION var() RETURNS TABLE(name varchar(1024)) EXTERNAL NAME sql.sql_variables;", "sql", 2, 5, false, false, false ] [ "sys", "var_pop", "create aggregate var_pop(val bigint) returns double external name \"aggr\".\"variancep\";", "aggr", 1, 3, false, false, false ] [ "sys", "var_pop", "create aggregate var_pop(val date) returns double external name \"aggr\".\"variancep\";", "aggr", 1, 3, false, false, false ] [ "sys", "var_pop", "create aggregate var_pop(val double) returns double external name \"aggr\".\"variancep\";", "aggr", 1, 3, false, false, false ] @@ -4564,6 +4578,11 @@ select dependency_type_id, dependency_ty [ "patindex", "arg_2", "clob", 0, 0, 1, 2 ] [ "pause", "tag", "int", 32, 0, 1, 0 ] [ "pause", "tag", "bigint", 64, 0, 1, 0 ] +[ "pcre_replace", "result", "clob", 0, 0, 0, 0 ] +[ "pcre_replace", "origin", "clob", 0, 0, 1, 1 ] +[ "pcre_replace", "pat", "clob", 0, 0, 1, 2 ] +[ "pcre_replace", "repl", "clob", 0, 0, 1, 3 ] +[ "pcre_replace", "flags", "clob", 0, 0, 1, 4 ] [ "pi", "res_0", "double", 53, 0, 0, 0 ] [ "power", "res_0", "real", 24, 0, 0, 0 ] [ "power", "arg_1", "real", 24, 0, 1, 1 ] 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 @@ -1234,14 +1234,20 @@ create function zorder_decode_x(z oid) r create function zorder_decode_y(z oid) returns integer external name zorder.decode_y; create function zorder_encode(x integer, y integer) returns oid external name zorder.encode; +-- helper function +create function pcre_replace(origin string, pat string, repl string, flags string) returns string external name pcre.replace; -- schemas select name, authorization, owner, system from sys.schemas order by name; -- _tables -select s.name, t.name, t.query, t.type, t.system, t.commit_action, t.access from sys._tables t left outer join sys.schemas s on t.schema_id = s.id order by s.name, t.name; +select s.name, t.name, replace(replace(pcre_replace(pcre_replace(pcre_replace(t.query, '--.* +', '', ''), '[ +]+', ' ', 'm'), '^ ', '', ''), '( ', '('), ' )', ')') as query, t.type, t.system, t.commit_action, t.access from sys._tables t left outer join sys.schemas s on t.schema_id = s.id order by s.name, t.name; -- _columns select t.name, c.name, c.type, c.type_digits, c.type_scale, c."default", c."null", c.number, c.storage from sys._tables t, sys._columns c where t.id = c.table_id order by t.name, c.number; -- functions -select s.name, f.name, f.func, f.mod, f.language, f.type, f.side_effect, f.varres, f.vararg from sys.functions f left outer join sys.schemas s on f.schema_id = s.id order by s.name, f.name, f.func; +select s.name, f.name, replace(replace(pcre_replace(pcre_replace(pcre_replace(f.func, '--.* +', '', ''), '[ +]+', ' ', 'm'), '^ ', '', ''), '( ', '('), ' )', ')') as query, f.mod, f.language, f.type, f.side_effect, f.varres, f.vararg from sys.functions f left outer join sys.schemas s on f.schema_id = s.id order by s.name, f.name, query; -- args select f.name, a.name, a.type, a.type_digits, a.type_scale, a.inout, a.number from sys.args a left outer join sys.functions f on a.func_id = f.id order by f.name, a.func_id, a.number; -- auths @@ -1285,6 +1291,9 @@ select keyword from sys.keywords order b select table_type_id, table_type_name from sys.table_types order by table_type_id, table_type_name; -- dependency_types select dependency_type_id, dependency_type_name from sys.dependency_types order by dependency_type_id, dependency_type_name; +-- drop helper function +drop function pcre_replace(string, string, string, string); +#create function pcre_replace(origin string, pat string, repl string, flags string) returns string external name pcre.replace; #select name, authorization, owner, system from sys.schemas order by name; % sys.schemas, sys.schemas, sys.schemas, sys.schemas # table_name _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list