⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 optimizer.c

📁 一个内存数据库的源代码这是服务器端还有客户端
💻 C
字号:
#line 91 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/optimizer/optimizer.mx"#include "mal_config.h"#include "optimizer.h"#line 98 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/optimizer/optimizer.mx"stroptimizer_prelude(MalBlkPtr mb, MalStkPtr stk, InstrPtr p){	(void) stk;	(void) mb;	(void) p;	updateScenario("MALoptimizer", (MALfcn) MALoptimizer);	return MAL_SUCCEED;}int debugOpt = 0;strQOTdebugOptimizers(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	debugOptimizers(mb, stk, pci);	debugOpt = 1;	return MAL_SUCCEED;}strQOTclrdebugOptimizers(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	(void) mb;	(void) stk;	(void) pci;	debugOpt = 0;	return MAL_SUCCEED;}#line 133 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/optimizer/optimizer.mx"strQOToptimize(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){	str modnme;	str fcnnme;	Symbol s;	(void) stk;	if (stk != 0) {		modnme = (str) getArgValue(stk, pci, 1);		fcnnme = (str) getArgValue(stk, pci, 2);	} else {		modnme = getArgDefault(mb, pci, 1);		fcnnme = getArgDefault(mb, pci, 2);	}	s = findMALSymbol(modnme, fcnnme);	if (s == NULL)		throw(MAL, "optimizer.optimize", "operation not found\n");	removeInstruction(mb, pci);	return optimizeMALBlock(s->def);}strQOTshowFlowGraph(MalBlkPtr mb, MalStkPtr stk, InstrPtr p){	str fname;	str modnme;	str fcnnme;	Module scope = NULL;	Symbol s = NULL;	Client c = MCgetClient();	if (stk != 0) {		modnme = (str) getArgValue(stk, p, 1);		fcnnme = (str) getArgValue(stk, p, 2);		fname = (str) getArgValue(stk, p, 3);	} else {		modnme = getArgDefault(mb, p, 1);		fcnnme = getArgDefault(mb, p, 2);		fname = getArgDefault(mb, p, 3);	}	scope = findModule(c->nspace, putName(modnme, strlen(modnme)));	if (scope)		s = findSymbolInModule(scope, putName(fcnnme, strlen(fcnnme)));	if (s == NULL) {		char buf[1024];		snprintf(buf,1024, "Could not find %s.%s\n", modnme, fcnnme);		throw(MAL, "optimizer.showFlowGraph", buf);	}	showFlowGraph(s->def, stk, fname);	return MAL_SUCCEED;}strQOTshowPlan(MalBlkPtr mb, MalStkPtr stk, InstrPtr p){	str modnme;	str fcnnme;	Module scope = NULL;	Symbol s = NULL;	Client c = MCgetClient();	if (stk != 0) {		modnme = (str) getArgValue(stk, p, 1);		fcnnme = (str) getArgValue(stk, p, 2);	} else {		modnme = getArgDefault(mb, p, 1);		fcnnme = getArgDefault(mb, p, 2);	}	stream_printf(c->fdout,"#showPlan()\n");	removeInstruction(mb, p);	if( modnme ) {		scope = findModule(c->nspace, putName(modnme, strlen(modnme)));		if (scope)			s = findSymbolInModule(scope, putName(fcnnme, strlen(fcnnme)));		if (s == NULL) {			char buf[1024];			snprintf(buf,1024, "Could not find %s.%s\n", modnme, fcnnme);			throw(MAL, "optimizer.showPlan", buf);		}		mb= s->def;	}	printFunction(c->fdout, mb, LIST_INPUT);	return MAL_SUCCEED;}#line 324 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/optimizer/optimizer.mx"#line 326 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/optimizer/optimizer.mx"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -