Changeset: b802bfdf32b1 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b802bfdf32b1 Modified Files: gdk/gdk_heap.c sql/test/BugTracker-2012/Tests/All sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.py sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.sql.in sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out Branch: default Log Message:
Merge with Jan2014 branch. diffs (truncated from 435 to 300 lines): diff --git a/gdk/gdk_heap.c b/gdk/gdk_heap.c --- a/gdk/gdk_heap.c +++ b/gdk/gdk_heap.c @@ -100,10 +100,6 @@ decompose_filename(str nme) int HEAPalloc(Heap *h, size_t nitems, size_t itemsize) { - char nme[PATHLENGTH]; - size_t minsize = GDK_mmap_minsize; - struct stat st; - h->base = NULL; h->size = 1; h->copied = 0; @@ -115,16 +111,19 @@ HEAPalloc(Heap *h, size_t nitems, size_t if (itemsize && nitems > (h->size / itemsize)) return -1; - if (h->filename == NULL || h->size < minsize) { + if (h->filename == NULL || h->size < GDK_mmap_minsize) { h->storage = STORE_MEM; h->base = (char *) GDKmallocmax(h->size, &h->size, 0); HEAPDEBUG fprintf(stderr, "#HEAPalloc " SZFMT " " PTRFMT "\n", h->size, PTRFMTCAST h->base); } if (h->filename && h->base == NULL) { - char *of = h->filename; + char nme[PATHLENGTH]; + struct stat st; + char *of; + of = h->filename; h->filename = NULL; - + GDKfilepath(nme, BATDIR, of, NULL); if (stat(nme, &st) < 0) { h->storage = STORE_MMAP; h->base = HEAPcreatefile(&h->size, of); 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 @@ -1,9 +1,9 @@ # tests related to bug reports: # <descriptive-name>.Bug-<bug-report-id> # +aggregate_vs_positional_column_crash.Bug-3085 time-export-bug.Bug-2963 sticky-precision.Bug-2969 -url_script_test.Bug-2972 date_script_test.Bug-2973 nested-select-crash.Bug-3009 combination_of_theta_and_equijoins.Bug-3004 @@ -39,7 +39,6 @@ grant_on_qname.Bug-2958 bug_large-insert-Bug.2960 any_null.Bug-2594 float-mod.Bug-3086 -aggregate_vs_positional_column_crash.Bug-3085 predicate_select.Bug-3090 hash_join_crash.Bug-3089 row-number-nyi.Bug-3087 @@ -84,3 +83,4 @@ inet-casts.Bug-3205 fixed_limit_for_prepare.Bug-3208 exp_bin_assertion.Bug-3209 querycache.Bug-3212.sql +url_script_test.Bug-2972 diff --git a/sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.py b/sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.py --- a/sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.py +++ b/sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.py @@ -4,12 +4,6 @@ try: except ImportError: import process - -currenttime = time.strftime('%H:%M:%S', time.localtime(time.time())) - -#SQL command for checking the localtime -sqlcommand = "select (localtime() - time '%s' < time '00:00:20') and (time '%s' - localtime() < time '00:00:20');" %(currenttime, currenttime) - def server_start(): sys.stderr.write('#mserver\n') sys.stderr.flush() @@ -17,17 +11,20 @@ def server_start(): stdout = process.PIPE, stderr = process.PIPE) return srv -def client(lang, sqlCommand, user = 'monetdb', passwd = 'monetdb'): +def client(lang, user = 'monetdb', passwd = 'monetdb'): sys.stderr.write('#client\n') sys.stderr.flush() clt = process.client(lang, user = user, passwd = passwd, stdin = process.PIPE, stdout = process.PIPE, stderr = process.PIPE) - return clt.communicate(sqlCommand) + currenttime = time.strftime('%H:%M:%S', time.localtime(time.time())) + #SQL command for checking the localtime + sqlcommand = "select (localtime() - time '%s' < time '00:00:20') and (time '%s' - localtime() < time '00:00:20');" % (currenttime, currenttime) + return clt.communicate(sqlcommand) def main(): srv = server_start() - out, err = client('sql',sqlcommand) + out, err = client('sql') sys.stdout.write(out) sys.stderr.write(err) diff --git a/sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.sql.in b/sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.sql.in --- a/sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.sql.in +++ b/sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.sql.in @@ -1,3 +1,5 @@ +start transaction; + create table t2972(u url); insert into t2972 values('http://www.cwi.nl/~mk/vision2011.pdf'); insert into t2972 values('http://www.monetdb.com?x=2'); @@ -44,3 +46,5 @@ insert into t2972 values ('$UTSTSRCDIR/u select getContent(u) from t2972; drop table t2972; + +rollback; diff --git a/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out b/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out --- a/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out +++ b/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out @@ -29,28 +29,6 @@ update sys._tables set system = false wh drop view sys.queryLog; drop table sys.callHistory; drop table sys.queryHistory; --- The contents of this file are subject to the MonetDB Public License --- Version 1.1 (the "License"); you may not use this file except in --- compliance with the License. You may obtain a copy of the License at --- http://www.monetdb.org/Legal/MonetDBLicense --- --- Software distributed under the License is distributed on an "AS IS" --- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the --- License for the specific language governing rights and limitations --- under the License. --- --- The Original Code is the MonetDB Database System. --- --- The Initial Developer of the Original Code is CWI. --- Portions created by CWI are Copyright (C) 1997-July 2008 CWI. --- Copyright August 2008-2014 MonetDB B.V. --- All Rights Reserved. - --- QUERY HISTORY --- The query history mechanism of MonetDB/SQL relies on a few hooks. --- The most important one is a global system variable which controls --- monitoring of all sessions. - create function sys.querylog_catalog() returns table( id oid, @@ -63,20 +41,6 @@ returns table( ) external name sql.querylog_catalog; --- Each query call is stored in the table calls --- At regular intervals the query history table should be cleaned. --- This can be done manually on the SQL console, or be integrated --- in the keepQuery and keepCall upon need. --- The parameters are geared at understanding the resource claims --- They reflect the effect of the total workload mix during execution. --- The 'cpu' gives the average cpu load percentage over all cores on the --- server during execution phase. --- increasing cpu load indicates better use of multi-cores. --- The 'io' indicate IOs during complete query run. --- The 'space' is the total amount of intermediates created in MB. --- Reducing the space component improves performance/ --- All timing in usec and all storage in bytes. - create function sys.querylog_calls() returns table( id oid, -- references query plan @@ -92,7 +56,6 @@ returns table( ) external name sql.querylog_calls; --- create table views for convenience create view sys.querylog_catalog as select * from sys.querylog_catalog(); create view sys.querylog_calls as select * from sys.querylog_calls(); create view sys.querylog_history as @@ -105,11 +68,9 @@ update sys._tables where name in ('querylog_history', 'querylog_calls', 'querylog_catalog') and schema_id = (select id from sys.schemas where name = 'sys'); --- reset history for a particular user create procedure sys.querylog_empty() external name sql.querylog_empty; --- manipulate the query logger create procedure sys.querylog_enable() external name sql.querylog_enable; create procedure sys.querylog_enable(threshold smallint) @@ -127,26 +88,6 @@ create procedure sys.settimeout("query" create procedure sys.setsession("timeout" bigint) external name sql.setsession; create view sys.optimizers as select * from sys.optimizers(); create view sys.environment as select * from sys.environment(); --- The contents of this file are subject to the MonetDB Public License --- Version 1.1 (the "License"); you may not use this file except in --- compliance with the License. You may obtain a copy of the License at --- http://www.monetdb.org/Legal/MonetDBLicense --- --- Software distributed under the License is distributed on an "AS IS" --- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the --- License for the specific language governing rights and limitations --- under the License. --- --- The Original Code is the MonetDB Database System. --- --- The Initial Developer of the Original Code is CWI. --- Portions created by CWI are Copyright (C) 1997-July 2008 CWI. --- Copyright August 2008-2014 MonetDB B.V. --- All Rights Reserved. - --- System monitoring - --- show status of all active SQL queries. create function sys.queue() returns table( qtag bigint, @@ -166,7 +107,6 @@ update sys._tables where name = 'queue' and schema_id = (select id from sys.schemas where name = 'sys'); --- operations to manipulate the state of havoc queries create procedure sys.pause(tag int) external name sql.sysmon_pause; create procedure sys.resume(tag int) @@ -180,11 +120,6 @@ create procedure sys.resume(tag bigint) external name sql.sysmon_resume; create procedure sys.stop(tag bigint) external name sql.sysmon_stop; - ---create function sysmon.connections() ---returns table( ---) ---external name sql.sql_sysmon_connections; create aggregate quantile(val TINYINT, q DOUBLE) returns TINYINT external name "aggr"."quantile"; create aggregate quantile(val SMALLINT, q DOUBLE) returns SMALLINT external name "aggr"."quantile"; create aggregate quantile(val INTEGER, q DOUBLE) returns INTEGER external name "aggr"."quantile"; @@ -199,29 +134,6 @@ create aggregate quantile(val TIMESTAMP, create aggregate median(val DECIMAL) returns DECIMAL external name "aggr"."median"; create view sys.storage as select * from sys.storage(); create view sys.storagemodel as select * from sys.storagemodel(); --- The contents of this file are subject to the MonetDB Public License --- Version 1.1 (the "License"); you may not use this file except in --- compliance with the License. You may obtain a copy of the License at --- http://www.monetdb.org/Legal/MonetDBLicense --- --- Software distributed under the License is distributed on an "AS IS" --- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the --- License for the specific language governing rights and limitations --- under the License. --- --- The Original Code is the MonetDB Database System. --- --- The Initial Developer of the Original Code is CWI. --- Portions created by CWI are Copyright (C) 1997-July 2008 CWI. --- Copyright August 2008-2014 MonetDB B.V. --- All Rights Reserved. - - --- Author M.Kersten --- This script gives the database administrator insight in the actual --- value distribution over all tables in the database. - - CREATE TABLE sys.statistics( "schema" string, "table" string, @@ -254,7 +166,6 @@ external name sql.analyze; create procedure analyze(sch string, tbl string, col string) external name sql.analyze; --- control the sample size create procedure analyze("sample" bigint) external name sql.analyze; diff --git a/sql/test/testdb-upgrade/Tests/upgrade.stable.out b/sql/test/testdb-upgrade/Tests/upgrade.stable.out --- a/sql/test/testdb-upgrade/Tests/upgrade.stable.out +++ b/sql/test/testdb-upgrade/Tests/upgrade.stable.out @@ -25,28 +25,6 @@ update sys._tables set system = false wh drop view sys.queryLog; drop table sys.callHistory; drop table sys.queryHistory; --- The contents of this file are subject to the MonetDB Public License --- Version 1.1 (the "License"); you may not use this file except in --- compliance with the License. You may obtain a copy of the License at --- http://www.monetdb.org/Legal/MonetDBLicense --- --- Software distributed under the License is distributed on an "AS IS" --- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the --- License for the specific language governing rights and limitations --- under the License. --- --- The Original Code is the MonetDB Database System. --- --- The Initial Developer of the Original Code is CWI. --- Portions created by CWI are Copyright (C) 1997-July 2008 CWI. --- Copyright August 2008-2014 MonetDB B.V. --- All Rights Reserved. _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list