Changeset: dcdbb273cb0d for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dcdbb273cb0d Added Files: sql/test/BugTracker-2013/Tests/select-view-view.Bug-3245.sql sql/test/BugTracker-2013/Tests/select-view-view.Bug-3245.stable.err sql/test/BugTracker-2013/Tests/select-view-view.Bug-3245.stable.out Modified Files: sql/jdbc/tests/Tests/Test_Dobjects.stable.out sql/server/sql_mvc.c sql/test/BugTracker-2011/Tests/copy-into-file-error.Bug-2722.stable.out sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out sql/test/BugTracker-2013/Tests/All sql/test/BugTracker/Tests/explain.SF-1739353.stable.out sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out sql/test/Tests/systemfunctions.stable.out sql/test/mapi/Tests/php_monetdb.stable.out Branch: default Log Message:
merging Feb2013 diffs (truncated from 467 to 300 lines): diff --git a/sql/jdbc/tests/Tests/Test_Dobjects.stable.out b/sql/jdbc/tests/Tests/Test_Dobjects.stable.out --- a/sql/jdbc/tests/Tests/Test_Dobjects.stable.out +++ b/sql/jdbc/tests/Tests/Test_Dobjects.stable.out @@ -89,10 +89,10 @@ mTests_sql_jdbc_tests tmp keys SYSTEM TA mTests_sql_jdbc_tests tmp objects SYSTEM TABLE null null null null rowid SYSTEM mTests_sql_jdbc_tests tmp triggers SYSTEM TABLE null null null null rowid SYSTEM mTests_sql_jdbc_tests sys columns SYSTEM VIEW SELECT * FROM (SELECT p.* FROM "sys"."_columns" AS p UNION ALL SELECT t.* FROM "tmp"."_columns" AS t) AS columns; null null null rowid SYSTEM -mTests_sql_jdbc_tests sys querylog SYSTEM VIEW create view querylog as +mTests_sql_jdbc_tests sys querylog SYSTEM VIEW create view sys.querylog as select qd.*, ql.ctime, ql.arguments, ql.exec, ql.result, ql.foot, ql.memory, ql.tuples, ql.inblock, ql.oublock from queryhistory qd, callhistory ql where qd.id = ql.id; null null null rowid SYSTEM -mTests_sql_jdbc_tests sys tables SYSTEM VIEW SELECT * FROM (SELECT p.*, 0 AS "temporary" FROM "sys"."_tables" AS p UNION ALL SELECT t.*, 1 AS "temporary" FROM "tmp"."_tables" AS t) AS tables where tables.type < 2; null null null rowid SYSTEM +mTests_sql_jdbc_tests sys tables SYSTEM VIEW SELECT * FROM (SELECT p.*, 0 AS "temporary" FROM "sys"."_tables" AS p UNION ALL SELECT t.*, 1 AS "temporary" FROM "tmp"."_tables" AS t) AS tables where tables.type <> 2; null null null rowid SYSTEM mTests_sql_jdbc_tests sys tablestoragemodel SYSTEM VIEW -- A summary of the table storage requirement is is available as a table view. -- The auxillary column denotes the maximum space if all non-sorted columns -- would be augmented with a hash (rare situation) diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c --- a/sql/server/sql_mvc.c +++ b/sql/server/sql_mvc.c @@ -71,7 +71,7 @@ mvc_init(int debug, store_type store, ba mvc_drop_table(m, s, t, 0); } - t = mvc_create_view(m, s, "tables", SQL_PERSIST, "SELECT * FROM (SELECT p.*, 0 AS \"temporary\" FROM \"sys\".\"_tables\" AS p UNION ALL SELECT t.*, 1 AS \"temporary\" FROM \"tmp\".\"_tables\" AS t) AS tables where tables.type < 2;", 1); + t = mvc_create_view(m, s, "tables", SQL_PERSIST, "SELECT * FROM (SELECT p.*, 0 AS \"temporary\" FROM \"sys\".\"_tables\" AS p UNION ALL SELECT t.*, 1 AS \"temporary\" FROM \"tmp\".\"_tables\" AS t) AS tables where tables.type <> 2;", 1); mvc_create_column_(m, t, "id", "int", 32); mvc_create_column_(m, t, "name", "varchar", 1024); mvc_create_column_(m, t, "schema_id", "int", 32); diff --git a/sql/test/BugTracker-2011/Tests/copy-into-file-error.Bug-2722.stable.out b/sql/test/BugTracker-2011/Tests/copy-into-file-error.Bug-2722.stable.out --- a/sql/test/BugTracker-2011/Tests/copy-into-file-error.Bug-2722.stable.out +++ b/sql/test/BugTracker-2011/Tests/copy-into-file-error.Bug-2722.stable.out @@ -39,8 +39,8 @@ Ready. % val # name % int # type % 1 # length +2 4 -2 #copy select val from bug2722 where fk=2 order by time into stdout using delimiters ' ' , '\n'; [ 2 ] #drop table bug2722; diff --git a/sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out b/sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out --- a/sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out +++ b/sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out @@ -47,7 +47,7 @@ Ready. [ 2130, "idxs", 2102, NULL, 0, true, 2, false, 0 ] [ 2135, "triggers", 2102, NULL, 0, true, 2, false, 0 ] [ 2146, "objects", 2102, NULL, 0, true, 2, false, 0 ] -[ 5062, "tables", 2000, "SELECT * FROM (SELECT p.*, 0 AS \"temporary\" FROM \"sys\".\"_tables\" AS p UNION ALL SELECT t.*, 1 AS \"temporary\" FROM \"tmp\".\"_tables\" AS t) AS tables where tables.type < 2;", 1, true, 0, false, 0 ] +[ 5062, "tables", 2000, "SELECT * FROM (SELECT p.*, 0 AS \"temporary\" FROM \"sys\".\"_tables\" AS p UNION ALL SELECT t.*, 1 AS \"temporary\" FROM \"tmp\".\"_tables\" AS t) AS tables where tables.type <> 2;", 1, true, 0, false, 0 ] [ 5072, "columns", 2000, "SELECT * FROM (SELECT p.* FROM \"sys\".\"_columns\" AS p UNION ALL SELECT t.* FROM \"tmp\".\"_columns\" AS t) AS columns;", 1, true, 0, false, 0 ] [ 5092, "db_user_info", 2000, NULL, 0, true, 0, false, 0 ] [ 5100, "users", 2000, "SELECT u.\"name\" AS \"name\", ui.\"fullname\", ui.\"default_schema\" FROM db_users() AS u LEFT JOIN \"sys\".\"db_user_info\" AS ui ON u.\"name\" = ui.\"name\" ;", 1, true, 0, false, 0 ] @@ -56,7 +56,7 @@ Ready. [ 5111, "privileges", 2000, NULL, 0, true, 0, false, 0 ] [ 5264, "queryhistory", 2000, NULL, 0, true, 0, false, 0 ] [ 5278, "callhistory", 2000, NULL, 0, true, 0, false, 0 ] -[ 5295, "querylog", 2000, "create view querylog as\nselect qd.*, ql.ctime, ql.arguments, ql.exec, ql.result, ql.foot, ql.memory, ql.tuples, ql.inblock, ql.oublock from queryhistory qd, callhistory ql\nwhere qd.id = ql.id;", 1, true, 0, false, 0 ] +[ 5295, "querylog", 2000, "create view sys.querylog as\nselect qd.*, ql.ctime, ql.arguments, ql.exec, ql.result, ql.foot, ql.memory, ql.tuples, ql.inblock, ql.oublock from queryhistory qd, callhistory ql\nwhere qd.id = ql.id;", 1, true, 0, false, 0 ] [ 6036, "storagemodelinput", 2000, NULL, 0, true, 0, false, 0 ] [ 6077, "tablestoragemodel", 2000, "-- A summary of the table storage requirement is is available as a table view.\n-- The auxillary column denotes the maximum space if all non-sorted columns\n-- would be augmented with a hash (rare situation)\ncreate view sys.tablestoragemodel\nas select \"schema\",\"table\",max(count) as \"count\",\n\tsum(columnsize) as columnsize,\n\tsum(heapsize) as heapsize,\n\tsum(indices) as indices,\n\tsum(case when sorted = false then 8 * count else 0 end) as auxillary\nfrom sys.storagemodel() group by \"schema\",\"table\";", 1, true, 0, false, 0 ] [ 6099, "systemfunctions", 2000, NULL, 0, true, 0, false, 0 ] diff --git a/sql/test/BugTracker-2013/Tests/All b/sql/test/BugTracker-2013/Tests/All --- a/sql/test/BugTracker-2013/Tests/All +++ b/sql/test/BugTracker-2013/Tests/All @@ -4,3 +4,4 @@ segfault_in_aggregation.Bug-3225 subtract-one-year.Bug-3215 perl-undef-0.Bug-3235 crash-from-optimizer.Bug-3241 +select-view-view.Bug-3245 diff --git a/sql/test/BugTracker-2013/Tests/select-view-view.Bug-3245.sql b/sql/test/BugTracker-2013/Tests/select-view-view.Bug-3245.sql new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2013/Tests/select-view-view.Bug-3245.sql @@ -0,0 +1,51 @@ +start transaction; + +create table tbl_a (id int primary key, +c_id int, +str1 varchar(128), +str2 varchar(128), +str3 varchar(128), +int1 int, +str4 varchar(128)); + +create table tbl_b (id int primary key, +int1 int); + +create table tbl_c (id int primary key, +str1 varchar(128), +str2 varchar(128), +str3 varchar(128)); + +create table tbl_d (a_id int, str1 varchar(128)); + +create view view_a as +select a.*,b.int1 as bint1,d.str1 as dstr1 +from tbl_a a +inner join tbl_b b on a.id=b.id +inner join tbl_d d on a.id=d.a_id; + +create view view_b as +select view_a.* +from view_a +inner join tbl_c on view_a.c_id=tbl_c.id +where 1=1 +and view_a.str1 = 'foo' +and view_a.str2 = 'bar' +and view_a.str3 = 'baz' +and tbl_c.str1 <> 'foobar' +and tbl_c.str2 = 'foobarbaz' +and tbl_c.str3 is null; + +create view view_c as +select * from view_b +where 1=1 +and view_b.int1 = 0; + + +create view view_d as +select * from view_c +where str4 < 'zzzzz'; + +select * from view_d order by id; + +rollback; diff --git a/sql/test/BugTracker-2013/Tests/select-view-view.Bug-3245.stable.err b/sql/test/BugTracker-2013/Tests/select-view-view.Bug-3245.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2013/Tests/select-view-view.Bug-3245.stable.err @@ -0,0 +1,35 @@ +stderr of test 'select-view-view.Bug-3245` in directory 'sql/test/BugTracker-2013` itself: + + +# 22:10:13 > +# 22:10:13 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=39526" "--set" "mapi_usock=/var/tmp/mtest-15176/.s.monetdb.39526" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/home/sjoerd/Monet-candidate/var/MonetDB/mTests_sql_test_BugTracker-2013" "--set" "mal_listing=0" +# 22:10:13 > + +# builtin opt gdk_dbpath = /home/sjoerd/Monet-candidate/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = yes +# builtin opt monet_prompt = > +# builtin opt monet_daemon = no +# builtin opt mapi_port = 50000 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 39526 +# cmdline opt mapi_usock = /var/tmp/mtest-15176/.s.monetdb.39526 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt gdk_dbpath = /home/sjoerd/Monet-candidate/var/MonetDB/mTests_sql_test_BugTracker-2013 +# cmdline opt mal_listing = 0 + +# 22:10:13 > +# 22:10:13 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-15176" "--port=39526" +# 22:10:13 > + + +# 22:10:13 > +# 22:10:13 > "Done." +# 22:10:13 > + diff --git a/sql/test/BugTracker-2013/Tests/select-view-view.Bug-3245.stable.out b/sql/test/BugTracker-2013/Tests/select-view-view.Bug-3245.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2013/Tests/select-view-view.Bug-3245.stable.out @@ -0,0 +1,99 @@ +stdout of test 'select-view-view.Bug-3245` in directory 'sql/test/BugTracker-2013` itself: + + +# 22:10:13 > +# 22:10:13 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=39526" "--set" "mapi_usock=/var/tmp/mtest-15176/.s.monetdb.39526" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/home/sjoerd/Monet-candidate/var/MonetDB/mTests_sql_test_BugTracker-2013" "--set" "mal_listing=0" +# 22:10:13 > + +# MonetDB 5 server v11.15.4 (hg id: 63be080638ec) +# This is an unreleased version +# Serving database 'mTests_sql_test_BugTracker-2013', using 8 threads +# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically linked +# Found 7.735 GiB available main-memory. +# Copyright (c) 1993-July 2008 CWI. +# Copyright (c) August 2008-2013 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://gaai.mullender.nl:39526/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-15176/.s.monetdb.39526 +# MonetDB/GIS module loaded +# MonetDB/JAQL module loaded +# MonetDB/SQL module loaded + +Ready. +# SQL catalog created, loading sql scripts once +# loading sql script: 09_like.sql +# loading sql script: 10_math.sql +# loading sql script: 11_times.sql +# loading sql script: 12_url.sql +# loading sql script: 13_date.sql +# loading sql script: 14_inet.sql +# loading sql script: 15_history.sql +# loading sql script: 16_tracelog.sql +# loading sql script: 17_compress.sql +# loading sql script: 18_dictionary.sql +# loading sql script: 19_cluster.sql +# loading sql script: 20_vacuum.sql +# loading sql script: 21_dependency_functions.sql +# loading sql script: 22_clients.sql +# loading sql script: 23_skyserver.sql +# loading sql script: 24_zorder.sql +# loading sql script: 25_debug.sql +# loading sql script: 39_analytics.sql +# loading sql script: 40_geom.sql +# loading sql script: 75_storagemodel.sql +# loading sql script: 80_udf.sql +# loading sql script: 99_system.sql + +# 22:10:13 > +# 22:10:13 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-15176" "--port=39526" +# 22:10:13 > + +#start transaction; +#create table tbl_a (id int primary key, +#c_id int, +#str1 varchar(128), +#str2 varchar(128), +#str3 varchar(128), +#int1 int, +#str4 varchar(128)); +#create table tbl_b (id int primary key, +#int1 int); +#create table tbl_c (id int primary key, +#str1 varchar(128), +#str2 varchar(128), +#str3 varchar(128)); +#create table tbl_d (a_id int, str1 varchar(128)); +#create view view_a as +#select a.*,b.int1 as bint1,d.str1 as dstr1 +#from tbl_a a +#inner join tbl_b b on a.id=b.id +#inner join tbl_d d on a.id=d.a_id; +#create view view_b as +#select view_a.* +#from view_a +#inner join tbl_c on view_a.c_id=tbl_c.id +#where 1=1 +#and view_a.str1 = 'foo' +#and view_a.str2 = 'bar' +#and view_a.str3 = 'baz' +#and tbl_c.str1 <> 'foobar' +#and tbl_c.str2 = 'foobarbaz' +#and tbl_c.str3 is null; +#create view view_c as +#select * from view_b +#where 1=1 +#and view_b.int1 = 0; +#create view view_d as +#select * from view_c +#where str4 < 'zzzzz'; +#select * from view_d order by id; +% sys.view_d, sys.view_d, sys.view_d, sys.view_d, sys.view_d, sys.view_d, sys.view_d, sys.view_d, sys.view_d # table_name +% id, c_id, str1, str2, str3, int1, str4, bint1, dstr1 # name +% int, int, varchar, varchar, varchar, int, varchar, int, varchar # type +% 1, 1, 0, 0, 0, 1, 0, 1, 0 # length +#rollback; + +# 22:10:13 > +# 22:10:13 > "Done." +# 22:10:13 > + diff --git a/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out b/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out --- a/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out +++ b/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out @@ -23,39 +23,39 @@ Ready. Operation successful -+----------------------------------------------------------------+ ++----------------------------------------------------------------------+ | mal | -+================================================================+ ++======================================================================+ | function user.s0_1{autoCommit=true}():void; | | X_3:bat[:oid,:str] := bat.new(nil:oid,nil:str); | | X_2 := sql.mvc(); | | X_9 := sql.bind(X_2,"sys","_tables","type",0); | | X_6:bat[:oid,:oid] := sql.tid(X_2,"sys","_tables"); | -| X_58 := algebra.thetasubselect(X_9,X_6,2:sht,"<"); | +| X_57 := algebra.subselect(X_9,X_6,2:sht,2:sht,true,true,true); | | (X_12,r1_12) := sql.bind(X_2,"sys","_tables","type",2); | -| X_59 := algebra.thetasubselect(r1_12,2:sht,"<"); | +| X_58 := algebra.subselect(r1_12,2:sht,2:sht,true,true,true); | | X_15 := sql.bind(X_2,"sys","_tables","type",1); | -| X_60 := algebra.thetasubselect(X_15,X_6,2:sht,"<"); | -| X_17 := sql.subdelta(X_58,X_12,X_59,X_60); | -| X_19 := sql.bind(X_2,"sys","_tables","name",0); | -| (X_21,r1_29) := sql.bind(X_2,"sys","_tables","name",2); | -| X_23 := sql.bind(X_2,"sys","_tables","name",1); | -| X_24 := sql.projectdelta(X_17,X_19,X_21,r1_29,X_23); | -| X_25 := bat.append(X_3,X_24,true); | _______________________________________________ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list