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

Reply via email to