Changeset: 77ce47d0097c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/77ce47d0097c
Modified Files:
        clients/Tests/exports.stable.out
        sql/backends/monet5/sql.c
        sql/storage/bat/bat_storage.c
Branch: directappend
Log Message:

Merge branch 'default' into 'directappend'


diffs (truncated from 88742 to 300 lines):

diff --git a/.bumpversion.cfg b/.bumpversion.cfg
--- a/.bumpversion.cfg
+++ b/.bumpversion.cfg
@@ -1,5 +1,5 @@
 [bumpversion]
-current_version = 11.42.0
+current_version = 11.44.0
 commit = False
 tag = False
 
diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -819,3 +819,4 @@ 4b353b1f914e3c9c7493117284f9cc06677e4c71
 65065954ca086d01254a20cc145695fa8b9a3db2 Jul2021_11
 4b353b1f914e3c9c7493117284f9cc06677e4c71 Jul2021_SP1_release
 65065954ca086d01254a20cc145695fa8b9a3db2 Jul2021_SP1_release
+014b82412e664a306d2f5d3a2a2d49d75a6f8da5 Jan2022_root
diff --git a/ChangeLog b/ChangeLog.Jan2022
copy from ChangeLog
copy to ChangeLog.Jan2022
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -1,5 +1,5 @@
 %global name MonetDB
-%global version 11.42.0
+%global version 11.44.0
 %{!?buildno: %global buildno %(date +%Y%m%d)}
 
 # Use bcond_with to add a --with option; i.e., "without" is default.
diff --git a/clients/ChangeLog b/clients/ChangeLog
--- a/clients/ChangeLog
+++ b/clients/ChangeLog
@@ -1,10 +1,3 @@
 # ChangeLog file for clients
 # This file is updated with Maddlog
 
