Changeset: fa142513c49c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fa142513c49c
Modified Files:
        MonetDB/src/gdk/gdk_utils.mx
        
MonetDB4/tests/BugTracker/Tests/project_on_BAT_with_batFirst.SF-2020806.stable.out
        MonetDB5/src/optimizer/opt_mitosis.mx
        
sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.err
        
sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.out
        
sql/src/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err
        testing/src/Mtest.py.in
Branch: Oct2010
Log Message:

Add gdk_testing environment variable.

GDK_testing is used to switch code on/off that is meant to be used
during testing only (an example is splitting small tables in the
mitosis optimizer to test mitosis/mergetable).  The value is set on
the command line using --set gdk_testing=true by Mtest.py.

With this change, small tables will not be split by mitosis (unless
gdk_testing is true) so that outside of testing, we don't get the
(sometimes enormous) overhead of split tables (the example that
triggered this went from 9.2 seconds to 46.827ms, almost a factor
200!).


diffs (113 lines):

diff -r 0a9b3f5f4180 -r fa142513c49c MonetDB/src/gdk/gdk_utils.mx
--- a/MonetDB/src/gdk/gdk_utils.mx      Fri Oct 01 13:47:35 2010 +0200
+++ b/MonetDB/src/gdk/gdk_utils.mx      Fri Oct 01 14:54:06 2010 +0200
@@ -1667,6 +1667,7 @@
        GDKnr_threads = GDKgetenv_int("gdk_nr_threads", 0);
        if (GDKnr_threads == 0)
                GDKnr_threads = MT_check_nr_cores();
+       GDK_testing = GDKgetenv_istrue("gdk_testing");
 #ifdef NATIVE_WIN32
        if (GDKnr_threads)
                GDK_mmap_minsize /= GDKnr_threads;
@@ -1692,10 +1693,16 @@
 @h
 gdk_export int GDKstopped;
 gdk_export int GDKnr_threads;
+gdk_export int GDK_testing; /* used to switch on/off code for testing purposes 
*/
 
 @c
 int GDKstopped = 1;
 int GDKnr_threads = 0;
+/* GDK_testing is used to switch code on/off that is meant to be used
+   during testing only (an example is splitting small tables in the
+   mitosis optimizer to test mitosis/mergetable).  The value is set on
+   the command line using --set gdk_testing=true by Mtest.py. */
+int GDK_testing = 0;
 
 @h
 gdk_export void GDKexit(int status);
diff -r 0a9b3f5f4180 -r fa142513c49c 
MonetDB4/tests/BugTracker/Tests/project_on_BAT_with_batFirst.SF-2020806.stable.out
--- 
a/MonetDB4/tests/BugTracker/Tests/project_on_BAT_with_batFirst.SF-2020806.stable.out
        Fri Oct 01 13:47:35 2010 +0200
+++ 
b/MonetDB4/tests/BugTracker/Tests/project_on_BAT_with_batFirst.SF-2020806.stable.out
        Fri Oct 01 14:54:06 2010 +0200
@@ -41,6 +41,7 @@
 [ "gdk_mem_maxsize ",    1               ]
 [ "gdk_mem_pagebits",    1               ]
 [ "gdk_nr_threads",      1               ]
+[ "gdk_testing",         1       ]
 [ "gdk_version",         1               ]
 [ "gdk_vmtrim",                  1               ]
 [ "host",                1               ]
diff -r 0a9b3f5f4180 -r fa142513c49c MonetDB5/src/optimizer/opt_mitosis.mx
--- a/MonetDB5/src/optimizer/opt_mitosis.mx     Fri Oct 01 13:47:35 2010 +0200
+++ b/MonetDB5/src/optimizer/opt_mitosis.mx     Fri Oct 01 14:54:06 2010 +0200
@@ -146,8 +146,8 @@
                r= (BUN) (monet_memory /typewidth/GDKnr_threads); /* how much 
fits  */
                if (rowcnt > r )
                        pieces = (int) (rowcnt /r+1);
-               if (pieces < GDKnr_threads )
-                       pieces = GDKnr_threads;
+               if (GDK_testing && pieces < GDKnr_threads )
+                       pieces = GDKnr_threads;  /* split up anyway when 
testing */
                if (pieces > MAXSLICES)
                        pieces = MAXSLICES; /* cut off potential plan explosion 
*/
 
diff -r 0a9b3f5f4180 -r fa142513c49c 
sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.err
--- 
a/sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.err
  Fri Oct 01 13:47:35 2010 +0200
+++ 
b/sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.err
  Fri Oct 01 14:54:06 2010 +0200
@@ -68,9 +68,10 @@
 # 22:29:10 >  mclient -lsql -i -umonetdb -Pmonetdb --host=pegasus --port=30332 
 # 22:29:10 >  
 
