Changeset: 22d7cf63b12b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/22d7cf63b12b
Modified Files:
clients/Tests/MAL-signatures-hge.test
clients/Tests/MAL-signatures.test
clients/Tests/exports.stable.out
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_prelude.h
monetdb5/optimizer/opt_support.c
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_statement.c
sql/server/rel_optimizer.c
sql/server/rel_unnest.c
Branch: groupjoin
Log Message:
merged with default
diffs (truncated from 15452 to 300 lines):
diff --git a/ChangeLog.Sep2022 b/ChangeLog.Sep2022
deleted file mode 100644
--- a/ChangeLog.Sep2022
+++ /dev/null
@@ -1,3 +0,0 @@
-# ChangeLog file for devel
-# This file is updated with Maddlog
-
diff --git a/clients/ChangeLog.Sep2022 b/clients/ChangeLog.Sep2022
deleted file mode 100644
--- a/clients/ChangeLog.Sep2022
+++ /dev/null
@@ -1,3 +0,0 @@
-# ChangeLog file for clients
-# This file is updated with Maddlog
-
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
@@ -33483,21 +33483,6 @@ subeval_aggr
unsafe pattern batpyapi3.subeval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
PYAPI3PyAPIevalAggr;
grouped aggregates through Python
-batpyapi3map
-eval
-pattern batpyapi3map.eval(X_0:ptr, X_1:str, X_2:any...):any...
-PYAPI3PyAPIevalStdMap;
-Execute a simple Python script value
-batpyapi3map
-eval_aggr
-pattern batpyapi3map.eval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
-PYAPI3PyAPIevalAggrMap;
-grouped aggregates through Python
-batpyapi3map
-subeval_aggr
-pattern batpyapi3map.subeval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
-PYAPI3PyAPIevalAggrMap;
-grouped aggregates through Python
batrapi
eval
pattern batrapi.eval(X_0:lng, X_1:ptr, X_2:str):any...
@@ -48824,6 +48809,11 @@ unsafe pattern profiler.stoptrace():void
CMDstopTrace;
Stop collecting trace information
pyapi3
+epilogue
+command pyapi3.epilogue():void
+PyAPI3epilogue;
+(empty)
+pyapi3
eval
unsafe pattern pyapi3.eval(X_0:ptr, X_1:str):any_1
PYAPI3PyAPIevalStd;
@@ -48849,30 +48839,15 @@ unsafe pattern pyapi3.eval_loader(X_0:pt
PYAPI3PyAPIevalLoader;
loader functions through Python
pyapi3
+prelude
+pattern pyapi3.prelude():void
+PyAPI3prelude;
+(empty)
+pyapi3
subeval_aggr
unsafe pattern pyapi3.subeval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
PYAPI3PyAPIevalAggr;
grouped aggregates through Python
-pyapi3map
-eval
-pattern pyapi3map.eval(X_0:ptr, X_1:str):any
-PYAPI3PyAPIevalStdMap;
-Execute a simple Python script returning a single value
-pyapi3map
-eval
-pattern pyapi3map.eval(X_0:ptr, X_1:str, X_2:any...):any...
-PYAPI3PyAPIevalStdMap;
-Execute a simple Python script value
-pyapi3map
-eval_aggr
-pattern pyapi3map.eval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
-PYAPI3PyAPIevalAggrMap;
-grouped aggregates through Python
-pyapi3map
-subeval_aggr
-pattern pyapi3map.subeval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
-PYAPI3PyAPIevalAggrMap;
-grouped aggregates through Python
querylog
append
pattern querylog.append(X_0:str, X_1:str, X_2:str, X_3:timestamp):void
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
@@ -24678,21 +24678,6 @@ subeval_aggr
unsafe pattern batpyapi3.subeval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
PYAPI3PyAPIevalAggr;
grouped aggregates through Python
-batpyapi3map
-eval
-pattern batpyapi3map.eval(X_0:ptr, X_1:str, X_2:any...):any...
-PYAPI3PyAPIevalStdMap;
-Execute a simple Python script value
-batpyapi3map
-eval_aggr
-pattern batpyapi3map.eval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
-PYAPI3PyAPIevalAggrMap;
-grouped aggregates through Python
-batpyapi3map
-subeval_aggr
-pattern batpyapi3map.subeval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
-PYAPI3PyAPIevalAggrMap;
-grouped aggregates through Python
batrapi
eval
pattern batrapi.eval(X_0:lng, X_1:ptr, X_2:str):any...
@@ -37254,6 +37239,11 @@ unsafe pattern profiler.stoptrace():void
CMDstopTrace;
Stop collecting trace information
pyapi3
+epilogue
+command pyapi3.epilogue():void
+PyAPI3epilogue;
+(empty)
+pyapi3
eval
unsafe pattern pyapi3.eval(X_0:ptr, X_1:str):any_1
PYAPI3PyAPIevalStd;
@@ -37279,30 +37269,15 @@ unsafe pattern pyapi3.eval_loader(X_0:pt
PYAPI3PyAPIevalLoader;
loader functions through Python
pyapi3
+prelude
+pattern pyapi3.prelude():void
+PyAPI3prelude;
+(empty)
+pyapi3
subeval_aggr
unsafe pattern pyapi3.subeval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
PYAPI3PyAPIevalAggr;
grouped aggregates through Python
-pyapi3map
-eval
-pattern pyapi3map.eval(X_0:ptr, X_1:str):any
-PYAPI3PyAPIevalStdMap;
-Execute a simple Python script returning a single value
-pyapi3map
-eval
-pattern pyapi3map.eval(X_0:ptr, X_1:str, X_2:any...):any...
-PYAPI3PyAPIevalStdMap;
-Execute a simple Python script value
-pyapi3map
-eval_aggr
-pattern pyapi3map.eval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
-PYAPI3PyAPIevalAggrMap;
-grouped aggregates through Python
-pyapi3map
-subeval_aggr
-pattern pyapi3map.subeval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
-PYAPI3PyAPIevalAggrMap;
-grouped aggregates through Python
querylog
append
pattern querylog.append(X_0:str, X_1:str, X_2:str, X_3:timestamp):void
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
@@ -264,15 +264,9 @@ gdk_return GDKanalyticalprod(BAT *r, BAT
gdk_return GDKanalyticalsum(BAT *r, BAT *p, BAT *o, BAT *b, BAT *s, BAT *e,
int tp1, int tp2, int frame_type);
gdk_return GDKanalyticalwindowbounds(BAT *r, BAT *b, BAT *p, BAT *l, const
void *restrict bound, int tp1, int tp2, int unit, bool preceding, oid
first_half);
int GDKatomcnt;
-size_t GDKbatcopy(char *dest, BAT *bat, const char *colname);
-size_t GDKbatcopysize(BAT *bat, const char *colname);
-size_t GDKbatread(char *src, BAT **bat, str *colname);
-gdk_return GDKchangesemval(int sem_id, int number, int change);
-gdk_return GDKchangesemval_timeout(int sem_id, int number, int change, int
timeout_mseconds, bool *succeed);
void GDKclrerr(void);
gdk_return GDKcopyenv(BAT **key, BAT **val, bool writable);
gdk_return GDKcreatedir(const char *nme);
-gdk_return GDKcreatesem(int id, int count, int *semid);
ATOMIC_TYPE GDKdebug;
bool GDKembedded(void);
bool GDKexiting(void);
@@ -288,11 +282,8 @@ int GDKgetenv_int(const char *name, int
bool GDKgetenv_istext(const char *name, const char *text);
bool GDKgetenv_istrue(const char *name);
bool GDKgetenv_isyes(const char *name);
-gdk_return GDKgetsem(int sem_id, int count, int *semid);
-gdk_return GDKgetsemval(int sem_id, int number, int *semval);
gdk_return GDKinit(struct opt *set, int setlen, bool embedded, const char
*caller_revision);
BAT *GDKinitialize_segment_tree(void);
-void *GDKinitmmap(size_t id, size_t size, size_t *return_size);
bool GDKinmemory(int farmid);
const char *GDKlibversion(void) __attribute__((__const__));
ATOMIC_TYPE GDKlockcnt;
@@ -313,8 +304,6 @@ void GDKprepareExit(void);
void GDKqsort(void *restrict h, void *restrict t, const void *restrict base,
size_t n, int hs, int ts, int tpe, bool reverse, bool nilslast);
void *GDKrealloc(void *pold, size_t size) __attribute__((__alloc_size__(2)))
__attribute__((__warn_unused_result__));
gdk_return GDKrebuild_segment_tree(oid ncount, oid data_size, BAT *st, void
**segment_tree, oid **levels_offset, oid *nlevels);
-gdk_return GDKreleasemmap(void *ptr, size_t size, size_t id);
-gdk_return GDKreleasesem(int sem_id);
void GDKreset(int status);
void GDKsetdebug(unsigned debug);
gdk_return GDKsetenv(const char *name, const char *value);
@@ -337,7 +326,6 @@ gdk_return GDKtracer_set_flush_level(con
gdk_return GDKtracer_set_layer_level(const char *layer, const char *lvl);
gdk_return GDKtracer_set_tracefile(const char *tracefile);
gdk_return GDKtracer_stop(void);
-size_t GDKuniqueid(size_t offset);
gdk_return GDKupgradevarheap(BAT *b, var_t v, BUN cap, BUN ncopy)
__attribute__((__warn_unused_result__));
lng GDKusec(void);
const char *GDKversion(void) __attribute__((__const__));
@@ -1177,7 +1165,6 @@ const char *putName(const char *nme);
const char *putNameLen(const char *nme, size_t len);
const char *putRef;
const char *pyapi3Ref;
-const char *pyapi3mapRef;
const char *querylogRef;
const char *raiseRef;
const char *rangejoinRef;
@@ -1517,6 +1504,7 @@ sql_exp *exp_column(sql_allocator *sa, c
sql_exp *exp_op(sql_allocator *sa, list *l, sql_subfunc *f);
sql_table *find_table_or_view_on_scope(mvc *sql, sql_schema *s, const char
*sname, const char *tname, const char *error, bool isView);
int fl_register(char *name, fl_add_types_fptr add_types, fl_load_fptr fl_load);
+void fl_unregister(char *name);
str flt_num2dec_bte(bte *res, const flt *v, const int *d2, const int *s2);
str flt_num2dec_int(int *res, const flt *v, const int *d2, const int *s2);
str flt_num2dec_lng(lng *res, const flt *v, const int *d2, const int *s2);
diff --git a/clients/mapiclient/mhelp.c b/clients/mapiclient/mhelp.c
--- a/clients/mapiclient/mhelp.c
+++ b/clients/mapiclient/mhelp.c
@@ -484,8 +484,7 @@ SQLhelp sqlhelp1[] = {
"[ HAVING condition [',' ...] ]\n"
"[ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] [ CORRESPONDING ]
select ]\n"
"[ ORDER BY expression [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [','
...] ]\n"
- "[ LIMIT { count | param } ]\n"
- "[ OFFSET { count | param } ]\n"
+ "[ limit_offset_clause | offset_fetchfirst_clause ]\n"
"[ SAMPLE size [ SEED size ] ]",
"cte_list,expression,group_by_element,window_definition",
"See also
https://www.monetdb.org/documentation/user-guide/sql-manual/data-manipulation/table-expressions/"},
@@ -832,8 +831,8 @@ SQLhelp sqlhelp2[] = {
NULL},
{"query_expression",
NULL,
- "select_no_parens [ order_by_clause ] [ limit_clause ] [ offset_clause
] [ sample_clause ]",
-
"select_no_parens,order_by_clause,limit_clause,offset_clause,sample_clause",
+ "select_no_parens [ order_by_clause ] [ limit_offset_clause |
offset_fetchfirst_clause ] [ sample_clause ]",
+ "select_no_parens",
NULL},
{"select_no_parens",
NULL,
@@ -842,6 +841,21 @@ SQLhelp sqlhelp2[] = {
"| '(' select_no_parens ')' }",
"column_exp_commalist,from_clause,window_clause,where_clause,group_by_clause,having_clause,corresponding",
NULL},
+ {"order_by_clause",
+ NULL,
+ "ORDER BY expression [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [','
...]",
+ "",
+ NULL},
+ {"limit_offset_clause",
+ NULL,
+ "[ LIMIT { count | param } ] [ OFFSET { count | param } ]",
+ "",
+ NULL},
+ {"offset_fetchfirst_clause",
+ NULL,
+ "[ OFFSET { count | param } [ {ROW|ROWS} ] ] [ FETCH {FIRST|NEXT} [
count | param ] {ROW|ROWS} ONLY ]",
+ "",
+ NULL},
{"corresponding",
NULL,
"{ CORRESPONDING | CORRESPONDING BY '(' column_ref_commalist ')' }",
diff --git a/clients/mapilib/ChangeLog.Sep2022
b/clients/mapilib/ChangeLog.Sep2022
deleted file mode 100644
--- a/clients/mapilib/ChangeLog.Sep2022
+++ /dev/null
@@ -1,3 +0,0 @@
-# ChangeLog file for mapilib
-# This file is updated with Maddlog
-
diff --git a/clients/odbc/ChangeLog.Sep2022 b/clients/odbc/ChangeLog.Sep2022
deleted file mode 100644
--- a/clients/odbc/ChangeLog.Sep2022
+++ /dev/null
@@ -1,3 +0,0 @@
-# ChangeLog file for odbc
-# This file is updated with Maddlog
-
diff --git a/cmake/monetdb-defines.cmake b/cmake/monetdb-defines.cmake
--- a/cmake/monetdb-defines.cmake
+++ b/cmake/monetdb-defines.cmake
@@ -72,7 +72,6 @@ function(monetdb_configure_defines)
# Linux specific, in the future, it might be ported to other platforms
check_symbol_exists("fallocate" "fcntl.h" HAVE_FALLOCATE)
check_function_exists("fcntl" HAVE_FCNTL)
- check_symbol_exists("fork" "unistd.h" HAVE_FORK)
check_symbol_exists("fsync" "unistd.h" HAVE_FSYNC)
check_symbol_exists("ftime" "sys/timeb.h" HAVE_FTIME)
check_function_exists("getentropy" HAVE_GETENTROPY)
diff --git a/cmake/monetdb-options.cmake b/cmake/monetdb-options.cmake
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]