Changeset: 97d686e7fc68 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=97d686e7fc68
Modified Files:
        clients/Tests/SQL-dump_all.stable.out
        clients/Tests/SQL-dump_all.stable.out.oid32
        clients/Tests/SQL-dump_geom.stable.out
        clients/Tests/SQL-dump_geom.stable.out.32bit
        clients/Tests/SQL-dump_geom.stable.out.64bit.oid32
        clients/Tests/SQL-dump_none.stable.out
        clients/mapiclient/dump.c
        clients/mapiclient/mclient.c
        clients/mapiclient/msqldump.h
Branch: Oct2014
Log Message:

Use sys.schemas.system column when available to find system schemas.


diffs (188 lines):

diff --git a/clients/Tests/SQL-dump_all.stable.out 
b/clients/Tests/SQL-dump_all.stable.out
--- a/clients/Tests/SQL-dump_all.stable.out
+++ b/clients/Tests/SQL-dump_all.stable.out
@@ -50,17 +50,14 @@ Ready.
 # loading sql script: 80_udf.sql
 # loading sql script: 99_system.sql
 
-# 15:01:36 >  
-# 15:01:36 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-13451" "--port=34237"
-# 15:01:36 >  
+# 15:19:38 >  
+# 15:19:38 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-517" "--port=32251"
+# 15:19:38 >  
 
-SCHEMA  bam
-SCHEMA  json
-SCHEMA  tmp
-SCHEMA         bam
-SCHEMA         json
-SCHEMA         tmp
+SYSTEM SCHEMA  bam
+SYSTEM SCHEMA  json
 SYSTEM SCHEMA  sys
+SYSTEM SCHEMA  tmp
 SYSTEM TABLE  sys._columns
 SYSTEM TABLE  sys._tables
 SYSTEM TABLE  sys.args
diff --git a/clients/Tests/SQL-dump_all.stable.out.oid32 
b/clients/Tests/SQL-dump_all.stable.out.oid32
--- a/clients/Tests/SQL-dump_all.stable.out.oid32
+++ b/clients/Tests/SQL-dump_all.stable.out.oid32
@@ -50,17 +50,14 @@ Ready.
 # loading sql script: 80_udf.sql
 # loading sql script: 99_system.sql
 
-# 15:01:36 >  
-# 15:01:36 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-13451" "--port=34237"
-# 15:01:36 >  
+# 15:19:38 >  
+# 15:19:38 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-517" "--port=32251"
+# 15:19:38 >  
 
-SCHEMA  bam
-SCHEMA  json
-SCHEMA  tmp
-SCHEMA         bam
-SCHEMA         json
-SCHEMA         tmp
+SYSTEM SCHEMA  bam
+SYSTEM SCHEMA  json
 SYSTEM SCHEMA  sys
+SYSTEM SCHEMA  tmp
 SYSTEM TABLE  sys._columns
 SYSTEM TABLE  sys._tables
 SYSTEM TABLE  sys.args
diff --git a/clients/Tests/SQL-dump_geom.stable.out 
b/clients/Tests/SQL-dump_geom.stable.out
--- a/clients/Tests/SQL-dump_geom.stable.out
+++ b/clients/Tests/SQL-dump_geom.stable.out
@@ -54,10 +54,9 @@ Ready.
 # 15:01:36 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-13451" "--port=34237"
 # 15:01:36 >  
 
-SCHEMA  json
-SCHEMA  tmp
-SCHEMA         json
-SCHEMA         tmp
+SYSTEM SCHEMA  json
+SYSTEM SCHEMA  sys
+SYSTEM SCHEMA  tmp
 SYSTEM SCHEMA  sys
 SYSTEM TABLE  sys._columns
 SYSTEM TABLE  sys._tables
diff --git a/clients/Tests/SQL-dump_geom.stable.out.32bit 
b/clients/Tests/SQL-dump_geom.stable.out.32bit
--- a/clients/Tests/SQL-dump_geom.stable.out.32bit
+++ b/clients/Tests/SQL-dump_geom.stable.out.32bit
@@ -54,10 +54,9 @@ Ready.
 # 15:01:36 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-13451" "--port=34237"
 # 15:01:36 >  
 
-SCHEMA  json
-SCHEMA  tmp
-SCHEMA         json
-SCHEMA         tmp
+SYSTEM SCHEMA  json
+SYSTEM SCHEMA  sys
+SYSTEM SCHEMA  tmp
 SYSTEM SCHEMA  sys
 SYSTEM TABLE  sys._columns
 SYSTEM TABLE  sys._tables