-MAPI  = mone...@alf:32679
+MAPI  = mone...@ottar:39527
 QUERY = select * from env() as env where name = ( select 'prefix' from env() 
as env );
-ERROR = !SQLException:zero_or_one:cardinality violation (51>1)
+ERROR = !SQLException:zero_or_one:cardinality violation (52>1)
+
 
 # 13:22:15 >  
 # 13:22:15 >  Done.
diff -r 0a9b3f5f4180 -r fa142513c49c 
sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.out
--- 
a/sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.out
  Fri Oct 01 13:47:35 2010 +0200
+++ 
b/sql/src/test/BugDay_2005-12-19_2.9.3/Tests/select_from_env.SF-1240701.1242164.stable.out
  Fri Oct 01 14:54:06 2010 +0200
@@ -54,6 +54,7 @@
 [ "standoff_end"       ]
 [ "config"     ]
 [ "gdk_nr_threads"     ]
+[ "gdk_testing"        ]
 [ "xrpc_open"  ]
 [ "xrpc_port"  ]
 [ "mal_listing"        ]
diff -r 0a9b3f5f4180 -r fa142513c49c 
sql/src/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err
--- a/sql/src/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err 
Fri Oct 01 13:47:35 2010 +0200
+++ b/sql/src/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err 
Fri Oct 01 14:54:06 2010 +0200
@@ -80,10 +80,10 @@
 # 21:00:43 >  mclient -lsql -umonetdb -Pmonetdb --host=alf --port=38808 
 # 21:00:43 >  
 
-MAPI  = mone...@alf:32679
+MAPI  = mone...@ottar:39527
 QUERY = select * from env() as env where name = ( select 'prefix' from env() 
as env );
-ERROR = !SQLException:zero_or_one:cardinality violation (51>1)
-MAPI  = mone...@alf:32679
+ERROR = !SQLException:zero_or_one:cardinality violation (52>1)
+MAPI  = mone...@ottar:39527
 QUERY = select * from columns where name = (select columns.name from _tables, 
columns where _tables.id = columns.table_id);
 ERROR = !SQLException:zero_or_one:cardinality violation (288>1)
 
diff -r 0a9b3f5f4180 -r fa142513c49c testing/src/Mtest.py.in
--- a/testing/src/Mtest.py.in   Fri Oct 01 13:47:35 2010 +0200
+++ b/testing/src/Mtest.py.in   Fri Oct 01 14:54:06 2010 +0200
@@ -3481,10 +3481,10 @@
         exe = {}
         exe['Mtimeout']      = CheckExec('Mtimeout')     , 'Mtimeout -timeout 
%d ' % par['TIMEOUT']
         if par['M5']:
-            exe['Mserver']       = CheckExec('mserver5')     , '%s mserver5 
"--config=%s" --debug=%s --set gdk_nr_threads=%s %s %s %s --set mapi_open=true 
--set xrpc_open=true --set mapi_port=%s --set xrpc_port=%s --set monet_prompt= 
--set mal_listing=2 --trace %s' % \
+            exe['Mserver']       = CheckExec('mserver5')     , '%s mserver5 
"--config=%s" --debug=%s --set gdk_nr_threads=%s --set gdk_testing=true %s %s 
%s --set mapi_open=true --set xrpc_open=true --set mapi_port=%s --set 
xrpc_port=%s --set monet_prompt= --set mal_listing=2 --trace %s' % \
                                                                (env['setDBG'], 
config, env['GDK_DEBUG'], env['GDK_NR_THREADS'], env['setMONETDB_MOD_PATH'], 
env['setGDK_DBFARM'], env['setXRPC_DOCROOT'], env['MAPIPORT'], env['XRPCPORT'], 
env['MSERVER_SET'])
         if par['M4']:
-            exe['Mserver']       = CheckExec('Mserver')      , '%s Mserver 
"--config=%s" --debug=%s --set gdk_nr_threads=%s %s %s %s --set mapi_open=true 
--set xrpc_open=true --set mapi_port=%s --set xrpc_port=%s --set monet_prompt= 
--trace %s' % \
+            exe['Mserver']       = CheckExec('Mserver')      , '%s Mserver 
"--config=%s" --debug=%s --set gdk_nr_threads=%s --set gdk_testing=true %s %s 
%s --set mapi_open=true --set xrpc_open=true --set mapi_port=%s --set 
xrpc_port=%s --set monet_prompt= --trace %s' % \
                                                                (env['setDBG'], 
config, env['GDK_DEBUG'], env['GDK_NR_THREADS'], env['setMONETDB_MOD_PATH'], 
env['setGDK_DBFARM'], env['setXRPC_DOCROOT'], env['MAPIPORT'], env['XRPCPORT'], 
env['MSERVER_SET'])
         exe['Mdiff']         = CheckExec('Mdiff')        , 'Mdiff'
         exe['python']        = CheckExec(sys.executable) , sys.executable
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to