Changeset: a311d8db9067 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/a311d8db9067
Modified Files:
        gdk/gdk.h
        gdk/gdk_batop.c
        gdk/gdk_private.h
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_statement.c
        sql/backends/monet5/sql_upgrades.c
        sql/server/rel_dump.c
        sql/server/rel_optimizer.c
        sql/server/rel_rel.c
        sql/server/rel_rewriter.c
        sql/server/rel_schema.c
        sql/server/rel_select.c
        sql/server/sql_atom.c
        sql/server/sql_atom.h
        sql/storage/bat/bat_storage.c
Branch: properties
Log Message:

Merged with default


diffs (truncated from 5320 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -824,3 +824,6 @@ 1cc77329e40543d12dd9de04cbeec50d442520e9
 1cc77329e40543d12dd9de04cbeec50d442520e9 Jul2021_SP2_release
 e730f4981db58bb336d6b17a022eec95d9f0eae5 Jan2022_1
 e730f4981db58bb336d6b17a022eec95d9f0eae5 Jan2022_release
+34d6df33e954fe8fbee1cb3d4e2bde0bbd903d74 Jan2022_3
+e730f4981db58bb336d6b17a022eec95d9f0eae5 Jan2022_release
+34d6df33e954fe8fbee1cb3d4e2bde0bbd903d74 Jan2022_release
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -88,7 +88,7 @@ monetdb_configure_misc()
 # Some custom target will need these setting.
 include(monetdb-custom-targets)
 
-if(NOT ${CMAKE_INSTALL_PREFIX} STREQUAL "/usr" AND NOT 
${CPACK_PACKAGING_INSTALL_PREFIX} STREQUAL "/")
+if(NOT ${CMAKE_INSTALL_PREFIX} STREQUAL "/usr")
   SET(CMAKE_SKIP_BUILD_RPATH  FALSE)
   SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
   SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
diff --git a/ChangeLog.Jan2022 b/ChangeLog.Jan2022
--- a/ChangeLog.Jan2022
+++ b/ChangeLog.Jan2022
@@ -1,3 +1,6 @@
 # ChangeLog file for devel
 # This file is updated with Maddlog
 
+* Wed Jan 12 2022 Sjoerd Mullender <sjo...@acm.org>
+- A couple of concurrency issues have been fixed.
+
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -850,6 +850,23 @@ fi
 %endif
 
 %changelog
+* Tue Jan 11 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.3-20220111
+- Rebuilt.
+- GH#7215: ODBC Driver SQLStatistics returns duplicate rows/rows for other
+  tables
+
+* Tue Jan 11 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.3-20220111
+- gdk: On Windows, files and directories we create now get the attribute
+  FILE_ATTIBUTE_NOT_CONTENT_INDEXED, meaning that they should not be
+  indexed by indexing or search services.
+
+* Thu Jan  6 2022 Martin van Dinther <martin.van.dint...@monetdbsolutions.com> 
- 11.43.3-20220111
+- merovingian: Disabled logging into merovingian.log of next info message 
types:
+  - proxying client <host>:<port> for database '<dbname>' to <url>
+  - target connection is on local UNIX domain socket, passing on 
filedescriptor instead of proxying
+  These messages were written to the log file at each connection. In most
+  cases this information is not used. The disabling reduces the log file size.
+
 * Mon Jan 03 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.1-20220103
 - Rebuilt.
 - GH#7168: Loosing the documentation
@@ -861,18 +878,6 @@ fi
   result set
 - GH#7202: DISTINCT does not work when sorting by additional columns
 
-* Mon Jan  3 2022 Panagiotis Koutsourakis <kutsu...@monetdbsolutions.com> - 
11.43.1-20220103
-- gdk: Implement string imprints (strimps for short) a pre-filter structure
-  for strings in order to accelerate LIKE queries. If a strimp exists
-  for a specific string column the strings are pre-filtered, rejecting
-  strings that cannot possibly match, before the more expensive and
-  accurate matching algorithms run. Strimps are created automatically
-  or using 'sys.strimp_create' with arguments the names of the schema,
-  table and column. Automatic strimp creation is controlled by two
-  user settable gdk options: 'gdk_use_strimps' (default value "no") and
-  'gdk_strimps_threshold' (default value 1.000.000). See the manual for
-  more details.
-
 * Wed Dec 15 2021 Pedro Ferreira <pedro.ferre...@monetdbsolutions.com> - 
11.43.1-20220103
 - monetdb5: The storage cleanup in the 11.41.5 (Jul2021) release made the OLTP
   optimizer pipeline obsolete, thus it was removed.
diff --git a/NT/ChangeLog.Jan2022 b/NT/ChangeLog.Jan2022
new file mode 100644
--- /dev/null
+++ b/NT/ChangeLog.Jan2022
@@ -0,0 +1,6 @@
+# ChangeLog file for NT
+# This file is updated with Maddlog
+
+* Thu Jan 13 2022 Sjoerd Mullender <sjo...@acm.org>
+- We now build Windows binaries using Visual Studio 2022.
+
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
@@ -9219,7 +9219,6 @@
 [ "rapi",      "eval_aggr",    "pattern rapi.eval_aggr(X_0:ptr, X_1:str, 
X_2:any...):any... ", "RAPIevalAggr;",        "grouped aggregates through R"  ]
 [ "rapi",      "prelude",      "command rapi.prelude():void ", "RAPIprelude;", 
""      ]
 [ "rapi",      "subeval_aggr", "pattern rapi.subeval_aggr(X_0:ptr, X_1:str, 
X_2:any...):any... ",      "RAPIevalAggr;",        "grouped aggregates through 
R"  ]
-[ "remote",    "assert",       "pattern remote.assert(X_0:bit, X_1:str):void 
",        "RMTassert;",   "Generate an exception when b==true"    ]
 [ "remote",    "batbincopy",   "pattern remote.batbincopy():bat[:any] ",       
"RMTbincopyfrom;",      "store the binary BAT data in the BBP and return as 
BAT"        ]
 [ "remote",    "batbincopy",   "pattern remote.batbincopy(X_0:bat[:any]):void 
",       "RMTbincopyto;",        "dump BAT b in binary form to the stream"      
 ]
 [ "remote",    "batload",      "pattern remote.batload(X_0:any_1, 
X_1:int):bat[:any_1] ",      "RMTbatload;",  "create a BAT of the given type 
and size, and load values from the input stream"        ]
@@ -9600,10 +9599,6 @@
 [ "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
@@ -12519,7 +12519,6 @@
 [ "rapi",      "eval_aggr",    "pattern rapi.eval_aggr(X_0:ptr, X_1:str, 
X_2:any...):any... ", "RAPIevalAggr;",        "grouped aggregates through R"  ]
 [ "rapi",      "prelude",      "command rapi.prelude():void ", "RAPIprelude;", 
""      ]
 [ "rapi",      "subeval_aggr", "pattern rapi.subeval_aggr(X_0:ptr, X_1:str, 
X_2:any...):any... ",      "RAPIevalAggr;",        "grouped aggregates through 
R"  ]
-[ "remote",    "assert",       "pattern remote.assert(X_0:bit, X_1:str):void 
",        "RMTassert;",   "Generate an exception when b==true"    ]
 [ "remote",    "batbincopy",   "pattern remote.batbincopy():bat[:any] ",       
"RMTbincopyfrom;",      "store the binary BAT data in the BBP and return as 
BAT"        ]
 [ "remote",    "batbincopy",   "pattern remote.batbincopy(X_0:bat[:any]):void 
",       "RMTbincopyto;",        "dump BAT b in binary form to the stream"      
 ]
 [ "remote",    "batload",      "pattern remote.batload(X_0:any_1, 
X_1:int):bat[:any_1] ",      "RMTbatload;",  "create a BAT of the given type 
and size, and load values from the input stream"        ]
@@ -12921,10 +12920,6 @@
 [ "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
@@ -149,6 +149,7 @@ BAT *BATgroupvariance_sample(BAT *b, BAT
 BUN BATgrows(BAT *b);
 BUN BATguess_uniques(BAT *b, struct canditer *ci);
 gdk_return BAThash(BAT *b);
+bool BAThasstrimps(BAT *b);
 void BAThseqbase(BAT *b, oid o);
 gdk_return BATimprints(BAT *b);
 BAT *BATintersect(BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, bool 
max_one, BUN estimate);
@@ -393,8 +394,8 @@ 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 char *s);
 gdk_return STRMPcreate(BAT *b, BAT *s);
+void STRMPdestroy(BAT *b);
 BAT *STRMPfilter(BAT *b, BAT *s, const char *q);
 MT_Id THRcreate(void (*f)(void *), void *arg, enum MT_thr_detach d, const char 
*name);
 void *THRdata[THREADDATA];
@@ -1454,6 +1455,323 @@ char *monetdbe_result_fetch(monetdbe_res
 char *monetdbe_set_autocommit(monetdbe_database dbhdl, int value);
 const char *monetdbe_version(void);
 
+# sql
+char *BatType_Format(int);
+int BatType_ToPyType(int);
+str ConvertFromSQLType(BAT *b, sql_subtype *sql_subtype, BAT **ret_bat, int 
*ret_type);
+str ConvertToSQLType(Client cntxt, BAT *b, sql_subtype *sql_subtype, BAT 
**ret_bat, int *ret_type);
+bit ConvertableSQLType(sql_subtype *sql_subtype);
+str FITSattach(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str FITSdir(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str FITSdirpat(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str FITSexportTable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str FITSloadTable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str FITStest(int *res, str *fname);
+bit IsStandardBATType(int type);
+str NCDFattach(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str NCDFimportVarStmt(str *sciqlstmt, str *fname, int *varid);
+str NCDFimportVariable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str NCDFtest(int *vars, str *fname);
+str PYAPI3PyAPIevalAggr(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str PYAPI3PyAPIevalAggrMap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str PYAPI3PyAPIevalLoader(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str PYAPI3PyAPIevalStd(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str PYAPI3PyAPIevalStdMap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str PYAPI3PyAPIprelude(void *ret);
+PyObject *PyArrayObject_FromBAT(PyInput *input_bat, size_t start, size_t end, 
char **return_message, bool copy);
+PyObject *PyArrayObject_FromScalar(PyInput *input_scalar, char 
**return_message);
+PyObject *PyDict_CheckForConversion(PyObject *pResult, int expected_columns, 
char **retcol_names, char **return_message);
+char *PyError_CreateException(char *error_text, char *pycall);
+PyObject *PyMaskedArray_FromBAT(PyInput *inp, size_t t_start, size_t t_end, 
char **return_message, bool copy);
+PyObject *PyNullMask_FromBAT(BAT *b, size_t start, size_t end);
+PyObject *PyObject_CheckForConversion(PyObject *pResult, int expected_columns, 
int *actual_columns, char **return_message);
+BAT *PyObject_ConvertToBAT(PyReturn *ret, sql_subtype *type, int bat_type, int 
index, oid seqbase, char **return_message, bool copy);
+str PyObject_GetReturnValues(PyObject *obj, PyReturn *return_value);
+bool PyObject_PreprocessObject(PyObject *pResult, PyReturn *pyreturn_values, 
int column_count, char **return_message);
+char *PyType_Format(int);
+bool PyType_IsDouble(int);
+bool PyType_IsFloat(int);
+bool PyType_IsInteger(int);
+bool PyType_IsLazyArray(PyObject *object);
+bool PyType_IsNumpyArray(PyObject *object);
+bool PyType_IsNumpyMaskedArray(PyObject *object);
+bool PyType_IsPandasDataFrame(PyObject *object);
+bool PyType_IsPyScalar(PyObject *object);
+ssize_t PyType_Size(PyObject *obj);
+int PyType_ToBat(int);
+bool Python_ObtainGIL(void);
+bool Python_ReleaseGIL(bool);
+str RAstatement(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str RAstatement2(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str RAstatementEnd(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str SHPattach(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str SHPimport(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str SHPpartialimport(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str SQLautocommit(mvc *m);
+str SQLcallback(Client c, str msg);
+void SQLdestroyResult(res_table *destroy);
+str SQLengine(Client c);
+str SQLengineIntern(Client c, backend *be);
+str SQLescapeString(str s);
+str SQLexit(Client c);
+str SQLexitClient(Client c);
+str SQLinitClient(Client c);
+str SQLinitClientFromMAL(Client c);
+str SQLparser(Client c);
+str SQLreader(Client c);
+str SQLresetClient(Client c);
+str SQLstatementIntern(Client c, const char *expr, const char *nme, bit 
execute, bit output, res_table **result);
+str SQLtrans(mvc *m);
+char *UDFBATfuse(bat *ret, const bat *one, const bat *two);
+str UDFBATreverse(bat *ret, const bat *arg);
+char *UDFfuse_bte_sht(sht *ret, const bte *one, const bte *two);
+char *UDFfuse_int_lng(lng *ret, const int *one, const int *two);
+char *UDFfuse_lng_hge(hge *ret, const lng *one, const lng *two);
+char *UDFfuse_sht_int(int *ret, const sht *one, const sht *two);
+str UDFreverse(str *ret, const str *arg);
+str VLTgenerator_join(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str VLTgenerator_noop(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str VLTgenerator_projection(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+str VLTgenerator_rangejoin(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str VLTgenerator_subselect(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str VLTgenerator_table(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str VLTgenerator_thetasubselect(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+str append_to_table_from_emit(Client cntxt, char *sname, char *tname, 
sql_emit_col *columns, size_t ncols);
+str batbte_dec2_bte(bat *res, const int *s1, const bat *v, const bat *sid);
+str batbte_dec2_dbl(bat *res, const int *s1, const bat *v, const bat *sid);
+str batbte_dec2_flt(bat *res, const int *s1, const bat *v, const bat *sid);
+str batbte_dec2_int(bat *res, const int *s1, const bat *v, const bat *sid);
+str batbte_dec2_lng(bat *res, const int *s1, const bat *v, const bat *sid);
+str batbte_dec2_sht(bat *res, const int *s1, const bat *v, const bat *sid);
+str batbte_dec2dec_bte(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str batbte_dec2dec_dbl(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str batbte_dec2dec_flt(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str batbte_dec2dec_int(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str batbte_dec2dec_lng(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str batbte_dec2dec_sht(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str batbte_num2dec_bte(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batbte_num2dec_dbl(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batbte_num2dec_flt(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batbte_num2dec_int(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batbte_num2dec_lng(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batbte_num2dec_sht(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batdbl_num2dec_bte(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batdbl_num2dec_int(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batdbl_num2dec_lng(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batdbl_num2dec_sht(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batflt_num2dec_bte(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batflt_num2dec_int(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batflt_num2dec_lng(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batflt_num2dec_sht(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str bathge_dec2_bte(bat *res, const int *s1, const bat *v, const bat *sid);
+str bathge_dec2_dbl(bat *res, const int *s1, const bat *v, const bat *sid);
+str bathge_dec2_flt(bat *res, const int *s1, const bat *v, const bat *sid);
+str bathge_dec2_int(bat *res, const int *s1, const bat *v, const bat *sid);
+str bathge_dec2_lng(bat *res, const int *s1, const bat *v, const bat *sid);
+str bathge_dec2_sht(bat *res, const int *s1, const bat *v, const bat *sid);
+str bathge_dec2dec_bte(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str bathge_dec2dec_dbl(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str bathge_dec2dec_flt(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str bathge_dec2dec_int(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str bathge_dec2dec_lng(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str bathge_dec2dec_sht(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str bathge_num2dec_bte(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str bathge_num2dec_dbl(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str bathge_num2dec_flt(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str bathge_num2dec_int(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str bathge_num2dec_lng(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str bathge_num2dec_sht(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batint_dec2_bte(bat *res, const int *s1, const bat *v, const bat *sid);
+str batint_dec2_dbl(bat *res, const int *s1, const bat *v, const bat *sid);
+str batint_dec2_flt(bat *res, const int *s1, const bat *v, const bat *sid);
+str batint_dec2_int(bat *res, const int *s1, const bat *v, const bat *sid);
+str batint_dec2_lng(bat *res, const int *s1, const bat *v, const bat *sid);
+str batint_dec2_sht(bat *res, const int *s1, const bat *v, const bat *sid);
+str batint_dec2dec_bte(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str batint_dec2dec_dbl(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str batint_dec2dec_flt(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str batint_dec2dec_int(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str batint_dec2dec_lng(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str batint_dec2dec_sht(bat *res, const int *S1, const bat *v, const bat *sid, 
const int *d2, const int *S2);
+str batint_num2dec_bte(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batint_num2dec_dbl(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batint_num2dec_flt(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
+str batint_num2dec_int(bat *res, const bat *v, const bat *sid, const int *d2, 
const int *s2);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to