Update of /cvsroot/monetdb/sql/src/test/BugTracker-2009/Tests
In directory 
23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv8090/src/test/BugTracker-2009/Tests

Modified Files:
      Tag: Nov2009
        All 
Added Files:
      Tag: Nov2009
        use_order_column_first.SF-2686008.sql 
        use_order_column_first.SF-2686008.stable.err 
        use_order_column_first.SF-2686008.stable.out 
Log Message:
new optimizer to fix (performance) bug. We should always start grouping with
a sorted column (if its part of a group by list).


Index: All
===================================================================
RCS file: /cvsroot/monetdb/sql/src/test/BugTracker-2009/Tests/All,v
retrieving revision 1.51.2.17
retrieving revision 1.51.2.18
diff -u -d -r1.51.2.17 -r1.51.2.18
--- All 16 Nov 2009 23:05:51 -0000      1.51.2.17
+++ All 20 Nov 2009 13:06:36 -0000      1.51.2.18
@@ -116,6 +116,7 @@
 orderby_with_row_number.SF-2895791
 leftjoin_undefined.SF-2879011
 like_bug.SF-2878994
+use_order_column_first.SF-2686008
 #
 # The following test currently crashes and this fact (or its remains) might
 # harm sub-sequent tests; hence, this test should be last in this directory.

--- NEW FILE: use_order_column_first.SF-2686008.stable.out ---
stdout of test 'use_order_column_first.SF-2686008` in directory 
'src/test/BugTracker-2009` itself:


# 13:59:55 >  
# 13:59:55 >   mserver5 
"--config=/ufs/niels/scratch/rc/Linux-x86_64/etc/monetdb5.conf" --debug=10 
--set gdk_nr_threads=0 --set 
"monet_mod_path=/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/lib:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/bin"
 --set "gdk_dbfarm=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB5/dbfarm"  
--set mapi_open=true --set xrpc_open=true --set mapi_port=37694 --set 
xrpc_port=42627 --set monet_prompt= --trace  
"--dbname=mTests_src_test_BugTracker-2009" --set mal_listing=0 "--dbinit= 
include sql;" ; echo ; echo Over..
# 13:59:55 >  

# MonetDB server v5.16.0, based on kernel v1.34.0
# Serving database 'mTests_src_test_BugTracker-2009', using 4 threads
# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically linked
# Detected 7.753 GiB (8324386816 bytes) main-memory.
# Copyright (c) 1993-July 2008 CWI.
# Copyright (c) August 2008-2009 MonetDB B.V., all rights reserved
# Visit http://monetdb.cwi.nl/ for further information
# Listening for connection requests on mapi:monetdb://alf.ins.cwi.nl:37694/
# MonetDB/SQL module v2.34.0 loaded

Ready.
#function user.main():void;
#    clients.quit();
#end main;

Over..

# 13:59:55 >  
# 13:59:55 >  mclient -lsql -i --host=alf --port=37694 
# 13:59:55 >  

[ 1     ]
[ 1     ]
[ 1     ]
[ 1     ]
[ 1     ]
[ 1     ]
[ 1     ]
[ 1     ]
[ 8     ]
% sys.sorted,   sys.sorted # table_name
% a,    b # name
% int,  int # type
% 1,    1 # length
[ 1,    2       ]
[ 2,    3       ]
[ 2,    3       ]
[ 3,    1       ]
[ 3,    2       ]
[ 3,    3       ]
[ 4,    1       ]
[ 4,    3       ]
% .plan # table_name
% rel # name
% clob # type
% 66 # length
project (
| group by (
| | table(sys.sorted) [ sorted.a, sorted.b, sorted.%TID% NOT NULL ]
| ) [ sorted.a, sorted.b ] [ sorted.a, sorted.b ]
) [ sorted.a, sorted.b ]
% .plan # table_name
% rel # name
% clob # type
% 66 # length
project (
| group by (
| | table(sys.sorted) [ sorted.a, sorted.b, sorted.%TID% NOT NULL ]
| ) [ sorted.a, sorted.b ] [ sorted.b, sorted.a ]
) [ sorted.a, sorted.b ]

# 13:59:55 >  
# 13:59:55 >  Done.
# 13:59:55 >  


--- NEW FILE: use_order_column_first.SF-2686008.sql ---
-- A table with unsorted values in a and b
create table unsorted (a int,b int);
insert into unsorted values (2, 3);
insert into unsorted values (1, 2);
insert into unsorted values (4, 1);
insert into unsorted values (3, 2);
insert into unsorted values (2, 3);
insert into unsorted values (3, 3);
insert into unsorted values (3, 1);
insert into unsorted values (4, 3);

-- Store it in a new table with tuples sorted on a,b
create table sorted (a int, b int);
insert into sorted
select * from unsorted
order by a,b;

select * from sorted;

-- these tho are semantically equivalent (the group by attributes are swapped)
plan select a,b from sorted group by a,b;
plan select a,b from sorted group by b,a;

drop table unsorted;
drop table sorted;

--- NEW FILE: use_order_column_first.SF-2686008.stable.err ---
stderr of test 'use_order_column_first.SF-2686008` in directory 
'src/test/BugTracker-2009` itself:


# 13:59:55 >  
# 13:59:55 >   mserver5 
"--config=/ufs/niels/scratch/rc/Linux-x86_64/etc/monetdb5.conf" --debug=10 
--set gdk_nr_threads=0 --set 
"monet_mod_path=/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/lib:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/bin"
 --set "gdk_dbfarm=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB5/dbfarm"  
--set mapi_open=true --set xrpc_open=true --set mapi_port=37694 --set 
xrpc_port=42627 --set monet_prompt= --trace  
"--dbname=mTests_src_test_BugTracker-2009" --set mal_listing=0 "--dbinit= 
include sql;" ; echo ; echo Over..
# 13:59:55 >  

# builtin opt   gdk_arch = 64bitx86_64-unknown-linux-gnu
# builtin opt   gdk_version = 1.34.0
# builtin opt   prefix = /ufs/niels/scratch/rc/Linux-x86_64
# builtin opt   exec_prefix = ${prefix}
# builtin opt   gdk_dbname = tst
# builtin opt   gdk_dbfarm = ${prefix}/var/MonetDB
# builtin opt   gdk_debug = 8
# builtin opt   gdk_alloc_map = yes
# builtin opt   gdk_vmtrim = yes
# builtin opt   monet_admin = adm
# builtin opt   monet_prompt = >
# builtin opt   monet_welcome = yes
# builtin opt   monet_mod_path = ${exec_prefix}/lib/MonetDB
# builtin opt   monet_daemon = yes
# builtin opt   host = localhost
# builtin opt   mapi_port = 50000
# builtin opt   mapi_noheaders = no
# builtin opt   mapi_debug = 0
# builtin opt   mapi_clients = 2
# builtin opt   sql_debug = 0
# builtin opt   standoff_ns = http://monetdb.cwi.nl/standoff
# builtin opt   standoff_start = start
# builtin opt   standoff_end = end
# config opt    prefix = /ufs/niels/scratch/rc/Linux-x86_64
# config opt    config = ${prefix}/etc/monetdb5.conf
# config opt    prefix = /ufs/niels/scratch/rc/Linux-x86_64
# config opt    exec_prefix = ${prefix}
# config opt    gdk_dbfarm = ${prefix}/var/MonetDB5/dbfarm
# config opt    gdk_dbname = demo
# config opt    gdk_alloc_map = no
# config opt    gdk_embedded = no
# config opt    gdk_debug = 0
# config opt    monet_mod_path = 
${exec_prefix}/lib/MonetDB5:${exec_prefix}/lib/MonetDB5/lib:${exec_prefix}/lib/MonetDB5/bin
# config opt    monet_daemon = no
# config opt    monet_welcome = yes
# config opt    mero_msglog = ${prefix}/var/log/MonetDB/merovingian.log
# config opt    mero_errlog = ${prefix}/var/log/MonetDB/merovingian.log
# config opt    mero_pidfile = ${prefix}/var/run/MonetDB/merovingian.pid
# config opt    mero_controlport = 50001
# config opt    mal_init = ${exec_prefix}/lib/MonetDB5/mal_init.mal
# config opt    mal_listing = 2
# config opt    mapi_port = 50000
# config opt    mapi_autosense = false
# config opt    mapi_open = false
# config opt    sql_optimizer = default_pipe
# config opt    default_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,garbageCollector,dataflow,history,multiplex
# config opt    replication_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,garbageCollector,dataflow,history,replication,multiplex
# config opt    accumulator_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,accumulators,garbageCollector,dataflow,history,multiplex
# config opt    recycler_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,deadcode,constants,commonTerms,joinPath,deadcode,recycle,reduce,garbageCollector,dataflow,history,multiplex
# config opt    cracker_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,selcrack,deadcode,constants,commonTerms,joinPath,deadcode,reduce,garbageCollector,dataflow,history,multiplex
# config opt    datacell_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,deadcode,constants,commonTerms,joinPath,datacell,deadcode,reduce,garbageCollector,dataflow,history,multiplex
# config opt    octopus_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,mitosis,aliases,mergetable,deadcode,constants,commonTerms,joinPath,octopus,deadcode,reduce,garbageCollector,dataflow,history,multiplex
# config opt    mitosis_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,mitosis,aliases,mergetable,deadcode,constants,commonTerms,joinPath,reorder,deadcode,reduce,garbageCollector,dataflow,history,multiplex
# cmdline opt   config = /ufs/niels/scratch/rc/Linux-x86_64/etc/monetdb5.conf
# cmdline opt   gdk_nr_threads = 0
# cmdline opt   monet_mod_path = 
/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/lib:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/bin
# cmdline opt   gdk_dbfarm = 
/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB5/dbfarm
# cmdline opt   mapi_open = true
# cmdline opt   xrpc_open = true
# cmdline opt   mapi_port = 37694
# cmdline opt   xrpc_port = 42627
# cmdline opt   monet_prompt = 
# cmdline opt   gdk_dbname = mTests_src_test_BugTracker-2009
# cmdline opt   mal_listing = 0
#warning: please don't forget to set your vault key!
#(see /ufs/niels/scratch/rc/Linux-x86_64/etc/monetdb5.conf)

# 13:59:55 >  
# 13:59:55 >  mclient -lsql -i --host=alf --port=37694 
# 13:59:55 >  


# 13:59:55 >  
# 13:59:55 >  Done.
# 13:59:55 >  



------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to