Changeset: 8380af59a9a4 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8380af59a9a4 Added Files: clients/Tests/SQL-dump.SQL.py sql/test/emptydb-upgrade-chain-hge/Tests/All sql/test/emptydb-upgrade-chain-hge/Tests/check.SQL.py sql/test/emptydb-upgrade-chain-hge/Tests/check.reqtests sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.err sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/dump.SQL.py sql/test/emptydb-upgrade-chain-hge/Tests/dump.reqtests sql/test/emptydb-upgrade-chain-hge/Tests/dump.stable.err sql/test/emptydb-upgrade-chain-hge/Tests/dump.stable.out sql/test/emptydb-upgrade-chain-hge/Tests/package.py sql/test/emptydb-upgrade-chain-hge/Tests/package.reqtests sql/test/emptydb-upgrade-chain-hge/Tests/package.stable.err sql/test/emptydb-upgrade-chain-hge/Tests/package.stable.out sql/test/emptydb-upgrade-chain-hge/Tests/unpackage.py sql/test/emptydb-upgrade-chain-hge/Tests/unpackage.stable.err sql/test/emptydb-upgrade-chain-hge/Tests/unpackage.stable.out sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.sql sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.err sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/All sql/test/emptydb-upgrade-chain/Tests/check.SQL.py sql/test/emptydb-upgrade-chain/Tests/check.reqtests sql/test/emptydb-upgrade-chain/Tests/check.stable.err 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/dump.SQL.py sql/test/emptydb-upgrade-chain/Tests/dump.reqtests sql/test/emptydb-upgrade-chain/Tests/dump.stable.err sql/test/emptydb-upgrade-chain/Tests/dump.stable.out sql/test/emptydb-upgrade-chain/Tests/package.py sql/test/emptydb-upgrade-chain/Tests/package.reqtests sql/test/emptydb-upgrade-chain/Tests/unpackage.py sql/test/emptydb-upgrade-chain/Tests/unpackage.stable.err sql/test/emptydb-upgrade-chain/Tests/unpackage.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.sql sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.err 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/All sql/test/emptydb-upgrade-hge/Tests/check.SQL.py sql/test/emptydb-upgrade-hge/Tests/check.reqtests sql/test/emptydb-upgrade-hge/Tests/check.stable.err sql/test/emptydb-upgrade-hge/Tests/check.stable.out sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128 sql/test/emptydb-upgrade-hge/Tests/dump.SQL.py sql/test/emptydb-upgrade-hge/Tests/dump.reqtests sql/test/emptydb-upgrade-hge/Tests/dump.stable.err sql/test/emptydb-upgrade-hge/Tests/dump.stable.out sql/test/emptydb-upgrade-hge/Tests/unpackage.py sql/test/emptydb-upgrade-hge/Tests/unpackage.stable.err sql/test/emptydb-upgrade-hge/Tests/unpackage.stable.out sql/test/emptydb-upgrade-hge/Tests/upgrade.sql sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.err sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/All sql/test/emptydb-upgrade/Tests/check.SQL.py sql/test/emptydb-upgrade/Tests/check.reqtests sql/test/emptydb-upgrade/Tests/check.stable.err sql/test/emptydb-upgrade/Tests/check.stable.out sql/test/emptydb-upgrade/Tests/check.stable.out.int128 sql/test/emptydb-upgrade/Tests/dump.SQL.py sql/test/emptydb-upgrade/Tests/dump.reqtests sql/test/emptydb-upgrade/Tests/dump.stable.err sql/test/emptydb-upgrade/Tests/dump.stable.out sql/test/emptydb-upgrade/Tests/unpackage.py sql/test/emptydb-upgrade/Tests/unpackage.stable.err sql/test/emptydb-upgrade/Tests/unpackage.stable.out sql/test/emptydb-upgrade/Tests/upgrade.sql sql/test/emptydb-upgrade/Tests/upgrade.stable.err sql/test/emptydb-upgrade/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128 sql/test/emptydb/Tests/All sql/test/emptydb/Tests/check.SQL.py sql/test/emptydb/Tests/check.reqtests sql/test/emptydb/Tests/check.stable.err sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.int128 sql/test/emptydb/Tests/dump.SQL.py sql/test/emptydb/Tests/dump.reqtests sql/test/emptydb/Tests/dump.stable.err sql/test/emptydb/Tests/dump.stable.out sql/test/emptydb/Tests/load.sql sql/test/emptydb/Tests/load.stable.err sql/test/emptydb/Tests/load.stable.out sql/test/emptydb/Tests/package-hge.py sql/test/emptydb/Tests/package-hge.stable.err sql/test/emptydb/Tests/package-hge.stable.out sql/test/emptydb/Tests/package.py sql/test/emptydb/Tests/package.reqtests sql/test/emptydb/updatetests Removed Files: clients/Tests/SQL-dump.sql Modified Files: clients/Tests/SQL-dump.stable.out clients/Tests/SQL-dump.stable.out.int128 testing/Mtest.py.in testing/process.py Branch: Jun2016 Log Message:
Merge with Jul2015 branch. diffs (truncated from 170414 to 300 lines): diff --git a/clients/Tests/SQL-dump.sql b/clients/Tests/SQL-dump.SQL.py rename from clients/Tests/SQL-dump.sql rename to clients/Tests/SQL-dump.SQL.py --- a/clients/Tests/SQL-dump.sql +++ b/clients/Tests/SQL-dump.SQL.py @@ -1,241 +1,92 @@ -\dn -\dt -\dv -\ds -\df +import os, sys, re +try: + from MonetDBtesting import process +except ImportError: + import process -\dSn -\dSt -\dSv -\dSs -\dSf +clt = process.client('sql', format = 'csv', echo = False, + stdin = process.PIPE, stdout = process.PIPE, stderr = process.PIPE) -\dn bam -\dn json -\dn tmp +for c in 'ntvsf': + clt.stdin.write("select '\\\\d%s';\n" % c) -\dSn sys +for c in 'ntvsf': + clt.stdin.write("select '\\\\dS%s';\n" % c) -\dSt sys._columns -\dSt sys._tables -\dSt sys.args -\dSt sys.auths -\dSt sys.connections -\dSt sys.db_user_info -\dSt sys.dependencies -\dSt sys.functions -\dSt sys.idxs -\dSt sys.keys -\dSt sys.objects -\dSt sys.privileges -\dSt sys.schemas -\dSt sys.sequences -\dSt sys.statistics -\dSt sys.storagemodelinput -\dSt sys.systemfunctions -\dSt sys.triggers -\dSt sys.types -\dSt sys.user_role +clt.stdin.write("select '\\\\dn ' || name from sys.schemas order by name;\n") -\dSv sys.columns -\dSv sys.environment -\dSv sys.optimizers -\dSv sys.querylog_calls -\dSv sys.querylog_catalog -\dSv sys.querylog_history -\dSv sys.queue -\dSv sys.sessions -\dSv sys.storage -\dSv sys.storagemodel -\dSv sys.tables -\dSv sys.tablestoragemodel -\dSv sys.tracelog -\dSv sys.users +clt.stdin.write("select '\\\\dSt ' || s.name || '.' || t.name from sys._tables t, sys.schemas s where t.schema_id = s.id and t.query is null order by s.name, t.name;\n") --- select distinct '\\dSf ' || s.name || '.' || f.name from sys.functions f, sys.schemas s where f.language between 1 and 2 and f.schema_id = s.id order and s.name = 'sys' by s.name, f.name; -\dSf sys.Intersect -\dSf sys.Union -\dSf sys.abbrev -\dSf sys.alpha -\dSf sys.analyze -\dSf sys.area -\dSf sys.astext -\dSf sys.bbp -\dSf sys.boundary -\dSf sys.broadcast -\dSf sys.buffer -\dSf sys.chi2prob -\dSf sys.clearrejects -\dSf sys.columnsize -\dSf sys.contains -\dSf sys.convexhull -\dSf sys.corr -\dSf sys.crosses -\dSf sys.date_to_str -\dSf sys.db_users -\dSf sys.degrees -\dSf sys.dependencies_columns_on_functions -\dSf sys.dependencies_columns_on_indexes -\dSf sys.dependencies_columns_on_keys -\dSf sys.dependencies_columns_on_triggers -\dSf sys.dependencies_columns_on_views -\dSf sys.dependencies_functions_on_functions -\dSf sys.dependencies_functions_os_triggers -\dSf sys.dependencies_keys_on_foreignkeys -\dSf sys.dependencies_owners_on_schemas -\dSf sys.dependencies_schemas_on_users -\dSf sys.dependencies_tables_on_foreignkeys -\dSf sys.dependencies_tables_on_functions -\dSf sys.dependencies_tables_on_indexes -\dSf sys.dependencies_tables_on_triggers -\dSf sys.dependencies_tables_on_views -\dSf sys.dependencies_views_on_functions -\dSf sys.dependencies_views_on_triggers -\dSf sys.difference -\dSf sys.dimension -\dSf sys.disjoint -\dSf sys.distance -\dSf sys.env -\dSf sys.envelope -\dSf sys.environment -\dSf sys.epoch -\dSf sys.equals -\dSf sys.evalalgebra -\dSf sys.fitsattach -\dSf sys.fitsload -\dSf sys.fuse -\dSf sys.generate_series -\dSf sys.geomcollectionfromtext -\dSf sys.geometrytypeid -\dSf sys.geomfromtext -\dSf sys.getanchor -\dSf sys.getbasename -\dSf sys.getcontent -\dSf sys.getcontext -\dSf sys.getdomain -\dSf sys.getextension -\dSf sys.getfile -\dSf sys.gethost -\dSf sys.getport -\dSf sys.getprotocol -\dSf sys.getquery -\dSf sys.getroboturl -\dSf sys.getuser -\dSf sys.hashsize -\dSf sys.heapsize -\dSf sys.host -\dSf sys.hostmask -\dSf sys.ilike -\dSf sys.imprintsize -\dSf sys.intersection -\dSf sys.isaurl -\dSf sys.isauuid -\dSf sys.isempty -\dSf sys.issimple -\dSf sys.left_shift -\dSf sys.left_shift_assign -\dSf sys.length -\dSf sys.like -\dSf sys.linefromtext -\dSf sys.listdir -\dSf sys.listdirpat -\dSf sys.masklen -\dSf sys.mbr -\dSf sys.mbroverlaps -\dSf sys.md5 -\dSf sys.median -\dSf sys.mlinefromtext -\dSf sys.mpointfromtext -\dSf sys.mpolyfromtext -\dSf sys.ms_round -\dSf sys.ms_str -\dSf sys.ms_stuff -\dSf sys.ms_trunc -\dSf sys.netcdf_attach -\dSf sys.netcdf_importvar -\dSf sys.netmask -\dSf sys.network -\dSf sys.newurl -\dSf sys.optimizer_stats -\dSf sys.optimizers -\dSf sys.overlaps -\dSf sys.password_hash -\dSf sys.pause -\dSf sys.point -\dSf sys.pointfromtext -\dSf sys.polyfromtext -\dSf sys.polygonfromtext -\dSf sys.profiler_openstream -\dSf sys.profiler_stethoscope -\dSf sys.quantile -\dSf sys.querycache -\dSf sys.querylog -\dSf sys.querylog_calls -\dSf sys.querylog_catalog -\dSf sys.querylog_disable -\dSf sys.querylog_empty -\dSf sys.querylog_enable -\dSf sys.queue -\dSf sys.radians -\dSf sys.rejects -\dSf sys.relate -\dSf sys.resume -\dSf sys.reuse -\dSf sys.reverse -\dSf sys.right_shift -\dSf sys.right_shift_assign -\dSf sys.sessions -\dSf sys.setmasklen -\dSf sys.setsession -\dSf sys.settimeout -\dSf sys.shrink -\dSf sys.shutdown -\dSf sys.srid -\dSf sys.stddev_pop -\dSf sys.stddev_samp -\dSf sys.stop -\dSf sys.storage -\dSf sys.storagemodel -\dSf sys.storagemodelinit -\dSf sys.str_to_date -\dSf sys.str_to_time -\dSf sys.str_to_timestamp -\dSf sys.symdifference -\dSf sys.text -\dSf sys.time_to_str -\dSf sys.times -\dSf sys.timestamp_to_str -\dSf sys.touches -\dSf sys.tracelog -\dSf sys.uuid -\dSf sys.vacuum -\dSf sys.var -\dSf sys.var_pop -\dSf sys.var_samp -\dSf sys.within -\dSf sys.x -\dSf sys.y -\dSf sys.zorder_decode_x -\dSf sys.zorder_decode_y -\dSf sys.zorder_encode +clt.stdin.write("select '\\\\dSv ' || s.name || '.' || t.name from sys._tables t, sys.schemas s where t.schema_id = s.id and t.query is not null order by s.name, t.name;\n") -\D sys._columns -\D sys._tables -\D sys.args -\D sys.auths -\D sys.connections -\D sys.db_user_info -\D sys.dependencies -\D sys.functions -\D sys.idxs -\D sys.keys -\D sys.objects -\D sys.privileges -\D sys.schemas -\D sys.sequences -\D sys.statistics -\D sys.storagemodelinput -\D sys.systemfunctions -\D sys.triggers -\D sys.types -\D sys.user_role +clt.stdin.write("select distinct '\\\\dSf ' || s.name || '.\"' || f.name || '\"' from sys.functions f, sys.schemas s where f.language between 1 and 2 and f.schema_id = s.id and s.name = 'sys' order by s.name, f.name;\n") + +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 +# they are too volatile, and if it makes sense, dump an identifier +# from a referenced table +out += ''' +-- 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 _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list