Changeset: 3bdbd0ad735a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3bdbd0ad735a
Modified Files:
        sql/test/remote/Tests/ssbm.SQL.py
Branch: geo
Log Message:

Merge with default branch.


diffs (52 lines):

diff --git a/sql/test/remote/Tests/ssbm.SQL.py 
b/sql/test/remote/Tests/ssbm.SQL.py
--- a/sql/test/remote/Tests/ssbm.SQL.py
+++ b/sql/test/remote/Tests/ssbm.SQL.py
@@ -1,4 +1,4 @@
-import os, sys, socket, glob, monetdb.sql, threading, time, codecs
+import os, sys, socket, glob, monetdb.sql, threading, time, codecs, shutil
 try:
     from MonetDBtesting import process
 except ImportError:
@@ -89,8 +89,10 @@ def freeport():
 ssbmpath = os.path.join(os.environ['TSTSRCBASE'], 'sql/benchmarks/ssbm/Tests')
 ssbmdatapath = os.path.join(ssbmpath, 'SF-0.01')
 tmpdir = os.path.join(os.environ.get('TMPDIR', '/tmp'), 'remotetest')
-os.system('rm -rf ' + tmpdir)
-os.system('mkdir -p ' + tmpdir)
+if os.path.exists(tmpdir):
+    shutil.rmtree(tmpdir)
+if not os.path.exists(tmpdir):
+    os.makedirs(tmpdir)
 
 masterport = freeport()
 masterproc = process.server(mapiport=masterport, dbname="master", 
dbfarm=os.path.join(tmpdir, 'master'), stdin = process.PIPE, stdout = 
process.PIPE)
@@ -98,10 +100,25 @@ masterconn = monetdb.sql.connect(databas
 
 # split lineorder table into one file for each worker
 # this is as portable as an anvil
-lineorder = os.path.join(ssbmdatapath, 'lineorder.tbl')
-os.system('rm -rf ' + tmpdir + '/lineorder-split-*')
-os.system('split -l $(( $( wc -l < ' + lineorder + ' ) / ' + str(nworkers) + ' 
+ 1 )) ' + lineorder + ' ' + tmpdir + '/lineorder-split-')
-loadsplits =  glob.glob(os.path.join(tmpdir, 'lineorder-split-*'))
+lineordertbl = os.path.join(ssbmdatapath, 'lineorder.tbl')
+lineorderdir = os.path.join(tmpdir, 'lineorder')
+if os.path.exists(lineorderdir):
+    shutil.rmtree(lineorderdir)
+if not os.path.exists(lineorderdir):
+    os.makedirs(lineorderdir)
+inputData = open(lineordertbl, 'r').read().split('\n')
+linesperslice = len(inputData) / nworkers + 1
+i = 1
+for lines in range(0, len(inputData), linesperslice):
+    outputData = inputData[lines:lines+linesperslice]
+    outputStr = '\n'.join(outputData)
+    if outputStr[-1] != '\n':
+        outputStr += '\n'
+    outputFile = open(os.path.join(lineorderdir, 'split-' + str(i)), 'w')
+    outputFile.write(outputStr)
+    outputFile.close()
+    i += 1
+loadsplits =  glob.glob(os.path.join(lineorderdir, 'split-*'))
 
 # load data (in parallel)
 def worker_load(workerrec):
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to