Changeset: 659539daabec for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=659539daabec Modified Files: clients/Tests/exports.stable.out monetdb5/optimizer/opt_prelude.c monetdb5/optimizer/opt_prelude.h monetdb5/optimizer/opt_support.c sql/test/analytics/Tests/analytics00.sql sql/test/analytics/Tests/analytics00.stable.out Branch: analytics Log Message:
Added remaining batsql analytic functions to the list of order dependent functions. Also removed duplicated namespace references in opt_prelude. Analytical aggregations use window_following_bound and window_preceding_bound, hence not needed to add to the list. diffs (truncated from 398 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 @@ -2053,10 +2053,7 @@ str batmalRef; str batmmathRef; str batmtimeRef; str batpyapi3Ref; -str batpyapi3Ref; str batpyapiRef; -str batpyapiRef; -str batrapiRef; str batrapiRef; str batsqlRef; str batstrRef; @@ -2131,6 +2128,7 @@ str create_typeRef; str create_userRef; str create_viewRef; str crossRef; +str cume_distRef; str dataflowRef; str dateRef; ssize_t date_fromstr(const char *buf, size_t *len, date **d); @@ -2149,9 +2147,7 @@ str deleteRef; void deleteSymbol(Module scope, Symbol prg); str deltaRef; str dense_rankRef; -str dense_rankRef; malType destinationType(MalBlkPtr mb, InstrPtr p); -str diffRef; str differenceRef; str disconnectRef; str divRef; @@ -2191,6 +2187,7 @@ int findVariableLength(MalBlkPtr mb, str void finishNamespace(void); str finishRef; void finishSessionProfiler(Client cntxt); +str first_valueRef; str firstnRef; Module fixModule(str nme); int fndConstant(MalBlkPtr mb, const ValRecord *cst, int depth); @@ -2327,7 +2324,10 @@ str iteratorRef; str jitRef; str joinRef; str jsonRef; +str lagRef; str languageRef; +str last_valueRef; +str leadRef; str leftjoinRef; str levenshtein_impl(int *result, str *s, str *t, int *insdel_cost, int *replace_cost, int *transpose_cost); str levenshteinbasic2_impl(int *result, str *s, str *t); @@ -2470,6 +2470,8 @@ str notRef; str not_ilikeRef; str not_likeRef; str not_uniqueRef; +str nth_valueRef; +str ntileRef; str oidRef; void oldmoveInstruction(InstrPtr dst, InstrPtr src); str oltpRef; @@ -2492,6 +2494,7 @@ str partitionRef; str passRef; str pcreRef; str pcre_init(void *ret); +str percent_rankRef; str pinRef; str plusRef; str postludeRef; @@ -2539,12 +2542,8 @@ str putName(const char *nme); str putNameLen(const char *nme, size_t len); str putRef; str pyapi3Ref; -str pyapi3Ref; -str pyapi3mapRef; str pyapi3mapRef; str pyapiRef; -str pyapiRef; -str pyapimapRef; str pyapimapRef; int qtop; str queryRef; @@ -2552,8 +2551,6 @@ str querylogRef; str raiseRef; str rangejoinRef; str rankRef; -str rankRef; -str rapiRef; str rapiRef; int readConsole(Client cntxt); MalStkPtr reallocGlobalStack(MalStkPtr s, int cnt); @@ -2654,8 +2651,6 @@ str stringdiff_impl(int *res, str *s1, s str subavgRef; str subcountRef; str subdeltaRef; -str subdiffRef; -str subeval_aggrRef; str subeval_aggrRef; str subgroupRef; str subgroupdoneRef; @@ -2701,6 +2696,8 @@ void updateScenario(str scen, str nme, M Module userModule(void); str userRef; str vectorRef; +str window_following_boundRef; +str window_preceding_boundRef; str wlcRef; int wlc_batches; int wlc_beat; 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 @@ -97,6 +97,7 @@ str create_typeRef; str create_userRef; str create_viewRef; str crossRef; +str cume_distRef; str dataflowRef; str dateRef; str dblRef; @@ -104,9 +105,7 @@ str defineRef; str deleteRef; str deltaRef; str dense_rankRef; -str dense_rankRef; str differenceRef; -str diffRef; str disconnectRef; str divRef; str drop_constraintRef; @@ -131,6 +130,7 @@ str export_tableRef; str findRef; str finishRef; str firstnRef; +str first_valueRef; str generatorRef; str getRef; str getTraceRef; @@ -157,7 +157,10 @@ str iteratorRef; str jitRef; str joinRef; str jsonRef; +str lagRef; str languageRef; +str last_valueRef; +str leadRef; str leftjoinRef; str likeRef; str likeselectRef; @@ -193,6 +196,8 @@ str not_ilikeRef; str not_likeRef; str notRef; str not_uniqueRef; +str nth_valueRef; +str ntileRef; str oidRef; str oltpRef; str openRef; @@ -204,6 +209,7 @@ str parametersRef; str partitionRef; str passRef; str pcreRef; +str percent_rankRef; str pinRef; str plusRef; str postludeRef; @@ -225,7 +231,6 @@ str queryRef; str raiseRef; str rangejoinRef; str rankRef; -str rankRef; str rapiRef; str reconnectRef; str refineRef; @@ -272,8 +277,6 @@ str strRef; str subavgRef; str subcountRef; str subdeltaRef; -str subdiffRef; -str subeval_aggrRef; str subeval_aggrRef; str subgroupdoneRef; str subgroupRef; @@ -304,6 +307,8 @@ str unpinRef; str updateRef; str userRef; str vectorRef; +str window_following_boundRef; +str window_preceding_boundRef; str wlcRef; str wlrRef; str zero_or_oneRef; @@ -395,6 +400,7 @@ void optimizerInit(void) create_userRef = putName("create_user"); create_viewRef = putName("create_view"); crossRef = putName("crossproduct"); + cume_distRef = putName("cume_dist"); dataflowRef = putName("dataflow"); dateRef = putName("date"); dblRef = putName("dbl"); @@ -428,6 +434,7 @@ void optimizerInit(void) findRef = putName("find"); finishRef = putName("finish"); firstnRef = putName("firstn"); + first_valueRef = putName("first_value"); generatorRef = putName("generator"); getRef = putName("get"); getTraceRef = putName("getTrace"); @@ -454,7 +461,10 @@ void optimizerInit(void) jitRef = putName("jit"); joinRef = putName("join"); jsonRef = putName("json"); + lagRef = putName("lag"); languageRef= putName("language"); + last_valueRef = putName("last_value"); + leadRef = putName("lead"); leftjoinRef = putName("leftjoin"); likeRef = putName("like"); likeselectRef = putName("likeselect"); @@ -490,6 +500,8 @@ void optimizerInit(void) not_likeRef = putName("not_like"); notRef = putName("not"); not_uniqueRef= putName("not_unique"); + nth_valueRef = putName("nth_value"); + ntileRef = putName("ntile"); oidRef = putName("oid"); oltpRef = putName("oltp"); openRef = putName("open"); @@ -501,6 +513,7 @@ void optimizerInit(void) partitionRef = putName("partition"); passRef = putName("pass"); pcreRef = putName("pcre"); + percent_rankRef = putName("percent_rank"); pinRef = putName("pin"); plusRef = putName("+"); postludeRef = putName("postlude"); @@ -598,6 +611,8 @@ void optimizerInit(void) updateRef = putName("update"); userRef = putName("user"); vectorRef = putName("vector"); + window_following_boundRef = putName("window_following_bound"); + window_preceding_boundRef = putName("window_preceding_bound"); wlcRef = putName("wlc"); wlrRef = putName("wlr"); zero_or_oneRef = putName("zero_or_one"); diff --git a/monetdb5/optimizer/opt_prelude.h b/monetdb5/optimizer/opt_prelude.h --- a/monetdb5/optimizer/opt_prelude.h +++ b/monetdb5/optimizer/opt_prelude.h @@ -53,10 +53,7 @@ mal_export str batmalRef; mal_export str batmmathRef; mal_export str batmtimeRef; mal_export str batpyapi3Ref; -mal_export str batpyapi3Ref; mal_export str batpyapiRef; -mal_export str batpyapiRef; -mal_export str batrapiRef; mal_export str batrapiRef; mal_export str batRef; mal_export str batsqlRef; @@ -98,6 +95,7 @@ mal_export str create_typeRef; mal_export str create_userRef; mal_export str create_viewRef; mal_export str crossRef; +mal_export str cume_distRef; mal_export str dataflowRef; mal_export str dateRef; mal_export str dblRef; @@ -105,9 +103,7 @@ mal_export str defineRef; mal_export str deleteRef; mal_export str deltaRef; mal_export str dense_rankRef; -mal_export str dense_rankRef; mal_export str differenceRef; -mal_export str diffRef; mal_export str disconnectRef; mal_export str divRef; mal_export str drop_constraintRef; @@ -132,6 +128,7 @@ mal_export str export_tableRef; mal_export str findRef; mal_export str finishRef; mal_export str firstnRef; +mal_export str first_valueRef; mal_export str generatorRef; mal_export str getRef; mal_export str getTraceRef; @@ -159,7 +156,10 @@ mal_export str iteratorRef; mal_export str jitRef; mal_export str joinRef; mal_export str jsonRef; +mal_export str lagRef; mal_export str languageRef; +mal_export str last_valueRef; +mal_export str leadRef; mal_export str leftjoinRef; mal_export str likeRef; mal_export str likeselectRef; @@ -196,6 +196,8 @@ mal_export str not_ilikeRef; mal_export str not_likeRef; mal_export str notRef; mal_export str not_uniqueRef; +mal_export str nth_valueRef; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list