Changeset: c70b1c773047 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c70b1c773047 Added Files: sql/test/BugTracker-2012/Tests/update_crash.Bug-2655.sql sql/test/BugTracker-2012/Tests/update_crash.Bug-2655.stable.err sql/test/BugTracker-2012/Tests/update_crash.Bug-2655.stable.out Modified Files: sql/test/BugTracker-2012/Tests/All Branch: Oct2012 Log Message:
Add test for the update crash reported in Bug 2655 diffs (251 lines): diff --git a/sql/test/BugTracker-2012/Tests/All b/sql/test/BugTracker-2012/Tests/All --- a/sql/test/BugTracker-2012/Tests/All +++ b/sql/test/BugTracker-2012/Tests/All @@ -59,3 +59,19 @@ case_evaluated_too_early.Bug-3186 recursive_optimizer.Bug-3191 join_over_multitable_using_index.Bug-3181 strange_escaping_in_csv.Bug-2133 +overflow-in-list.Bug-3189 +incorrect_cast_from_double_to_int.Bug-2579 +conditions_when_for_triggers_do_not_work.Bug-2073 +insert_gives_39000_program_error.Bug-3097 +create_function.Bug-3172 +currenttime.Bug-2781 +timestamp_minus_date.Bug-2977 +null_except_null.Bug-3040 +create_index_update.Bug-3098.sql +algebra_find.Bug-2728 +row_number_does_not_work_in_complex_query.Bug-2805 +day-of-month-localization.Bug-2962 +scalar_subquery_with_alias.Bug-3093 +power_priority.Bug-2291 +type_resolution_error_in_SQL_procedural_code.Buf-3143 +update_crash.Bug-2655 diff --git a/sql/test/BugTracker-2012/Tests/update_crash.Bug-2655.sql b/sql/test/BugTracker-2012/Tests/update_crash.Bug-2655.sql new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2012/Tests/update_crash.Bug-2655.sql @@ -0,0 +1,53 @@ +CREATE SEQUENCE sys.seq_5700 AS INTEGER; + +CREATE TABLE kvk ( + id INTEGER NOT NULL DEFAULT next value for +seq_5700, + kvk BIGINT, + bedrijfsnaam VARCHAR(256), + adres VARCHAR(256), + postcode VARCHAR(10), + plaats VARCHAR(32), + type VARCHAR(14), + kvks INTEGER, + sub INTEGER, + bedrijfsnaam_size SMALLINT, + adres_size SMALLINT, + website VARCHAR(255), + CONSTRAINT kvk_id_pkey PRIMARY KEY (id) +); + +insert into kvk(kvk, bedrijfsnaam, adres, postcode, plaats, type, kvks, sub, bedrijfsnaam_size, adres_size, website) values (1, 'table1', 'table1', 'table1', 'table1', 'table1', 23, 24, 1, 1, 'table1'); +insert into kvk(kvk, bedrijfsnaam, adres, postcode, plaats, type, kvks, sub, bedrijfsnaam_size, adres_size, website) values (1, 'table1', 'table1', 'table1', 'table1', 'table1', 23, 24, 1, 1, 'table2'); + +CREATE TABLE kvk_extra_nieuw ( + kvk BIGINT, + bedrijfsnaam VARCHAR(256), + straat VARCHAR(256), + nummer INTEGER, + toevoeging VARCHAR(16), + postcode VARCHAR(10), + plaats VARCHAR(32), + website VARCHAR(128), + type VARCHAR(14), + status VARCHAR(64), + kvks INTEGER, + sub INTEGER +); + +insert into kvk_extra_nieuw values (1, 'test', 'test', 10, 'test', 'test', 'test', 'test', 'test', 'test', 10, 11); +insert into kvk_extra_nieuw values (2, 'test', 'test', 10, 'test', 'test', 'test', 'test', 'test', 'test', 10, 11); +insert into kvk_extra_nieuw values (3, 'test', 'test', 10, 'test', 'test', 'test', 'test', 'test', 'test', 10, 11); +insert into kvk_extra_nieuw values (4, 'test', 'test', 10, 'test', 'test', 'test', 'test', 'test', 'test', 10, 11); +insert into kvk_extra_nieuw values (5, 'test', 'test', 10, 'test', 'test', 'test', 'test', 'test', 'test', 10, 11); + +select * from kvk; +select * from kvk_extra_nieuw; +update kvk set website = (select distinct kvk_extra_nieuw.website from kvk, kvk_extra_nieuw WHERE +kvk.kvk = kvk_extra_nieuw.kvk and kvk_extra_nieuw.website is not null); + +select * from kvk; + +drop SEQUENCE sys.seq_5700; +drop table kvk_extra_nieuw; +drop table kvk; diff --git a/sql/test/BugTracker-2012/Tests/update_crash.Bug-2655.stable.err b/sql/test/BugTracker-2012/Tests/update_crash.Bug-2655.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2012/Tests/update_crash.Bug-2655.stable.err @@ -0,0 +1,36 @@ +stderr of test 'update_crash.Bug-2655` in directory 'test/BugTracker-2012` itself: + + +# 16:26:37 > +# 16:26:37 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "gdk_dbfarm=/ufs/goncalve/scratch/MonetDB/current/debug/MonetDB/var/MonetDB" "--set" "mapi_open=true" "--set" "mapi_port=31477" "--set" "monet_prompt=" "--trace" "--forcemito" "--set" "mal_listing=2" "--dbname=mTests_test_BugTracker-2012" "--set" "mal_listing=0" +# 16:26:37 > + +# builtin opt gdk_dbname = demo +# builtin opt gdk_dbfarm = /ufs/goncalve/scratch/MonetDB/current/debug/MonetDB/var/monetdb5/dbfarm +# 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 gdk_dbfarm = /ufs/goncalve/scratch/MonetDB/current/debug/MonetDB/var/MonetDB +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 31477 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt gdk_dbname = mTests_test_BugTracker-2012 +# cmdline opt mal_listing = 0 + +# 16:26:37 > +# 16:26:37 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=lyon" "--port=31477" +# 16:26:37 > + + +# 16:26:37 > +# 16:26:37 > "Done." +# 16:26:37 > + diff --git a/sql/test/BugTracker-2012/Tests/update_crash.Bug-2655.stable.out b/sql/test/BugTracker-2012/Tests/update_crash.Bug-2655.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2012/Tests/update_crash.Bug-2655.stable.out @@ -0,0 +1,124 @@ +stdout of test 'update_crash.Bug-2655` in directory 'test/BugTracker-2012` itself: + + +# 16:26:37 > +# 16:26:37 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "gdk_dbfarm=/ufs/goncalve/scratch/MonetDB/current/debug/MonetDB/var/MonetDB" "--set" "mapi_open=true" "--set" "mapi_port=31477" "--set" "monet_prompt=" "--trace" "--forcemito" "--set" "mal_listing=2" "--dbname=mTests_test_BugTracker-2012" "--set" "mal_listing=0" +# 16:26:37 > + +# MonetDB 5 server v11.13.6 +# This is an unreleased version +# Serving database 'mTests_test_BugTracker-2012', using 8 threads +# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically linked +# Found 15.629 GiB available main-memory. +# Copyright (c) 1993-July 2008 CWI. +# Copyright (c) August 2008-2012 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://lyon.ins.cwi.nl:31477/ +# 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: 80_udf.sql +# loading sql script: 99_system.sql + +# 16:26:37 > +# 16:26:37 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=lyon" "--port=31477" +# 16:26:37 > + +#CREATE SEQUENCE sys.seq_5700 AS INTEGER; +#CREATE TABLE kvk ( +# id INTEGER NOT NULL DEFAULT next value for +#seq_5700, +# kvk BIGINT, +# bedrijfsnaam VARCHAR(256), +# adres VARCHAR(256), +# postcode VARCHAR(10), +# plaats VARCHAR(32), +# type VARCHAR(14), +# kvks INTEGER, +# sub INTEGER, +# bedrijfsnaam_size SMALLINT, +# adres_size SMALLINT, +# website VARCHAR(255), +#insert into kvk(kvk, bedrijfsnaam, adres, postcode, plaats, type, kvks, sub, bedrijfsnaam_size, adres_size, website) values (1, 'table1', 'table1', 'table1', 'table1', 'table1', 23, 24, 1, 1, 'table1'); +[ 1 ] +#insert into kvk(kvk, bedrijfsnaam, adres, postcode, plaats, type, kvks, sub, bedrijfsnaam_size, adres_size, website) values (1, 'table1', 'table1', 'table1', 'table1', 'table1', 23, 24, 1, 1, 'table2'); +[ 1 ] +#CREATE TABLE kvk_extra_nieuw ( +# kvk BIGINT, +# bedrijfsnaam VARCHAR(256), +# straat VARCHAR(256), +# nummer INTEGER, +# toevoeging VARCHAR(16), +# postcode VARCHAR(10), +# plaats VARCHAR(32), +# website VARCHAR(128), +# type VARCHAR(14), +# status VARCHAR(64), +# kvks INTEGER, +# sub INTEGER +#); +#insert into kvk_extra_nieuw values (1, 'test', 'test', 10, 'test', 'test', 'test', 'test', 'test', 'test', 10, 11); +[ 1 ] +#insert into kvk_extra_nieuw values (2, 'test', 'test', 10, 'test', 'test', 'test', 'test', 'test', 'test', 10, 11); +[ 1 ] +#insert into kvk_extra_nieuw values (3, 'test', 'test', 10, 'test', 'test', 'test', 'test', 'test', 'test', 10, 11); +[ 1 ] +#insert into kvk_extra_nieuw values (4, 'test', 'test', 10, 'test', 'test', 'test', 'test', 'test', 'test', 10, 11); +[ 1 ] +#insert into kvk_extra_nieuw values (5, 'test', 'test', 10, 'test', 'test', 'test', 'test', 'test', 'test', 10, 11); +[ 1 ] +#select * from kvk; +% sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk # table_name +% id, kvk, bedrijfsnaam, adres, postcode, plaats, type, kvks, sub, bedrijfsnaam_size, adres_size, website # name +% int, bigint, varchar, varchar, varchar, varchar, varchar, int, int, smallint, smallint, varchar # type +% 1, 1, 6, 6, 6, 6, 6, 2, 2, 1, 1, 6 # length +[ 1, 1, "table1", "table1", "table1", "table1", "table1", 23, 24, 1, 1, "table1" ] +[ 2, 1, "table1", "table1", "table1", "table1", "table1", 23, 24, 1, 1, "table2" ] +#select * from kvk_extra_nieuw; +% sys.kvk_extra_nieuw, sys.kvk_extra_nieuw, sys.kvk_extra_nieuw, sys.kvk_extra_nieuw, sys.kvk_extra_nieuw, sys.kvk_extra_nieuw, sys.kvk_extra_nieuw, sys.kvk_extra_nieuw, sys.kvk_extra_nieuw, sys.kvk_extra_nieuw, sys.kvk_extra_nieuw, sys.kvk_extra_nieuw # table_name +% kvk, bedrijfsnaam, straat, nummer, toevoeging, postcode, plaats, website, type, status, kvks, sub # name +% bigint, varchar, varchar, int, varchar, varchar, varchar, varchar, varchar, varchar, int, int # type +% 1, 4, 4, 2, 4, 4, 4, 4, 4, 4, 2, 2 # length +[ 1, "test", "test", 10, "test", "test", "test", "test", "test", "test", 10, 11 ] +[ 2, "test", "test", 10, "test", "test", "test", "test", "test", "test", 10, 11 ] +[ 3, "test", "test", 10, "test", "test", "test", "test", "test", "test", 10, 11 ] +[ 4, "test", "test", 10, "test", "test", "test", "test", "test", "test", 10, 11 ] +[ 5, "test", "test", 10, "test", "test", "test", "test", "test", "test", 10, 11 ] +#update kvk set website = (select distinct kvk_extra_nieuw.website from kvk, kvk_extra_nieuw WHERE +#kvk.kvk = kvk_extra_nieuw.kvk and kvk_extra_nieuw.website is not null); +[ 2 ] +#select * from kvk; +% sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk, sys.kvk # table_name +% id, kvk, bedrijfsnaam, adres, postcode, plaats, type, kvks, sub, bedrijfsnaam_size, adres_size, website # name +% int, bigint, varchar, varchar, varchar, varchar, varchar, int, int, smallint, smallint, varchar # type +% 1, 1, 6, 6, 6, 6, 6, 2, 2, 1, 1, 4 # length +[ 1, 1, "table1", "table1", "table1", "table1", "table1", 23, 24, 1, 1, "test" ] +[ 2, 1, "table1", "table1", "table1", "table1", "table1", 23, 24, 1, 1, "test" ] +#drop SEQUENCE sys.seq_5700; +#drop table kvk_extra_nieuw; +#drop table kvk; + +# 16:26:37 > +# 16:26:37 > "Done." +# 16:26:37 > + _______________________________________________ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list