Changeset: 615b605d96fe for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/615b605d96fe
Modified Files:
clients/Tests/MAL-signatures-hge.test
clients/Tests/MAL-signatures.test
clients/Tests/exports.stable.out
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_instruction.h
monetdb5/optimizer/opt_wrapper.c
monetdb5/optimizer/optimizer.c
monetdb5/optimizer/optimizer.h
Branch: Dec2025
Log Message:
Cleanup: remove unused functions and QOT optimizer.
diffs (197 lines):
diff --git a/clients/Tests/MAL-signatures-hge.test
b/clients/Tests/MAL-signatures-hge.test
--- a/clients/Tests/MAL-signatures-hge.test
+++ b/clients/Tests/MAL-signatures-hge.test
@@ -49064,11 +49064,6 @@ pattern optimizer.nomitosispipe(X_0:str,
OPTwrapper
Fast compound optimizer pipe without mitosis
optimizer
-optimize
-pattern optimizer.optimize(X_0:str, X_1:str):void
-QOToptimize
-Optimize a specific operation
-optimizer
postfix
pattern optimizer.postfix():str
OPTwrapper
diff --git a/clients/Tests/MAL-signatures.test
b/clients/Tests/MAL-signatures.test
--- a/clients/Tests/MAL-signatures.test
+++ b/clients/Tests/MAL-signatures.test
@@ -37544,11 +37544,6 @@ pattern optimizer.nomitosispipe(X_0:str,
OPTwrapper
Fast compound optimizer pipe without mitosis
optimizer
-optimize
-pattern optimizer.optimize(X_0:str, X_1:str):void
-QOToptimize
-Optimize a specific operation
-optimizer
postfix
pattern optimizer.postfix():str
OPTwrapper
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
@@ -1095,7 +1095,6 @@ const char mitosisRef[];
const char mmathRef[];
const char modRef[];
char monet_cwd[FILENAME_MAX];
-void moveInstruction(MalBlkPtr mb, int pc, int target);
const char mtimeRef[];
const char mulRef[];
const char multiplexRef[];
@@ -1192,8 +1191,6 @@ const char registerRef[];
const char register_supervisorRef[];
const char remapRef[];
const char remoteRef[];
-void removeInstruction(MalBlkPtr mb, InstrPtr p);
-void removeInstructionBlock(MalBlkPtr mb, int pc, int cnt);
const char rename_columnRef[];
const char rename_schemaRef[];
const char rename_tableRef[];
diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c
--- a/monetdb5/mal/mal_instruction.c
+++ b/monetdb5/mal/mal_instruction.c
@@ -506,60 +506,6 @@ freeInstruction(MalBlkPtr mb, InstrPtr p
}
-/* Query optimizers walk their way through a MAL program block. They
- * require some primitives to move instructions around and to remove
- * superfluous instructions. The removal is based on the assumption
- * that indeed the instruction belonged to the block. */
-void
-removeInstruction(MalBlkPtr mb, InstrPtr p)
-{
- int i;
- for (i = 0; i < mb->stop - 1; i++)
- if (mb->stmt[i] == p)
- break;
- if (i == mb->stop)
- return;
- for (; i < mb->stop - 1; i++)
- mb->stmt[i] = mb->stmt[i + 1];
- mb->stmt[i] = 0;
- mb->stop--;
- assert(i == mb->stop); /* move statement after stop */
- mb->stmt[i] = p;
-}
-
-void
-removeInstructionBlock(MalBlkPtr mb, int pc, int cnt)
-{
- int i;
- InstrPtr p;
- for (i = pc; i < pc + cnt; i++) {
- p = getInstrPtr(mb, i);
- freeInstruction(mb, p);
- mb->stmt[i] = NULL;
- } for (i = pc; i < mb->stop - cnt; i++)
- mb->stmt[i] = mb->stmt[i + cnt];
- mb->stop -= cnt;
- for (; i < mb->stop; i++)
- mb->stmt[i] = 0;
-}
-
-void
-moveInstruction(MalBlkPtr mb, int pc, int target)
-{
- InstrPtr p;
- int i;
- p = getInstrPtr(mb, pc);
- if (pc > target) {
- for (i = pc; i > target; i--)
- mb->stmt[i] = mb->stmt[i - 1];
- mb->stmt[i] = p;
- } else {
- for (i = target; i > pc; i--)
- mb->stmt[i] = mb->stmt[i - 1];
- mb->stmt[i] = p;
- }
-}
-
/* Beware that the first argument of a signature is reserved for the
* function return type , which should be equal to the destination
* variable type.
diff --git a/monetdb5/mal/mal_instruction.h b/monetdb5/mal/mal_instruction.h
--- a/monetdb5/mal/mal_instruction.h
+++ b/monetdb5/mal/mal_instruction.h
@@ -167,9 +167,6 @@ mal_export void freeMalBlk(MalBlkPtr mb)
mal_export MalBlkPtr copyMalBlk(MalBlkPtr mb);
mal_export void trimMalVariables(MalBlkPtr mb, MalStkPtr stk);
mal_export void trimMalVariables_(MalBlkPtr mb, MalStkPtr glb);
-mal_export void moveInstruction(MalBlkPtr mb, int pc, int target);
-mal_export void removeInstruction(MalBlkPtr mb, InstrPtr p);
-mal_export void removeInstructionBlock(MalBlkPtr mb, int pc, int cnt);
mal_export str operatorName(int i);
mal_export int findVariable(MalBlkPtr mb, const char *name);
diff --git a/monetdb5/optimizer/opt_wrapper.c b/monetdb5/optimizer/opt_wrapper.c
--- a/monetdb5/optimizer/opt_wrapper.c
+++ b/monetdb5/optimizer/opt_wrapper.c
@@ -137,7 +137,6 @@ OPTwrapper(Client cntxt, MalBlkPtr mb, M
modnme = getArgDefault(mb, p, 1);
fcnnme = getArgDefault(mb, p, 2);
}
- //removeInstruction(mb, p);
p->token = REMsymbol;
s = findSymbol(cntxt->usermodule, putName(modnme),
putName(fcnnme));
diff --git a/monetdb5/optimizer/optimizer.c b/monetdb5/optimizer/optimizer.c
--- a/monetdb5/optimizer/optimizer.c
+++ b/monetdb5/optimizer/optimizer.c
@@ -38,35 +38,6 @@ optimizer_epilogue(Client ctx, void *ret
return MAL_SUCCEED;
}
-/*
- * MAL functions can be optimized explicitly using the routines below.
- * Beware, the function names should be known as literal strings, because
- * you may not know the runtime situation.
-*/
-
-str
-QOToptimize(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
-{
- str modnme;
- str fcnnme;
- Symbol s;
-
- (void) stk;
- if (stk != 0) {
- modnme = *getArgReference_str(stk, pci, 1);
- fcnnme = *getArgReference_str(stk, pci, 2);
- } else {
- modnme = getArgDefault(mb, pci, 1);
- fcnnme = getArgDefault(mb, pci, 2);
- }
- s = findSymbol(cntxt->usermodule, putName(modnme), fcnnme);
- if (s == NULL)
- throw(MAL, "optimizer.optimize",
- SQLSTATE(HY002) SEMANTIC_OPERATION_MISSING);
- removeInstruction(mb, pci);
- return optimizeMALBlock(cntxt, s->def);
-}
-
#define optwrapper_pattern(NAME, DESC) \
pattern("optimizer", NAME, OPTwrapper, false, "", args(1,1,
arg("",str))), \
pattern("optimizer", NAME, OPTwrapper, false, DESC, args(1,3,
arg("",str),arg("mod",str),arg("fcn",str)))
@@ -98,9 +69,6 @@ static mel_func optimizer_init_funcs[] =
command("optimizer", "epilogue", optimizer_epilogue, false,
"release the resources held by the optimizer module",
args(1, 1, arg("", void))),
- pattern("optimizer", "optimize", QOToptimize, false,
- "Optimize a specific operation",
- args(0, 2, arg("mod", str), arg("fcn", str))),
optwrapper_pattern("inline", "Expand inline functions"),
optwrapper_pattern("projectionpath", "Join path constructor"),
optwrapper_pattern("mergetable", "Resolve the multi-table definitions"),
diff --git a/monetdb5/optimizer/optimizer.h b/monetdb5/optimizer/optimizer.h
--- a/monetdb5/optimizer/optimizer.h
+++ b/monetdb5/optimizer/optimizer.h
@@ -18,6 +18,5 @@
#include "opt_support.h"
extern str optimizer_epilogue(Client ctx, void *ret);
-extern str QOToptimize(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
#endif /* _OPTIMIZER_H */
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]