Changeset: 73c89d7c09f7 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=73c89d7c09f7 Added Files: sql/test/emptydb-upgrade-chain-hge/Tests/dump.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/package.stable.err sql/test/emptydb-upgrade-chain/Tests/package.stable.out sql/test/emptydb-upgrade-hge/Tests/dump.stable.out.int128 sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb/Tests/package.stable.err sql/test/emptydb/Tests/package.stable.out Removed Files: sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out sql/test/emptydb-upgrade-chain-hge/Tests/dump.stable.out sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out sql/test/emptydb-upgrade-hge/Tests/check.stable.out sql/test/emptydb-upgrade-hge/Tests/dump.stable.out sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out 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.SQL.py sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/check.SQL.py sql/test/emptydb-upgrade-chain/Tests/check.stable.out sql/test/emptydb-upgrade-chain/Tests/check.stable.out.int128 sql/test/emptydb-upgrade-hge/Tests/check.SQL.py sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128 sql/test/emptydb-upgrade/Tests/check.SQL.py sql/test/emptydb-upgrade/Tests/check.stable.out sql/test/emptydb-upgrade/Tests/check.stable.out.int128 sql/test/emptydb/Tests/check.SQL.py sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.int128 sql/test/emptydb/updatetests testing/Mtest.py.in Branch: Jun2016 Log Message:
Merge with Jul2015 branch. diffs (truncated from 35806 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 @@ -24,10 +24,44 @@ clt.stdin.write("select distinct '\\\\dS out, err = clt.communicate() out = out.replace('"\n', '\n').replace('\n"', '\n').replace('""', '"').replace(r'\\', '\\') -# add queries to dump thye system tables, but avoid dumping IDs since +sys.stdout.write(out) +sys.stderr.write(err) + +clt = process.client('sql', interactive = True, + stdin = process.PIPE, stdout = process.PIPE, stderr = process.PIPE) + +out, err = clt.communicate(out) + +# do some normalization of the output: +# remove SQL comments and empty lines +out = re.sub('^[ \t]*(?:--.*)?\n', '', out, flags = re.M) +out = re.sub('[\t ]*--.*', '', out) +out = re.sub(r'/\*.*?\*/[\n\t ]*', '', out, flags = re.DOTALL) + +wsre = re.compile('[\n\t ]+') +pos = 0 +nout = '' +for res in re.finditer(r'\bbegin\b.*?\bend\b[\n\t ]*;', out, flags = re.DOTALL | re.IGNORECASE): + nout += out[pos:res.start(0)] + wsre.sub(' ', res.group(0)).replace('( ', '(').replace(' )', ')') + pos = res.end(0) +nout += out[pos:] +out = nout + +pos = 0 +nout = '' +for res in re.finditer(r'(?<=\n)(?:create|select)\b.*?;', out, flags = re.DOTALL | re.IGNORECASE): + nout += out[pos:res.start(0)] + wsre.sub(' ', res.group(0)).replace('( ', '(').replace(' )', ')') + pos = res.end(0) +nout += out[pos:] +out = nout + +sys.stdout.write(out) +sys.stderr.write(err) + +# add queries to dump the system tables, but avoid dumping IDs since # they are too volatile, and if it makes sense, dump an identifier # from a referenced table -out += ''' +out = ''' -- schemas select name, authorization, owner, system from sys.schemas order by name; -- _tables @@ -76,7 +110,6 @@ select a1.name, a2.name from sys.auths a ''' sys.stdout.write(out) -sys.stderr.write(err) clt = process.client('sql', interactive = True, stdin = process.PIPE, stdout = process.PIPE, stderr = process.PIPE) @@ -85,8 +118,8 @@ out, err = clt.communicate(out) # do some normalization of the output: # remove SQL comments, collapse multiple white space into a single space -import re -out = re.sub(r'(?:\\n|\\t| )+', ' ', re.sub(r'--.*?(?:\\n)+', '', out)) +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 @@ -356,52 +356,6 @@ Ready. \dSf sys."zorder_decode_x" \dSf sys."zorder_decode_y" \dSf sys."zorder_encode" - --- 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; --- _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; --- 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 -select name, grantor from sys.auths; --- connections (expect empty) -select server, port, db, db_alias, user, password, language from sys.connections order by server, port; --- db_user_info -select u.name, u.fullname, s.name from sys.db_user_info u left outer join sys.schemas s on u.default_schema = s.id order by u.name; --- dependencies -select count(*) from sys.dependencies; --- idxs -select t.name, i.name, i.type from sys.idxs i left outer join sys._tables t on t.id = i.table_id order by t.name, i.name; --- keys -with x as (select k.id as id, t.name as tname, k.name as kname, k.type as type, k.rkey as rkey, k.action as action from sys.keys k left outer join sys._tables t on t.id = k.table_id) select x.tname, x.kname, x.type, y.kname, x.action from x left outer join x y on x.rkey = y.id order by x.tname, x.kname; --- objects -select name, nr from sys.objects order by name, nr; --- privileges --- tables -select t.name, a.name, p.privileges, g.name, p.grantable from sys._tables t, sys.privileges p left outer join sys.auths g on p.grantor = g.id, sys.auths a where t.id = p.obj_id and p.auth_id = a.id order by t.name, a.name; --- columns -select t.name, c.name, a.name, p.privileges, g.name, p.grantable from sys._tables t, sys._columns c, sys.privileges p left outer join sys.auths g on p.grantor = g.id, sys.auths a where c.id = p.obj_id and c.table_id = t.id and p.auth_id = a.id order by t.name, c.name, a.name; --- functions -select f.name, a.name, p.privileges, g.name, p.grantable from sys.functions f, sys.privileges p left outer join sys.auths g on p.grantor = g.id, sys.auths a where f.id = p.obj_id and p.auth_id = a.id order by f.name, a.name; --- sequences -select s.name, q.name, q.start, q.minvalue, q.maxvalue, q.increment, q.cacheinc, q.cycle from sys.sequences q left outer join sys.schemas s on q.schema_id = s.id order by s.name, q.name; --- statistics (expect empty) -select count(*) from sys.statistics; --- storagemodelinput (expect empty) -select count(*) from sys.storagemodelinput; --- systemfunctions -select f.name from sys.systemfunctions s left outer join sys.functions f on s.function_id = f.id order by f.name; --- triggers -select t.name, g.name, g.time, g.orientation, g.event, g.old_name, g.new_name, g.condition, g.statement from sys.triggers g left outer join sys._tables t on g.table_id = t.id order by t.name, g.name; --- types -select s.name, t.systemname, t.sqlname, t.digits, t.scale, t.radix, t.eclass from sys.types t left outer join sys.schemas s on s.id = t.schema_id order by s.name, t.systemname, t.sqlname, t.digits, t.scale, t.radix, t.eclass; --- user_role -select a1.name, a2.name from sys.auths a1, sys.auths a2, sys.user_role ur where a1.id = ur.login_id and a2.id = ur.role_id order by a1.name, a2.name; SYSTEM SCHEMA bam SYSTEM SCHEMA json SYSTEM SCHEMA profiler @@ -830,621 +784,149 @@ CREATE SCHEMA "json" AUTHORIZATION "mone CREATE SCHEMA "profiler" AUTHORIZATION "monetdb"; CREATE SCHEMA "sys"; CREATE SCHEMA "tmp"; -CREATE TABLE "bam"."export" ( - "qname" CHARACTER LARGE OBJECT NOT NULL, - "flag" SMALLINT NOT NULL, - "rname" CHARACTER LARGE OBJECT NOT NULL, - "pos" INTEGER NOT NULL, - "mapq" SMALLINT NOT NULL, - "cigar" CHARACTER LARGE OBJECT NOT NULL, - "rnext" CHARACTER LARGE OBJECT NOT NULL, - "pnext" INTEGER NOT NULL, - "tlen" INTEGER NOT NULL, - "seq" CHARACTER LARGE OBJECT NOT NULL, - "qual" CHARACTER LARGE OBJECT NOT NULL -); -CREATE TABLE "bam"."files" ( - "file_id" BIGINT NOT NULL, - "file_location" CHARACTER LARGE OBJECT NOT NULL, - "dbschema" SMALLINT NOT NULL, - "format_version" VARCHAR(7), - "sorting_order" VARCHAR(10), - "comments" CHARACTER LARGE OBJECT, - CONSTRAINT "files_pkey_file_id" PRIMARY KEY ("file_id") -); -CREATE TABLE "bam"."pg" ( - "id" CHARACTER LARGE OBJECT NOT NULL, - "file_id" BIGINT NOT NULL, - "pn" CHARACTER LARGE OBJECT, - "cl" CHARACTER LARGE OBJECT, - "pp" CHARACTER LARGE OBJECT, - "vn" CHARACTER LARGE OBJECT, - CONSTRAINT "pg_pkey_id_file_id" PRIMARY KEY ("id", "file_id"), - CONSTRAINT "pg_fkey_file_id" FOREIGN KEY ("file_id") REFERENCES "bam"."files" ("file_id") -); -CREATE TABLE "bam"."rg" ( - "id" CHARACTER LARGE OBJECT NOT NULL, - "file_id" BIGINT NOT NULL, - "cn" CHARACTER LARGE OBJECT, - "ds" CHARACTER LARGE OBJECT, - "dt" TIMESTAMP, - "fo" CHARACTER LARGE OBJECT, - "ks" CHARACTER LARGE OBJECT, - "lb" CHARACTER LARGE OBJECT, - "pg" CHARACTER LARGE OBJECT, - "pi" INTEGER, - "pl" CHARACTER LARGE OBJECT, - "pu" CHARACTER LARGE OBJECT, - "sm" CHARACTER LARGE OBJECT, - CONSTRAINT "rg_pkey_id_file_id" PRIMARY KEY ("id", "file_id"), - CONSTRAINT "rg_fkey_file_id" FOREIGN KEY ("file_id") REFERENCES "bam"."files" ("file_id") -); -CREATE TABLE "bam"."sq" ( - "sn" CHARACTER LARGE OBJECT NOT NULL, - "file_id" BIGINT NOT NULL, - "ln" INTEGER, - "as" INTEGER, - "m5" CHARACTER LARGE OBJECT, - "sp" CHARACTER LARGE OBJECT, - "ur" CHARACTER LARGE OBJECT, - CONSTRAINT "sq_pkey_sn_file_id" PRIMARY KEY ("sn", "file_id"), - CONSTRAINT "sq_fkey_file_id" FOREIGN KEY ("file_id") REFERENCES "bam"."files" ("file_id") -); -CREATE TABLE "sys"."_columns" ( - "id" INTEGER, - "name" VARCHAR(1024), - "type" VARCHAR(1024), - "type_digits" INTEGER, - "type_scale" INTEGER, - "table_id" INTEGER, - "default" VARCHAR(2048), - "null" BOOLEAN, - "number" INTEGER, - "storage" VARCHAR(2048) -); -CREATE TABLE "sys"."_tables" ( - "id" INTEGER, - "name" VARCHAR(1024), - "schema_id" INTEGER, - "query" VARCHAR(2048), - "type" SMALLINT, - "system" BOOLEAN, - "commit_action" SMALLINT, - "access" SMALLINT -); -CREATE TABLE "sys"."args" ( - "id" INTEGER, - "func_id" INTEGER, - "name" VARCHAR(256), - "type" VARCHAR(1024), - "type_digits" INTEGER, - "type_scale" INTEGER, - "inout" TINYINT, - "number" INTEGER -); -CREATE TABLE "sys"."auths" ( - "id" INTEGER, - "name" VARCHAR(1024), - "grantor" INTEGER -); -CREATE TABLE "sys"."connections" ( - "id" INTEGER, - "server" CHAR(1024), - "port" INTEGER, - "db" CHAR(64), - "db_alias" CHAR(1024), - "user" CHAR(1024), - "password" CHAR(1024), - "language" CHAR(1024) -); -CREATE TABLE "sys"."db_user_info" ( - "name" VARCHAR(1024), - "fullname" VARCHAR(2048), - "default_schema" INTEGER -); -CREATE TABLE "sys"."dependencies" ( - "id" INTEGER, - "depend_id" INTEGER, - "depend_type" SMALLINT -); -CREATE TABLE "sys"."dependency_types" ( - "dependency_type_id" SMALLINT NOT NULL, - "dependency_type_name" VARCHAR(15) NOT NULL, - CONSTRAINT "dependency_types_dependency_type_id_pkey" PRIMARY KEY ("dependency_type_id"), - CONSTRAINT "dependency_types_dependency_type_name_unique" UNIQUE ("dependency_type_name") -); -CREATE TABLE "sys"."functions" ( - "id" INTEGER, - "name" VARCHAR(256), - "func" VARCHAR(8196), - "mod" VARCHAR(8196), - "language" INTEGER, - "type" INTEGER, - "side_effect" BOOLEAN, - "varres" BOOLEAN, - "vararg" BOOLEAN, - "schema_id" INTEGER -); -CREATE TABLE "sys"."idxs" ( - "id" INTEGER, - "table_id" INTEGER, - "type" INTEGER, - "name" VARCHAR(1024) -); -CREATE TABLE "sys"."keys" ( - "id" INTEGER, - "table_id" INTEGER, - "type" INTEGER, - "name" VARCHAR(1024), - "rkey" INTEGER, - "action" INTEGER -); -CREATE TABLE "sys"."keywords" ( - "keyword" VARCHAR(40) NOT NULL, - CONSTRAINT "keywords_keyword_pkey" PRIMARY KEY ("keyword") -); -CREATE TABLE "sys"."netcdf_attrs" ( - "obj_name" VARCHAR(256), - "att_name" VARCHAR(256), - "att_type" VARCHAR(64), - "value" CHARACTER LARGE OBJECT, - "file_id" INTEGER, - "gr_name" VARCHAR(256) -); -CREATE TABLE "sys"."netcdf_dims" ( - "dim_id" INTEGER, - "file_id" INTEGER, - "name" VARCHAR(64), - "length" INTEGER -); -CREATE TABLE "sys"."netcdf_files" ( - "file_id" INTEGER, - "location" CHAR(256) -); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list