diff --git a/clients/Tests/SQL-dump_geom.stable.out.64bit.oid32 
b/clients/Tests/SQL-dump_geom.stable.out.64bit.oid32
--- a/clients/Tests/SQL-dump_geom.stable.out.64bit.oid32
+++ b/clients/Tests/SQL-dump_geom.stable.out.64bit.oid32
@@ -54,10 +54,9 @@ Ready.
 # 15:01:36 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-13451" "--port=34237"
 # 15:01:36 >  
 
-SCHEMA  json
-SCHEMA  tmp
-SCHEMA         json
-SCHEMA         tmp
+SYSTEM SCHEMA  json
+SYSTEM SCHEMA  sys
+SYSTEM SCHEMA  tmp
 SYSTEM SCHEMA  sys
 SYSTEM TABLE  sys._columns
 SYSTEM TABLE  sys._tables
diff --git a/clients/Tests/SQL-dump_none.stable.out 
b/clients/Tests/SQL-dump_none.stable.out
--- a/clients/Tests/SQL-dump_none.stable.out
+++ b/clients/Tests/SQL-dump_none.stable.out
@@ -54,10 +54,9 @@ Ready.
 # 15:01:36 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-13451" "--port=34237"
 # 15:01:36 >  
 
-SCHEMA  json
-SCHEMA  tmp
-SCHEMA         json
-SCHEMA         tmp
+SYSTEM SCHEMA  json
+SYSTEM SCHEMA  sys
+SYSTEM SCHEMA  tmp
 SYSTEM SCHEMA  sys
 SYSTEM TABLE  sys._columns
 SYSTEM TABLE  sys._tables
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -142,7 +142,7 @@ has_systemfunctions(Mapi mid)
 }
 
 /* return TRUE if the sys.schemas table has a column named system */
-static int
+int
 has_schemas_system(Mapi mid)
 {
        MapiHdl hdl;
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -1946,6 +1946,7 @@ doFile(Mapi mid, const char *file, int u
        MapiMsg rc = MOK;
        int lineno = 1;
        enum hmyesno hassysfuncs = UNKNOWN;
+       enum hmyesno hasschemsys = UNKNOWN;
        FILE *fp;
        char *prompt = NULL;
        int prepno = 0;
@@ -2301,6 +2302,8 @@ doFile(Mapi mid, const char *file, int u
 
                                                if (hassysfuncs == UNKNOWN)
                                                        hassysfuncs = 
has_systemfunctions(mid) ? YES : NO;
+                                               if (hasschemsys == UNKNOWN)
+                                                       hasschemsys = 
has_schemas_system(mid) ? YES : NO;
 
                                                if (!*line) {
                                                        line = "%";
@@ -2398,14 +2401,8 @@ doFile(Mapi mid, const char *file, int u
                                                               "%s "
                                                               "UNION "
                                                               "SELECT NULL AS 
name, "
-                                                                     "(CASE 
WHEN o.name LIKE 'sys' "
-                                                                           
"THEN 'SYSTEM ' "
-                                                                           
"ELSE '' "
-                                                                      "END "
-                                                                      "|| 
'SCHEMA') AS type, "
-                                                                     "CASE 
WHEN o.name LIKE 'sys' "
-                                                                          
"THEN true "
-                                                                          
"ELSE false END AS system, "
+                                                                     "(CASE 
WHEN %s THEN 'SYSTEM ' ELSE '' END || 'SCHEMA') AS type, "
+                                                                     "%s AS 
system, "
                                                                      "o.name 
AS sname, "
                                                                      "%d AS 
ntype "
                                                               "FROM 
sys.schemas o "
@@ -2418,6 +2415,8 @@ doFile(Mapi mid, const char *file, int u
                                                         nameq,
                                                         MD_SEQ,
                                                         nameq, funcq,
+                                                        hasschemsys ? 
"o.system" : "o.name LIKE 'sys'",
+                                                        hasschemsys ? 
"o.system" : "o.name LIKE 'sys'",
                                                         MD_SCHEMA,
                                                         line, x,
                                                         (wantsSystem ?
diff --git a/clients/mapiclient/msqldump.h b/clients/mapiclient/msqldump.h
--- a/clients/mapiclient/msqldump.h
+++ b/clients/mapiclient/msqldump.h
@@ -26,3 +26,4 @@ extern int dump_functions(Mapi mid, stre
 extern int dump_database(Mapi mid, stream *toConsole, int describe, const char 
useInserts);
 extern void dump_version(Mapi mid, stream *toConsole, const char *prefix);
 extern int has_systemfunctions(Mapi mid);
+extern int has_schemas_system(Mapi mid);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to