Changeset: 76ee92d07b71 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=76ee92d07b71
Added Files:
monetdb5/tests/BugTracker/Tests/kunion-and-nil.Bug-1667.mal
monetdb5/tests/BugTracker/Tests/kunion-and-nil.Bug-1667.stable.err
monetdb5/tests/BugTracker/Tests/kunion-and-nil.Bug-1667.stable.out
monetdb5/tests/BugTracker/Tests/large-number-operation-strange-results.Bug-2929.sql
monetdb5/tests/BugTracker/Tests/large-number-operation-strange-results.Bug-2929.stable.err
monetdb5/tests/BugTracker/Tests/large-number-operation-strange-results.Bug-2929.stable.out
monetdb5/tests/BugTracker/Tests/stdev.Bug-3178.mal
monetdb5/tests/BugTracker/Tests/stdev.Bug-3178.stable.err
monetdb5/tests/BugTracker/Tests/stdev.Bug-3178.stable.out
sql/test/BugTracker-2012/Tests/algebra_find.Bug-2728.sql
sql/test/BugTracker-2012/Tests/algebra_find.Bug-2728.stable.err
sql/test/BugTracker-2012/Tests/algebra_find.Bug-2728.stable.out
sql/test/BugTracker-2012/Tests/conditions_when_for_triggers_do_not_work.Bug-2073.sql
sql/test/BugTracker-2012/Tests/conditions_when_for_triggers_do_not_work.Bug-2073.stable.err
sql/test/BugTracker-2012/Tests/conditions_when_for_triggers_do_not_work.Bug-2073.stable.out
sql/test/BugTracker-2012/Tests/create_function.Bug-3172.sql
sql/test/BugTracker-2012/Tests/create_function.Bug-3172.stable.err
sql/test/BugTracker-2012/Tests/create_function.Bug-3172.stable.out
sql/test/BugTracker-2012/Tests/create_index_update.Bug-3098.sql
sql/test/BugTracker-2012/Tests/create_index_update.Bug-3098.stable.err
sql/test/BugTracker-2012/Tests/create_index_update.Bug-3098.stable.out
sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.py
sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.stable.err
sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.stable.out
sql/test/BugTracker-2012/Tests/day-of-month-localization.Bug-2962.SQL.py
sql/test/BugTracker-2012/Tests/day-of-month-localization.Bug-2962.stable.err
sql/test/BugTracker-2012/Tests/day-of-month-localization.Bug-2962.stable.out
sql/test/BugTracker-2012/Tests/huge_table_update.Bug-2803.sql
sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.sql
sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.err
sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.out
sql/test/BugTracker-2012/Tests/insert_gives_39000_program_error.Bug-3097.sql
sql/test/BugTracker-2012/Tests/insert_gives_39000_program_error.Bug-3097.stable.err
sql/test/BugTracker-2012/Tests/insert_gives_39000_program_error.Bug-3097.stable.out
sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.sql
sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.stable.err
sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.stable.out
sql/test/BugTracker-2012/Tests/null_except_null.Bug-3040.sql
sql/test/BugTracker-2012/Tests/null_except_null.Bug-3040.stable.err
sql/test/BugTracker-2012/Tests/null_except_null.Bug-3040.stable.out
sql/test/BugTracker-2012/Tests/power_priority.Bug-2291.sql
sql/test/BugTracker-2012/Tests/power_priority.Bug-2291.stable.err
sql/test/BugTracker-2012/Tests/power_priority.Bug-2291.stable.out
sql/test/BugTracker-2012/Tests/row_number_does_not_work_in_complex_query.Bug-2805.sql
sql/test/BugTracker-2012/Tests/row_number_does_not_work_in_complex_query.Bug-2805.stable.err
sql/test/BugTracker-2012/Tests/row_number_does_not_work_in_complex_query.Bug-2805.stable.out
sql/test/BugTracker-2012/Tests/scalar_subquery_with_alias.Bug-3093.sql
sql/test/BugTracker-2012/Tests/scalar_subquery_with_alias.Bug-3093.stable.err
sql/test/BugTracker-2012/Tests/scalar_subquery_with_alias.Bug-3093.stable.out
sql/test/BugTracker-2012/Tests/strange_escaping_in_csv.Bug-2133.sql
sql/test/BugTracker-2012/Tests/strange_escaping_in_csv.Bug-2133.stable.err
sql/test/BugTracker-2012/Tests/strange_escaping_in_csv.Bug-2133.stable.out
sql/test/BugTracker-2012/Tests/timestamp_minus_date.Bug-2977.sql
sql/test/BugTracker-2012/Tests/timestamp_minus_date.Bug-2977.stable.err
sql/test/BugTracker-2012/Tests/timestamp_minus_date.Bug-2977.stable.out
sql/test/BugTracker-2012/Tests/tuples_INTERSECT_vs_count_intersect_differs.Bug-2659.sql
sql/test/BugTracker-2012/Tests/tuples_INTERSECT_vs_count_intersect_differs.Bug-2659.stable.err
sql/test/BugTracker-2012/Tests/tuples_INTERSECT_vs_count_intersect_differs.Bug-2659.stable.out
sql/test/BugTracker-2012/Tests/type_resolution_error_in_SQL_procedural_code.Bug-3143.sql
sql/test/BugTracker-2012/Tests/type_resolution_error_in_SQL_procedural_code.Bug-3143.stable.err
sql/test/BugTracker-2012/Tests/type_resolution_error_in_SQL_procedural_code.Bug-3143.stable.out
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:
clients/perl/DBD/monetdb.pm
clients/php/lib/php_monetdb.php
gdk/gdk_batop.c
monetdb5/tests/BugTracker/Tests/All
sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out
sql/benchmarks/tpch/LOCKED/Tests/18.stable.out
sql/benchmarks/tpch/Tests/01-22.stable.out
sql/benchmarks/tpch/Tests/18.stable.out
sql/server/rel_optimizer.c
sql/server/rel_select.c
sql/test/ADT2006/Tests/benesamo.stable.out
sql/test/ADT2006/Tests/woud.stable.out
sql/test/BugTracker-2010/Tests/constants-optimizer.Bug-2317.sql
sql/test/BugTracker-2010/Tests/constants-optimizer.Bug-2317.stable.out
sql/test/BugTracker-2011/Tests/perl-table_info.Bug-2885.pl
sql/test/BugTracker-2011/Tests/perl-table_info.Bug-2885.stable.err
sql/test/BugTracker-2012/Tests/All
sql/test/BugTracker-2012/Tests/string-insert-default-null-crash.Bug-3168.sql
sql/test/BugTracker-2012/Tests/string-insert-default-null-crash.Bug-3168.stable.out
sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
sql/test/bugs/Tests/groupby_having-bug-sf-947600.stable.out
sql/test/bugs/Tests/groupby_having_charlength-bug-sf-943566.stable.out
sql/test/bugs/Tests/in_or_bug.stable.out
sql/test/rdf/Tests/q2_28_t.stable.out
sql/test/rdf/Tests/q3_28_t.stable.out
sql/test/rdf/Tests/q4_28_t.stable.out
sql/test/rdf/Tests/q6_28_t.stable.out
Branch: default
Log Message:
Merge with Oct2012 branch.
diffs (truncated from 14732 to 300 lines):
diff --git a/clients/perl/DBD/monetdb.pm b/clients/perl/DBD/monetdb.pm
--- a/clients/perl/DBD/monetdb.pm
+++ b/clients/perl/DBD/monetdb.pm
@@ -300,14 +300,15 @@ SQL
$sql .= " order by table_type, table_schem, table_name\n";
my $sth = $dbh->prepare($sql) or return;
$sth->execute(@bv) or return;
- $dbh->set_err(0,"Catalog parameter '$c' ignored") if defined $c;
+
+ $dbh->set_err(0,"Catalog parameter c has to be an empty string, as MonetDB
does not support multiple catalogs") if $c ne "";
return $sth;
}
sub table_info {
my($dbh, $c, $s, $t, $tt) = @_;
-
+
if ( defined $c && defined $s && defined $t ) {
if ( $c eq '%' && $s eq '' && $t eq '') {
return monetdb_catalog_info($dbh);
@@ -330,6 +331,7 @@ sub table_info {
sub column_info {
my($dbh, $catalog, $schema, $table, $column) = @_;
+ # TODO: test $catalog for equality with empty string
my $sql = <<'SQL';
select cast( null as varchar( 128 ) ) as table_cat
, s."name" as table_schem
@@ -368,7 +370,7 @@ SQL
$sql .= " order by table_cat, table_schem, table_name,
ordinal_position\n";
my $sth = $dbh->prepare($sql) or return;
$sth->execute(@bv) or return;
- $dbh->set_err(0,"Catalog parameter '$catalog' ignored") if defined
$catalog;
+ $dbh->set_err(0,"Catalog parameter catalog has to be an empty string, as
MonetDB does not support multiple catalogs") if $catalog ne "";
my $rows;
while ( my $row = $sth->fetch ) {
$row->[ 4] = $DBD::monetdb::TypeInfo::typeinfo{$row->[5]}->[ 1];
@@ -385,6 +387,7 @@ SQL
sub primary_key_info {
my($dbh, $catalog, $schema, $table) = @_;
+ # TODO: test $catalog for equality with empty string
return $dbh->set_err(-1,'Undefined schema','HY009') unless defined $schema;
return $dbh->set_err(-1,'Undefined table' ,'HY009') unless defined $table;
my $sql = <<'SQL';
@@ -408,7 +411,7 @@ select cast( null as varchar( 128
SQL
my $sth = $dbh->prepare($sql) or return;
$sth->execute($schema, $table) or return;
- $dbh->set_err(0,"Catalog parameter '$catalog' ignored") if defined
$catalog;
+ $dbh->set_err(0,"Catalog parameter catalog has to be an empty string, as
MonetDB does not support multiple catalogs") if $catalog ne "";
return $sth;
}
@@ -464,8 +467,7 @@ SQL
$sql .= " order by uk_table_schem, uk_table_name, fk_table_schem,
fk_table_name, ordinal_position\n";
my $sth = $dbh->prepare($sql) or return;
$sth->execute(@bv) or return;
- $dbh->set_err(0,"Catalog parameter '$c1' ignored") if defined $c1;
- $dbh->set_err(0,"Catalog parameter '$c2' ignored") if defined $c2;
+ $dbh->set_err(0,"Catalog parameters c1 and c2 have to be an empty
strings, as MonetDB does not support multiple catalogs") if $c1 ne "" || $c2 ne
"";
return $sth;
}
diff --git a/clients/php/lib/php_monetdb.php b/clients/php/lib/php_monetdb.php
--- a/clients/php/lib/php_monetdb.php
+++ b/clients/php/lib/php_monetdb.php
@@ -299,7 +299,7 @@
return FALSE;
}
- if (($row_array = monetdb_fetch_assoc(&$hdl, $row)) == FALSE) {
+ if (($row_array = monetdb_fetch_assoc($hdl, $row)) == FALSE) {
return FALSE;
}
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -147,6 +147,10 @@ insert_string_bat(BAT *b, BAT *n, int ap
BATloop(n, p, q) {
if (!append)
hp = b->H->type ? BUNhloc(ni, p) : NULL;
+ if (!append && b->H->type && !n->H->type) {
+ o = n->H->seq;
+ hp = &o;
+ }
tp = b->T->type ? BUNtail(ni, p) : NULL;
if (toff != ~ (size_t) 0) {
diff --git a/monetdb5/tests/BugTracker/Tests/All
b/monetdb5/tests/BugTracker/Tests/All
--- a/monetdb5/tests/BugTracker/Tests/All
+++ b/monetdb5/tests/BugTracker/Tests/All
@@ -11,3 +11,5 @@ merge-join_properties.SF-2952191
joinpath-loop.Bug-2965
thetajoin-properties.Bug-2974
algebra_project.Bug-3045
+stdev.Bug-3178
+kunion-and-nil.Bug-1667
diff --git a/monetdb5/tests/BugTracker/Tests/kunion-and-nil.Bug-1667.mal
b/monetdb5/tests/BugTracker/Tests/kunion-and-nil.Bug-1667.mal
new file mode 100644
--- /dev/null
+++ b/monetdb5/tests/BugTracker/Tests/kunion-and-nil.Bug-1667.mal
@@ -0,0 +1,12 @@
+ a := bat.new(nil:oid,nil:oid);
+ bat.append(a, nil:oid, true);
+ bat.append(a, 1@0, true);
+ a := algebra.tunique(a);
+ b := algebra.tunion(a, a);
+
+ io.print(b);
+ (infoattr, infoval) := bat.info(b);
+ infoattr := algebra.select(infoattr, "tkey");
+ infoattrreverse := bat.reverse(infoattr);
+ info := algebra.join(infoattrreverse, infoval);
+ io.print(info);
diff --git a/monetdb5/tests/BugTracker/Tests/kunion-and-nil.Bug-1667.stable.err
b/monetdb5/tests/BugTracker/Tests/kunion-and-nil.Bug-1667.stable.err
new file mode 100644
--- /dev/null
+++ b/monetdb5/tests/BugTracker/Tests/kunion-and-nil.Bug-1667.stable.err
@@ -0,0 +1,30 @@
+stderr of test 'kunion-and-nil.Bug-1667` in directory 'tests/BugTracker`
itself:
+
+
+# 16:48:27 >
+# 16:48:27 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"gdk_dbfarm=/Users/holger/Applications/MonetDB.app/Contents/var/MonetDB"
"--set" "mapi_open=true" "--set" "mapi_port=30334" "--set" "monet_prompt="
"--trace" "--forcemito" "--set" "mal_listing=2"
"--dbname=mTests_tests_BugTracker" "kunion-and-nil.Bug-1667.mal"
+# 16:48:27 >
+
+# builtin opt gdk_dbname = demo
+# builtin opt gdk_dbfarm =
/Users/holger/Applications/MonetDB.app/Contents/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 =
/Users/holger/Applications/MonetDB.app/Contents/var/MonetDB
+# cmdline opt mapi_open = true
+# cmdline opt mapi_port = 30334
+# cmdline opt monet_prompt =
+# cmdline opt mal_listing = 2
+# cmdline opt gdk_dbname = mTests_tests_BugTracker
+
+# 16:48:27 >
+# 16:48:27 > "Done."
+# 16:48:27 >
+
diff --git a/monetdb5/tests/BugTracker/Tests/kunion-and-nil.Bug-1667.stable.out
b/monetdb5/tests/BugTracker/Tests/kunion-and-nil.Bug-1667.stable.out
new file mode 100644
--- /dev/null
+++ b/monetdb5/tests/BugTracker/Tests/kunion-and-nil.Bug-1667.stable.out
@@ -0,0 +1,47 @@
+stdout of test 'kunion-and-nil.Bug-1667` in directory 'tests/BugTracker`
itself:
+
+
+# 16:48:27 >
+# 16:48:27 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"gdk_dbfarm=/Users/holger/Applications/MonetDB.app/Contents/var/MonetDB"
"--set" "mapi_open=true" "--set" "mapi_port=30334" "--set" "monet_prompt="
"--trace" "--forcemito" "--set" "mal_listing=2"
"--dbname=mTests_tests_BugTracker" "kunion-and-nil.Bug-1667.mal"
+# 16:48:27 >
+
+# MonetDB 5 server v11.13.6
+# This is an unreleased version
+# Serving database 'mTests_tests_BugTracker', using 4 threads
+# Compiled for x86_64-apple-darwin12.2.1/64bit with 64bit OIDs dynamically
linked
+# Found 8.000 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://dhcp-89.eduroam.cwi.nl:30334/
+# MonetDB/SQL module loaded
+function user.main():void;
+ a := bat.new(nil:oid,nil:oid);
+ bat.append(a,nil:oid,true);
+ bat.append(a,1@0,true);
+ a := algebra.tunique(a);
+ b := algebra.tunion(a,a);
+ io.print(b);
+ (infoattr,infoval) := bat.info(b);
+ infoattr := algebra.select(infoattr,"tkey");
+ infoattrreverse := bat.reverse(infoattr);
+ info := algebra.join(infoattrreverse,infoval);
+ io.print(info);
+end main;
+#-----------------#
+# t h # name
+# oid oid # type
+#-----------------#
+[ 0@0, nil ]
+[ 1@0, 1@0 ]
+! [ 0@0, nil ] would be okay to appear here if the tkey value (see
below) was 0
+#-----------------#
+# h t # name
+# str str # type
+#-----------------#
+[ "tkey", "0" ]
+
+# 16:48:27 >
+# 16:48:27 > "Done."
+# 16:48:27 >
+
diff --git
a/monetdb5/tests/BugTracker/Tests/large-number-operation-strange-results.Bug-2929.sql
b/monetdb5/tests/BugTracker/Tests/large-number-operation-strange-results.Bug-2929.sql
new file mode 100644
--- /dev/null
+++
b/monetdb5/tests/BugTracker/Tests/large-number-operation-strange-results.Bug-2929.sql
@@ -0,0 +1,2 @@
+select 10000000 * 100000 * 11.51 + 51.097 * 100000;
+select convert (10000000 * 100000 * 11.51,decimal(15)) +convert (51.097 *
100000, decimal(15));
diff --git
a/monetdb5/tests/BugTracker/Tests/large-number-operation-strange-results.Bug-2929.stable.err
b/monetdb5/tests/BugTracker/Tests/large-number-operation-strange-results.Bug-2929.stable.err
new file mode 100644
--- /dev/null
+++
b/monetdb5/tests/BugTracker/Tests/large-number-operation-strange-results.Bug-2929.stable.err
@@ -0,0 +1,40 @@
+stderr of test 'large-number-operation-strange-results.Bug-2929` in directory
'tests/BugTracker` itself:
+
+
+# 14:36:23 >
+# 14:36:23 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"gdk_dbfarm=/export/scratch2/zhang/monet-install/bugday/debug/var/MonetDB"
"--set" "mapi_open=true" "--set" "mapi_port=32568" "--set" "monet_prompt="
"--trace" "--forcemito" "--set" "mal_listing=2"
"--dbname=mTests_tests_BugTracker" "--set" "mal_listing=0"
+# 14:36:23 >
+
+# builtin opt gdk_dbname = demo
+# builtin opt gdk_dbfarm =
/export/scratch2/zhang/monet-install/bugday/debug/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 =
/export/scratch2/zhang/monet-install/bugday/debug/var/MonetDB
+# cmdline opt mapi_open = true
+# cmdline opt mapi_port = 32568
+# cmdline opt monet_prompt =
+# cmdline opt mal_listing = 2
+# cmdline opt gdk_dbname = mTests_tests_BugTracker
+# cmdline opt mal_listing = 0
+
+# 14:36:23 >
+# 14:36:23 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=riga"
"--port=32568"
+# 14:36:23 >
+
+MAPI = monetdb@riga:33410
+QUERY = select 10000000 * 100000 * 11.51 + 51.097 * 100000;
+ERROR = !overflow in calculation.
+
+
+# 14:36:23 >
+# 14:36:23 > "Done."
+# 14:36:23 >
+
diff --git
a/monetdb5/tests/BugTracker/Tests/large-number-operation-strange-results.Bug-2929.stable.out
b/monetdb5/tests/BugTracker/Tests/large-number-operation-strange-results.Bug-2929.stable.out
new file mode 100644
--- /dev/null
+++
b/monetdb5/tests/BugTracker/Tests/large-number-operation-strange-results.Bug-2929.stable.out
@@ -0,0 +1,61 @@
+stdout of test 'large-number-operation-strange-results.Bug-2929` in directory
'tests/BugTracker` itself:
+
+
+# 14:36:23 >
+# 14:36:23 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"gdk_dbfarm=/export/scratch2/zhang/monet-install/bugday/debug/var/MonetDB"
"--set" "mapi_open=true" "--set" "mapi_port=32568" "--set" "monet_prompt="
"--trace" "--forcemito" "--set" "mal_listing=2"
"--dbname=mTests_tests_BugTracker" "--set" "mal_listing=0"
+# 14:36:23 >
+
+# MonetDB 5 server v11.13.6
+# This is an unreleased version
+# Serving database 'mTests_tests_BugTracker', 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://riga.ins.cwi.nl:32568/
+# MonetDB/GIS module loaded
+# MonetDB/JAQL module loaded
+# MonetDB/SQL module loaded
+# MonetDB/DataCell 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
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list