-* Wed Aug 11 2021 Sjoerd Mullender <[email protected]>
-- A new output formatting mode was added to mclient.  Use -fcsv-noquote
-  to produce a CSV (comma-separated values) output where the quote
-  characters have not been escapes.  This can be useful when producing
-  a single column string output that should be saved as is, e.g. when
-  using the sys.dump_database() function.
-
diff --git a/clients/ChangeLog b/clients/ChangeLog.Jan2022
copy from clients/ChangeLog
copy to clients/ChangeLog.Jan2022
diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -9167,6 +9167,8 @@
 [ "optimizer", "reorder",      "pattern optimizer.reorder():str ",     
"OPTwrapper;",  ""      ]
 [ "optimizer", "reorder",      "pattern optimizer.reorder(X_0:str, 
X_1:str):str ",     "OPTwrapper;",  "Reorder by dataflow dependencies"      ]
 [ "optimizer", "sequential_pipe",      "function 
optimizer.sequential_pipe():void;",   "",     ""      ]
+[ "optimizer", "strimps",      "pattern optimizer.strimps():str ",     
"OPTwrapper;",  ""      ]
+[ "optimizer", "strimps",      "pattern optimizer.strimps(X_0:str, 
X_1:str):str ",     "OPTwrapper;",  "Use strimps index if appropriate"      ]
 [ "optimizer", "volcano",      "pattern optimizer.volcano():str ",     
"OPTwrapper;",  ""      ]
 [ "optimizer", "volcano",      "pattern optimizer.volcano(X_0:str, 
X_1:str):str ",     "OPTwrapper;",  "Simulate volcano style execution"      ]
 [ "optimizer", "volcano_pipe", "function optimizer.volcano_pipe():void;",      
"",     ""      ]
@@ -9316,6 +9318,7 @@
 [ "sql",       "covariancep",  "pattern sql.covariancep(X_0:lng, X_1:lng, 
X_2:bit, X_3:bit, X_4:int, X_5:oid, X_6:oid):dbl ",  "SQLcovar_pop;",        
"return the covariance population value of groups"      ]
 [ "sql",       "covariancep",  "pattern sql.covariancep(X_0:sht, X_1:sht, 
X_2:bit, X_3:bit, X_4:int, X_5:oid, X_6:oid):dbl ",  "SQLcovar_pop;",        
"return the covariance population value of groups"      ]
 [ "sql",       "createorderindex",     "unsafe pattern 
sql.createorderindex(X_0:str, X_1:str, X_2:str):void ", 
"sql_createorderindex;",        "Instantiate the order index on a column"       
]
+[ "sql",       "createstrimps",        "unsafe pattern 
sql.createstrimps(X_0:str, X_1:str, X_2:str):void ",    "sql_createstrimps;",   
"Instantiate the strimps index on a column"     ]
 [ "sql",       "cume_dist",    "pattern sql.cume_dist(X_0:any_1, X_1:bit, 
X_2:bit):dbl ",      "SQLcume_dist;",        "return the accumulated 
distribution of the number of rows per group to the total number of partition 
rows"     ]
 [ "sql",       "current_time", "pattern sql.current_time():daytime ",  
"SQLcurrent_daytime;",  "Get the clients current daytime"       ]
 [ "sql",       "current_timestamp",    "pattern 
sql.current_timestamp():timestamp ",   "SQLcurrent_timestamp;",        "Get the 
clients current timestamp"     ]
@@ -9387,6 +9390,7 @@
 [ "sql",       "optimizer_updates",    "pattern sql.optimizer_updates():void 
",        "SQLoptimizersUpdate;", ""      ]
 [ "sql",       "optimizers",   "command sql.optimizers() (X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str]) ",      "getPipeCatalog;",      ""      ]
 [ "sql",       "password",     "pattern sql.password(X_0:str):str ",   
"db_password_wrap;",    "Return password hash of user"  ]
+[ "sql",       "peak_next_value",      "pattern sql.peak_next_value(X_0:str, 
X_1:str):lng ",   "mvc_peak_next_value;", "Peaks at the next value of the 
sequence"       ]
 [ "sql",       "percent_rank", "pattern sql.percent_rank(X_0:any_1, X_1:bit, 
X_2:bit):dbl ",   "SQLpercent_rank;",     "return the percentage into the total 
number of groups for each row"    ]
 [ "sql",       "prelude",      "pattern sql.prelude():void ",  "SQLprelude;",  
""      ]
 [ "sql",       "prepared_statements",  "pattern sql.prepared_statements() 
(X_0:bat[:int], X_1:bat[:str], X_2:bat[:int], X_3:bat[:str], 
X_4:bat[:timestamp]) ", "SQLsession_prepared_statements;",      "Available 
prepared statements in the current session"  ]
@@ -9606,6 +9610,10 @@
 [ "streams",   "readStr",      "unsafe command 
streams.readStr(X_0:streams):str ",     "mnstr_read_stringwrap;",       "read 
string data from the stream"      ]
 [ "streams",   "writeInt",     "unsafe command streams.writeInt(X_0:streams, 
X_1:int):void ",  "mnstr_writeIntwrap;",  "write data on the stream"      ]
 [ "streams",   "writeStr",     "unsafe command streams.writeStr(X_0:streams, 
X_1:str):void ",  "mnstr_write_stringwrap;",      "write data on the stream"    
  ]
+[ "strimps",   "mkstrimp",     "unsafe pattern strimps.mkstrimp(X_0:bat[:str], 
X_1:bat[:oid]):void ",  "PATstrimpCreate;",     "construct the strimp a BAT"    
]
+[ "strimps",   "strimpfilter", "pattern strimps.strimpfilter(X_0:str, 
X_1:str):bit ",  "PATstrimpFilter;",     ""      ]
+[ "strimps",   "strimpfilterjoin",     "pattern 
strimps.strimpfilterjoin(X_0:str, X_1:any, X_2:any, X_3:any, X_4:any, X_5:any) 
(X_6:bat[:oid], X_7:bat[:str]) ",       "PATstrimpFilter;",     ""      ]
+[ "strimps",   "strimpfilterselect",   "pattern 
strimps.strimpfilterselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, 
X_3:bit):bat[:oid] ",        "PATstrimpFilterSelect;",       ""      ]
 [ "sysmon",    "pause",        "unsafe pattern sysmon.pause(X_0:int):void ",   
"SYSMONpause;", "Suspend a running query"       ]
 [ "sysmon",    "pause",        "unsafe pattern sysmon.pause(X_0:lng):void ",   
"SYSMONpause;", "Suspend a running query"       ]
 [ "sysmon",    "pause",        "unsafe pattern sysmon.pause(X_0:sht):void ",   
"SYSMONpause;", "Suspend a running query"       ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128 
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -12467,6 +12467,8 @@
 [ "optimizer", "reorder",      "pattern optimizer.reorder():str ",     
"OPTwrapper;",  ""      ]
 [ "optimizer", "reorder",      "pattern optimizer.reorder(X_0:str, 
X_1:str):str ",     "OPTwrapper;",  "Reorder by dataflow dependencies"      ]
 [ "optimizer", "sequential_pipe",      "function 
optimizer.sequential_pipe():void;",   "",     ""      ]
+[ "optimizer", "strimps",      "pattern optimizer.strimps():str ",     
"OPTwrapper;",  ""      ]
+[ "optimizer", "strimps",      "pattern optimizer.strimps(X_0:str, 
X_1:str):str ",     "OPTwrapper;",  "Use strimps index if appropriate"      ]
 [ "optimizer", "volcano",      "pattern optimizer.volcano():str ",     
"OPTwrapper;",  ""      ]
 [ "optimizer", "volcano",      "pattern optimizer.volcano(X_0:str, 
X_1:str):str ",     "OPTwrapper;",  "Simulate volcano style execution"      ]
 [ "optimizer", "volcano_pipe", "function optimizer.volcano_pipe():void;",      
"",     ""      ]
@@ -12621,6 +12623,7 @@
 [ "sql",       "covariancep",  "pattern sql.covariancep(X_0:lng, X_1:lng, 
X_2:bit, X_3:bit, X_4:int, X_5:oid, X_6:oid):dbl ",  "SQLcovar_pop;",        
"return the covariance population value of groups"      ]
 [ "sql",       "covariancep",  "pattern sql.covariancep(X_0:sht, X_1:sht, 
X_2:bit, X_3:bit, X_4:int, X_5:oid, X_6:oid):dbl ",  "SQLcovar_pop;",        
"return the covariance population value of groups"      ]
 [ "sql",       "createorderindex",     "unsafe pattern 
sql.createorderindex(X_0:str, X_1:str, X_2:str):void ", 
"sql_createorderindex;",        "Instantiate the order index on a column"       
]
+[ "sql",       "createstrimps",        "unsafe pattern 
sql.createstrimps(X_0:str, X_1:str, X_2:str):void ",    "sql_createstrimps;",   
"Instantiate the strimps index on a column"     ]
 [ "sql",       "cume_dist",    "pattern sql.cume_dist(X_0:any_1, X_1:bit, 
X_2:bit):dbl ",      "SQLcume_dist;",        "return the accumulated 
distribution of the number of rows per group to the total number of partition 
rows"     ]
 [ "sql",       "current_time", "pattern sql.current_time():daytime ",  
"SQLcurrent_daytime;",  "Get the clients current daytime"       ]
 [ "sql",       "current_timestamp",    "pattern 
sql.current_timestamp():timestamp ",   "SQLcurrent_timestamp;",        "Get the 
clients current timestamp"     ]
@@ -12692,6 +12695,7 @@
 [ "sql",       "optimizer_updates",    "pattern sql.optimizer_updates():void 
",        "SQLoptimizersUpdate;", ""      ]
 [ "sql",       "optimizers",   "command sql.optimizers() (X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str]) ",      "getPipeCatalog;",      ""      ]
 [ "sql",       "password",     "pattern sql.password(X_0:str):str ",   
"db_password_wrap;",    "Return password hash of user"  ]
+[ "sql",       "peak_next_value",      "pattern sql.peak_next_value(X_0:str, 
X_1:str):lng ",   "mvc_peak_next_value;", "Peaks at the next value of the 
sequence"       ]
 [ "sql",       "percent_rank", "pattern sql.percent_rank(X_0:any_1, X_1:bit, 
X_2:bit):dbl ",   "SQLpercent_rank;",     "return the percentage into the total 
number of groups for each row"    ]
 [ "sql",       "prelude",      "pattern sql.prelude():void ",  "SQLprelude;",  
""      ]
 [ "sql",       "prepared_statements",  "pattern sql.prepared_statements() 
(X_0:bat[:int], X_1:bat[:str], X_2:bat[:int], X_3:bat[:str], 
X_4:bat[:timestamp]) ", "SQLsession_prepared_statements;",      "Available 
prepared statements in the current session"  ]
@@ -12927,6 +12931,10 @@
 [ "streams",   "readStr",      "unsafe command 
streams.readStr(X_0:streams):str ",     "mnstr_read_stringwrap;",       "read 
string data from the stream"      ]
 [ "streams",   "writeInt",     "unsafe command streams.writeInt(X_0:streams, 
X_1:int):void ",  "mnstr_writeIntwrap;",  "write data on the stream"      ]
 [ "streams",   "writeStr",     "unsafe command streams.writeStr(X_0:streams, 
X_1:str):void ",  "mnstr_write_stringwrap;",      "write data on the stream"    
  ]
+[ "strimps",   "mkstrimp",     "unsafe pattern strimps.mkstrimp(X_0:bat[:str], 
X_1:bat[:oid]):void ",  "PATstrimpCreate;",     "construct the strimp a BAT"    
]
+[ "strimps",   "strimpfilter", "pattern strimps.strimpfilter(X_0:str, 
X_1:str):bit ",  "PATstrimpFilter;",     ""      ]
+[ "strimps",   "strimpfilterjoin",     "pattern 
strimps.strimpfilterjoin(X_0:str, X_1:any, X_2:any, X_3:any, X_4:any, X_5:any) 
(X_6:bat[:oid], X_7:bat[:str]) ",       "PATstrimpFilter;",     ""      ]
+[ "strimps",   "strimpfilterselect",   "pattern 
strimps.strimpfilterselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, 
X_3:bit):bat[:oid] ",        "PATstrimpFilterSelect;",       ""      ]
 [ "sysmon",    "pause",        "unsafe pattern sysmon.pause(X_0:int):void ",   
"SYSMONpause;", "Suspend a running query"       ]
 [ "sysmon",    "pause",        "unsafe pattern sysmon.pause(X_0:lng):void ",   
"SYSMONpause;", "Suspend a running query"       ]
 [ "sysmon",    "pause",        "unsafe pattern sysmon.pause(X_0:sht):void ",   
"SYSMONpause;", "Suspend a running query"       ]
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
@@ -393,6 +393,9 @@ BUN ORDERfndlast(BAT *b, Heap *oidxh, co
 BUN SORTfnd(BAT *b, const void *v);
 BUN SORTfndfirst(BAT *b, const void *v);
 BUN SORTfndlast(BAT *b, const void *v);
+gdk_return STRMPappendBitstring(BAT *b, const str s);
+gdk_return STRMPcreate(BAT *b, BAT *s);
+BAT *STRMPfilter(BAT *b, BAT *s, const str q);
 MT_Id THRcreate(void (*f)(void *), void *arg, enum MT_thr_detach d, const char 
*name);
 void *THRdata[THREADDATA];
 void THRdel(Thread t);
@@ -1152,6 +1155,7 @@ const char *minusRef;
 const char *mirrorRef;
 const char *mitosisRef;
 const char *mkeyRef;
+const char *mkstrimpsRef;
 const char *mmathRef;
 const char *modRef;
 char monet_characteristics[4096];
@@ -1374,6 +1378,8 @@ void strAfterCall(ValPtr v, ValPtr bak);
 void strBeforeCall(ValPtr v, ValPtr bak);
 const char *strRef;
 const char *streamsRef;
+const char *strimpFilterSelectRef;
+const char *strimpsRef;
 const char *subavgRef;
 const char *subcountRef;
 const char *subdeltaRef;
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -2391,7 +2391,7 @@ dump_database(Mapi mid, stream *toConsol
        const char *sequences2 =
                "SELECT s.name, "
                     "seq.name, "
-                    "get_value_for(s.name, seq.name), "
+                    "peak_next_value_for(s.name, seq.name), "
                     "seq.\"minvalue\", "
                     "seq.\"maxvalue\", "
                     "seq.\"increment\", "
diff --git a/clients/mapilib/ChangeLog b/clients/mapilib/ChangeLog.Jan2022
copy from clients/mapilib/ChangeLog
copy to clients/mapilib/ChangeLog.Jan2022
diff --git a/clients/mapilib/mapi.rc b/clients/mapilib/mapi.rc
--- a/clients/mapilib/mapi.rc
+++ b/clients/mapilib/mapi.rc
@@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U
 #define sversion(major,minor,patch)    #major "." #minor "." #patch "\0"
 
 1 VERSIONINFO
-  FILEVERSION version(11,42,0)
-  PRODUCTVERSION version(11,42,0)
+  FILEVERSION version(11,44,0)
+  PRODUCTVERSION version(11,44,0)
   FILEFLAGSMASK 0x3fL
   FILEFLAGS 0
   FILEOS VOS_NT_WINDOWS32
@@ -21,14 +21,14 @@ BEGIN
       VALUE "Comments", "\0"
       VALUE "CompanyName", "MonetDB B.V.\0"
       VALUE "FileDescription", "MonetDB Application Interface DLL\0"
-      VALUE "FileVersion", sversion(11,42,0)
+      VALUE "FileVersion", sversion(11,44,0)
       VALUE "InternalName", "Mapi\0"
       VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2021\0"
       VALUE "LegalTrademarks", "\0"
       VALUE "OriginalFilename", "Mapi.dll\0"
       VALUE "PrivateBuild", "\0"
       VALUE "ProductName", "MonetDB Client Libraries\0"
-      VALUE "ProductVersion", sversion(11,42,0)
+      VALUE "ProductVersion", sversion(11,44,0)
       VALUE "SpecialBuild", "\0"
     END
   END
diff --git a/clients/odbc/ChangeLog b/clients/odbc/ChangeLog.Jan2022
copy from clients/odbc/ChangeLog
copy to clients/odbc/ChangeLog.Jan2022
diff --git a/clients/odbc/driver/driver.rc b/clients/odbc/driver/driver.rc
--- a/clients/odbc/driver/driver.rc
+++ b/clients/odbc/driver/driver.rc
@@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U
 #define sversion(major,minor,patch)    #major "." #minor "." #patch "\0"
 
 1 VERSIONINFO
-  FILEVERSION version(11,42,0)
-  PRODUCTVERSION version(11,42,0)
+  FILEVERSION version(11,44,0)
+  PRODUCTVERSION version(11,44,0)
   FILEFLAGSMASK 0x3fL
   FILEFLAGS 0
   FILEOS VOS_NT_WINDOWS32
@@ -21,14 +21,14 @@ BEGIN
       VALUE "Comments", "\0"
       VALUE "CompanyName", "MonetDB B.V.\0"
       VALUE "FileDescription", "MonetDB ODBC Driver DLL\0"
-      VALUE "FileVersion", sversion(11,42,0)
+      VALUE "FileVersion", sversion(11,44,0)
       VALUE "InternalName", "MonetODBC\0"
       VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2021\0"
       VALUE "LegalTrademarks", "\0"
       VALUE "OriginalFilename", "MonetODBC.dll\0"
       VALUE "PrivateBuild", "\0"
       VALUE "ProductName", "MonetDB SQL Server\0"
-      VALUE "ProductVersion", sversion(11,42,0)
+      VALUE "ProductVersion", sversion(11,44,0)
       VALUE "SpecialBuild", "\0"
     END
   END
diff --git a/clients/odbc/winsetup/setup.rc b/clients/odbc/winsetup/setup.rc
--- a/clients/odbc/winsetup/setup.rc
+++ b/clients/odbc/winsetup/setup.rc
@@ -65,8 +65,8 @@ END
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION version(11,42,0)
- PRODUCTVERSION version(11,42,0)
+ FILEVERSION version(11,44,0)
+ PRODUCTVERSION version(11,44,0)
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -83,12 +83,12 @@ BEGIN
         BEGIN
             VALUE "CompanyName", "MonetDB B.V."
             VALUE "FileDescription", "MonetDB ODBC Setup DLL"
-            VALUE "FileVersion", sversion(11,42,0)
+            VALUE "FileVersion", sversion(11,44,0)
             VALUE "InternalName", "MonetODBCs.dll"
             VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2021"
             VALUE "OriginalFilename", "MonetODBCs.dll"
             VALUE "ProductName", "MonetDB SQL Server"
-            VALUE "ProductVersion", sversion(11,42,0)
+            VALUE "ProductVersion", sversion(11,44,0)
         END
     END
     BLOCK "VarFileInfo"
diff --git a/cmake/monetdb-versions.cmake b/cmake/monetdb-versions.cmake
--- a/cmake/monetdb-versions.cmake
+++ b/cmake/monetdb-versions.cmake
@@ -7,7 +7,7 @@
 #]]
 
 set(MONETDB_VERSION_MAJOR "11")
-set(MONETDB_VERSION_MINOR "42")
+set(MONETDB_VERSION_MINOR "44")
 set(MONETDB_VERSION_PATCH "0")
 
 if(RELEASE_VERSION)
diff --git a/common/stream/ChangeLog b/common/stream/ChangeLog.Jan2022
copy from common/stream/ChangeLog
copy to common/stream/ChangeLog.Jan2022
diff --git a/gdk/CMakeLists.txt b/gdk/CMakeLists.txt
--- a/gdk/CMakeLists.txt
+++ b/gdk/CMakeLists.txt
@@ -81,6 +81,7 @@ target_sources(bat
   gdk_analytic_func.c
   gdk_analytic.h
   gdk_tracer.c gdk_tracer.h
+  gdk_strimps.c gdk_strimps.h
   PUBLIC
   ${gdk_public_headers})
 
diff --git a/gdk/ChangeLog b/gdk/ChangeLog
--- a/gdk/ChangeLog
+++ b/gdk/ChangeLog
@@ -1,18 +1,3 @@
 # ChangeLog file for GDK
 # This file is updated with Maddlog
 
-* Wed Aug 11 2021 Sjoerd Mullender <[email protected]>
-- Many (most) low level functions that could take a long time (such as
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to