[prev in list] [next in list] [prev in thread] [next in thread] 

List:       monetdb-checkins
Subject:    MonetDB: default - merger
From:       Martin Kersten <commits () monetdb ! org>
Date:       2014-02-27 10:48:26
Message-ID: hg.3d128423556c.1393498106.6315528441665844383 () monetdb2 ! cwi-incubator ! nl
[Download RAW message or body]

Changeset: 3d128423556c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3d128423556c
Added Files:
	monetdb5/optimizer/optimizer_private.h
Modified Files:
	clients/Tests/exports.stable.out
	monetdb5/extras/jaql/jaqlscenario.c
	monetdb5/extras/mal_optimizer_template/opt_sql_append.c
	monetdb5/optimizer/Makefile.ag
	monetdb5/optimizer/opt_macro.c
	monetdb5/optimizer/opt_prelude.c
	monetdb5/optimizer/opt_prelude.h
	monetdb5/optimizer/opt_support.c
	monetdb5/optimizer/opt_wrapper.c
	monetdb5/optimizer/optimizer.c
	sql/backends/monet5/sql_gencode.c
Branch: default
Log Message:

merger


diffs (truncated from 733 to 300 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -2693,7 +2693,6 @@ str operatorName(int i);
 lng optDebug;
 str optimizeMALBlock(Client cntxt, MalBlkPtr mb);
 str optimizerCheck(Client cntxt, MalBlkPtr mb, str name, int actions, lng usec, int \
                flag);
-void optimizerInit(void);
 str optimizerRef;
 str optimizer_prelude(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
 str pack2Ref;
diff --git a/monetdb5/extras/jaql/jaqlscenario.c \
                b/monetdb5/extras/jaql/jaqlscenario.c
--- a/monetdb5/extras/jaql/jaqlscenario.c
+++ b/monetdb5/extras/jaql/jaqlscenario.c
@@ -83,8 +83,6 @@ JAQLinitClient(Client c)
 	j = GDKzalloc(sizeof(jc));
 	jaqllex_init_extra(j, &j->scanner);
 
-	optimizerInit();  /* for all xxxRef vars in dumpcode */
-
 	/* Set state, this indicates an initialized client scenario */
 	c->state[MAL_SCENARIO_READER] = c;
 	c->state[MAL_SCENARIO_PARSER] = c;
diff --git a/monetdb5/extras/mal_optimizer_template/opt_sql_append.c \
                b/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
--- a/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
+++ b/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
@@ -269,7 +269,6 @@ str OPTsql_append(Client cntxt, MalBlkPt
 	lng t,clk= GDKusec();
 	int actions = 0;
 
-	optimizerInit();
 	if( p )
 		removeInstruction(mb, p);
 	OPTDEBUGsql_append mnstr_printf(cntxt->fdout,"=APPLY OPTIMIZER sql_append\n");
diff --git a/monetdb5/optimizer/Makefile.ag b/monetdb5/optimizer/Makefile.ag
--- a/monetdb5/optimizer/Makefile.ag
+++ b/monetdb5/optimizer/Makefile.ag
@@ -28,7 +28,7 @@ MTSAFE
 lib_optimizer = {
 	NOINST
 	SOURCES = \
-		optimizer.c optimizer.h \
+		optimizer.c optimizer.h optimizer_private.h \
 		opt_accumulators.c opt_accumulators.h \
 		opt_aliases.c opt_aliases.h \
 		opt_cluster.c opt_cluster.h \
diff --git a/monetdb5/optimizer/opt_macro.c b/monetdb5/optimizer/opt_macro.c
--- a/monetdb5/optimizer/opt_macro.c
+++ b/monetdb5/optimizer/opt_macro.c
@@ -545,7 +545,6 @@ str OPTmacro(Client cntxt, MalBlkPtr mb,
 	lng clk= GDKusec();
 	int actions = 0;
 
-	optimizerInit();
 	if( p ==NULL )
 		return 0;
 	removeInstruction(mb, p);
@@ -574,7 +573,6 @@ str OPTorcam(Client cntxt, MalBlkPtr mb,
 	lng clk= GDKusec();
 	int actions = 0;
 
-	optimizerInit();
 	if( p ==NULL )
 		return 0;
 	removeInstruction(mb, p);
diff --git a/monetdb5/optimizer/opt_prelude.c b/monetdb5/optimizer/opt_prelude.c
--- a/monetdb5/optimizer/opt_prelude.c
+++ b/monetdb5/optimizer/opt_prelude.c
@@ -24,6 +24,7 @@
  */
 #include "monetdb_config.h"
 #include "opt_prelude.h"
+#include "optimizer_private.h"
 
 str abortRef;
 str affectedRowsRef;
@@ -291,288 +292,284 @@ int tubProp;
 int horiginProp;		/* original oid source */
 int toriginProp;		/* original oid source */
 
-void optimizerInit(void){
-	if (batRef)
-		return;
-	MT_lock_set(&mal_remoteLock, "optimizerInit");
-	if(batRef == NULL){
-		abortRef = putName("abort",5);
-		affectedRowsRef = putName("affectedRows",12);
-		aggrRef = putName("aggr",4);
-		alarmRef = putName("alarm",5);
-		algebraRef = putName("algebra",7);
-		appendidxRef = putName("append_idxbat",13);
-		appendRef = putName("append",6);
-		assertRef = putName("assert",6);
-		attachRef = putName("attach",6);
-		avgRef = putName("avg",3);
-		arrayRef = putName("array",4);
-		batcalcRef = putName("batcalc",7);
-		basketRef = putName("basket",6);
-		boxRef = putName("box",3);
-		batstrRef = putName("batstr",6);
-		batmtimeRef = putName("batmtime",8);
-		batmmathRef = putName("batmmath",8);
-		batxmlRef = putName("batxml",6);
-		bbpRef = putName("bbp",3);
-		tidRef = putName("tid",3);
-		deltaRef = putName("delta",5);
-		subdeltaRef = putName("subdelta",8);
-		projectdeltaRef = putName("projectdelta",12);
-		binddbatRef = putName("bind_dbat",9);
-		bindidxRef = putName("bind_idxbat",11);
-		bindRef = putName("bind",4);
-		bpmRef = putName("bpm",3);
-		bstreamRef = putName("bstream",7);
-		calcRef = putName("calc",4);
-		catalogRef = putName("catalog",7);
-		centipedeRef = putName("centipede",9);
-		clear_tableRef = putName("clear_table",11);
-		closeRef = putName("close",5);
-		compressRef = putName("compress",8);
-		columnRef = putName("column",6);
-		columnBindRef = putName("columnBind",10);
-		commitRef = putName("commit",6);
-		connectRef = putName("connect",7);
-		constraintsRef = putName("constraints",11);
-		countRef = putName("count",5);
-		subcountRef = putName("subcount",8);
-		copyRef = putName("copy",4);
-		copy_fromRef = putName("copy_from",9);
-		count_no_nilRef = putName("count_no_nil",12);
-		crossRef = putName("crossproduct",12);
-		createRef = putName("create",6);
-		dateRef = putName("date",4);
-		datacellRef = putName("datacell",8);
-		dataflowRef = putName("dataflow",8);
-		datacyclotronRef = putName("datacyclotron",13);
-		dblRef = putName("dbl",3);
-		decompressRef = putName("decompress",10);
-		deleteRef = putName("delete",6);
-		depositRef = putName("deposit",7);
-		differenceRef= putName("difference",10);
-		tdifferenceRef= putName("tdifference",11);
-		tintersectRef= putName("tintersect",10);
-		tdiffRef= putName("tdiff",5);
-		tinterRef= putName("tinter",6);
-		mergecandRef= putName("mergecand",9);
-		mergepackRef= putName("mergepack",9);
-		intersectcandRef= putName("intersectcand",13);
-		eqRef = putName("==",2);
-		disconnectRef= putName("disconnect",10);
-		evalRef = putName("eval",4);
-		execRef = putName("exec",4);
-		expandRef = putName("expand",6);
-		exportOperationRef = putName("exportOperation",15);
-		finishRef = putName("finish",6);
-		getRef = putName("get",3);
-		grabRef = putName("grab",4);
-		groupRef = putName("group",5);
-		subgroupRef = putName("subgroup",8);
-		subgroupdoneRef= putName("subgroupdone",12);
-		groupsRef = putName("groups",6);
-		groupbyRef = putName("groupby",7);
-		hashRef = putName("hash",4);
-		histogramRef = putName("histogram",9);
-		identityRef = putName("identity",8);
-		ifthenelseRef = putName("ifthenelse",10);
-		inplaceRef = putName("inplace",7);
-		insertRef = putName("insert",6);
-		intRef = putName("int",3);
-		ioRef = putName("io",2);
-		iteratorRef = putName("iterator",8);
-		joinPathRef = putName("joinPath",8);
-		joinRef = putName("join",4);
-		antijoinRef = putName("antijoin",8);
-		bandjoinRef = putName("bandjoin",8);
-		thetajoinRef = putName("thetajoin",9);
-		subjoinRef = putName("subjoin",7);
-		subantijoinRef = putName("subantijoin",11);
-		subbandjoinRef = putName("subbandjoin",11);
-		subthetajoinRef = putName("subthetajoin",12);
-		thetauselectRef = putName("thetauselect",12);
-		thetaselectRef = putName("thetaselect",11);
-		jsonRef = putName("json",4);
-		kdifferenceRef= putName("kdifference",11);
-		kunionRef= putName("kunion",6);
-		kuniqueRef= putName("kunique",7);
-		languageRef= putName("language",8);
-		leftfetchjoinRef = putName("leftfetchjoin",13);
-		leftfetchjoinPathRef = putName("leftfetchjoinPath",17);
-		leftjoinRef = putName("leftjoin",8);
-		leftjoinPathRef = putName("leftjoinPath",12);
-		likeselectRef = putName("like_select",11);
-		ilikeselectRef = putName("ilike_select",12);
-		likeuselectRef = putName("like_uselect",12);
-		ilikeuselectRef = putName("ilike_uselect",13);
-		listRef = putName("list",4);
-		likeRef = putName("like",4);
-		ilikeRef = putName("ilike",5);
-		not_likeRef = putName("not_like",8);
-		not_ilikeRef = putName("not_ilike",9);
-		lockRef = putName("lock",4);
-		lookupRef = putName("lookup",6);
-		malRef = putName("mal", 3);
-		mapiRef = putName("mapi", 4);
-		markHRef = putName("markH", 5);
-		markTRef = putName("markT", 5);
-		mark_grpRef = putName("mark_grp", 8);
-		materializeRef = putName("materialize", 11);
-		mtimeRef = putName("mtime", 5);
-		multicolumnRef = putName("multicolumn", 11);
-		dense_rank_grpRef = putName("dense_rank_grp", 14);
-		matRef = putName("mat", 3);
-		max_no_nilRef = putName("max_no_nil", 10);
-		maxRef = putName("max", 3);
-		submaxRef = putName("submax", 6);
-		submedianRef = putName("submedian", 9);
-		mdbRef = putName("mdb", 3);
-		min_no_nilRef = putName("min_no_nil", 10);
-		minRef = putName("min", 3);
-		subminRef = putName("submin", 6);
-		mirrorRef = putName("mirror", 6);
-		mitosisRef = putName("mitosis", 7);
-		mkeyRef = putName("mkey", 4);
-		mmathRef = putName("mmath", 5);
-		multiplexRef = putName("multiplex", 9);
-		manifoldRef = putName("manifold", 8);
-		mvcRef = putName("mvc", 3);
-		newRef = putName("new",3);
-		notRef = putName("not",3);
-		nextRef = putName("next",4);
-		oidRef = putName("oid",3);
-		octopusRef = putName("octopus",7);
-		optimizerRef = putName("optimizer",9);
-		openRef = putName("open",4);
-		packRef = putName("pack",4);
-		pack2Ref = putName("pack2",5);
-		passRef = putName("pass",4);
-		partitionRef = putName("partition",9);
-		pcreRef = putName("pcre",4);
-		pinRef = putName("pin",3);
-		plusRef = putName("+",1);
-		minusRef = putName("-",1);
-		mulRef = putName("*",1);
-		divRef = putName("/",1);
-		printRef = putName("print",5);
-		preludeRef = putName("prelude",7);
-		prodRef = putName("prod",4);
-		subprodRef = putName("subprod",7);
-		profilerRef = putName("profiler",8);
-		postludeRef = putName("postlude",8);
-		pqueueRef = putName("pqueue",6);
-		projectRef = putName("project",7);
-		putRef = putName("put",3);
-		querylogRef = putName("querylog",8);
-		queryRef = putName("query",5);
-		rankRef = putName("rank", 4);
-		rank_grpRef = putName("rank_grp", 8);
-		reconnectRef = putName("reconnect",9);
-		recycleRef = putName("recycle",7);
-		refineRef = putName("refine",6);
-		refine_reverseRef = putName("refine_reverse",14);
-		registerRef = putName("register",8);
-		remapRef = putName("remap",5);
-		remoteRef = putName("remote",6);
-		replaceRef = putName("replace",7);
-		replicatorRef = putName("replicator",10);
-		resultSetRef = putName("resultSet",9);
-		reuseRef = putName("reuse",5);
-		reverseRef = putName("reverse",7);
-		rpcRef = putName("rpc",3);
-		rsColumnRef = putName("rsColumn",8);
-		schedulerRef = putName("scheduler",9);
-		selectNotNilRef = putName("selectNotNil",12);
-		selectRef = putName("select",6);
-		semaRef = putName("sema",4);
-		semijoinRef = putName("semijoin",8);
-		semijoinPathRef = putName("semijoinPath",12);
-		setAccessRef = putName("setAccess",9);
-		setWriteModeRef= putName("setWriteMode",12);
-		sinkRef = putName("sink",4);
-		sliceRef = putName("slice",5);
-		subsliceRef = putName("subslice",8);
-		singleRef = putName("single",6);
-		sortHRef = putName("sortH",5);
-		sortHTRef = putName("sortHT",6);
-		sortRef = putName("sort",4);
-		sortReverseTailRef = putName("sortReverseTail",15);
-		sortTailRef = putName("sortTail",8);
-		sortTHRef = putName("sortTH",6);
-		sqlRef = putName("sql",3);
-		srvpoolRef = putName("srvpool",7);
-		streamsRef = putName("streams",7);
-		startRef = putName("start",5);
-		stopRef = putName("stop",4);
-		strRef = putName("str",3);
-		sumRef = putName("sum",3);
-		subsumRef = putName("subsum",6);
-		subavgRef = putName("subavg",6);
-		subsortRef = putName("subsort",7);
-		takeRef= putName("take",5);
-		topn_minRef= putName("topn_min",8);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic