Changeset: 5d37b81452ca for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/5d37b81452ca
Modified Files:
clients/Tests/MAL-signatures-hge.test
clients/Tests/MAL-signatures.test
Branch: txtsim
Log Message:
Merge with default.
diffs (truncated from 345 to 300 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
@@ -49744,6 +49744,21 @@ unsafe pattern sql.setVariable(X_0:int,
setVariable;
Set the value of a session variable
sql
+sql
+set_count_distinct
+unsafe pattern sql.set_count_distinct(X_0:str, X_1:str, X_2:str, X_3:lng):void
+sql_set_count_distinct;
+Set count distinct for column
+sql
+set_max
+unsafe pattern sql.set_max(X_0:str, X_1:str, X_2:str, X_3:any_1):void
+sql_set_max;
+Set max for column
+sql
+set_min
+unsafe pattern sql.set_min(X_0:str, X_1:str, X_2:str, X_3:any_1):void
+sql_set_min;
+Set min for column
set_protocol
unsafe pattern sql.set_protocol(X_0:int):int
SQLset_protocol;
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
@@ -38124,6 +38124,21 @@ unsafe pattern sql.setVariable(X_0:int,
setVariable;
Set the value of a session variable
sql
+set_count_distinct
+unsafe pattern sql.set_count_distinct(X_0:str, X_1:str, X_2:str, X_3:lng):void
+sql_set_count_distinct;
+Set count distinct for column
+sql
+set_max
+unsafe pattern sql.set_max(X_0:str, X_1:str, X_2:str, X_3:any_1):void
+sql_set_max;
+Set max for column
+sql
+set_min
+unsafe pattern sql.set_min(X_0:str, X_1:str, X_2:str, X_3:any_1):void
+sql_set_min;
+Set min for column
+sql
set_protocol
unsafe pattern sql.set_protocol(X_0:int):int
SQLset_protocol;
diff --git a/common/stream/CMakeLists.txt b/common/stream/CMakeLists.txt
--- a/common/stream/CMakeLists.txt
+++ b/common/stream/CMakeLists.txt
@@ -66,7 +66,6 @@ target_link_libraries(stream
$<$<BOOL:${CURL_FOUND}>:CURL::libcurl>
$<$<BOOL:${LIBLZMA_FOUND}>:LibLZMA::LibLZMA>
$<$<BOOL:${LZ4_FOUND}>:LZ4::LZ4>
- $<$<BOOL:${SNAPPY_FOUND}>:SNAPPY::SNAPPY>
$<$<BOOL:${Iconv_FOUND}>:Iconv::Iconv>
matomic
monetdb_config_header
@@ -100,10 +99,6 @@ if (NOT WIN32)
set(PKG_LZMA "liblzma")
endif()
- if(SNAPPY_FOUND)
- set(PKG_SNAPPY "snappy")
- endif()
-
if(ICONV_FOUND AND NOT Iconv_IS_BUILT_IN)
get_filename_component(ICONV_LIBRARIES_PATH
"${ICONV_LIBRARIES}"
diff --git a/common/stream/monetdb-stream.pc.in
b/common/stream/monetdb-stream.pc.in
--- a/common/stream/monetdb-stream.pc.in
+++ b/common/stream/monetdb-stream.pc.in
@@ -14,7 +14,7 @@ Name: monetdb-stream
Description: MonetDB streams libary
URL: https://www.monetdb.org/
Version: @MONETDB_VERSION@
-Requires.private: @PKG_ZLIB@ @PKG_BZIP2@ @PKG_CURL@ @PKG_LZMA@ @PKG_SNAPPY@
+Requires.private: @PKG_ZLIB@ @PKG_BZIP2@ @PKG_CURL@ @PKG_LZMA@
Libs: -L${libdir} -lstream
Libs.private: @SOCKET_LIBS@ @PKG_LIBICONV@
diff --git a/common/stream/stream_internal.h b/common/stream/stream_internal.h
--- a/common/stream/stream_internal.h
+++ b/common/stream/stream_internal.h
@@ -56,9 +56,6 @@
#ifdef HAVE_LIBLZMA
#include <lzma.h>
#endif
-#ifdef HAVE_SNAPPY
-#include <snappy-c.h>
-#endif
#ifdef HAVE_LIBLZ4
#include <lz4.h>
#include <lz4frame.h>
diff --git a/common/utils/mcrypt.c b/common/utils/mcrypt.c
--- a/common/utils/mcrypt.c
+++ b/common/utils/mcrypt.c
@@ -40,12 +40,6 @@ mcrypt_getHashAlgorithms(void)
",SHA256"
",SHA224"
",SHA1"
-#ifdef HAVE_SNAPPY
- ",COMPRESSION_SNAPPY"
-#endif
-#ifdef HAVE_LIBLZ4
- ",COMPRESSION_LZ4"
-#endif
;
return algorithms;
}
diff --git a/documentation/source/build-debian.rst
b/documentation/source/build-debian.rst
--- a/documentation/source/build-debian.rst
+++ b/documentation/source/build-debian.rst
@@ -39,5 +39,5 @@ zlib1g-dev # optional: read and write .
These packages are optional.
libcfitsio-dev # optional: read FITS files
-liblz4-dev # optional: compression in new (unused) MAPI protocol,
also used to read and write .lz4 compressed files
-libsnappy-dev # optional: compression in new (unused) MAPI protocol
+liblz4-dev # optional: read and write .lz4 compressed files
+libsnappy-dev # optional: currently unused
diff --git a/documentation/source/build-fedora.rst
b/documentation/source/build-fedora.rst
--- a/documentation/source/build-fedora.rst
+++ b/documentation/source/build-fedora.rst
@@ -32,17 +32,17 @@ the command make rpm.
| python3-devel # optional, needed for Python 3 integration
| python3-numpy # optional, needed for Python 3 integration
| R-core-devel # optional, needed for R integration
-| readline-devel # optional, enable editing in mclient
+| readline-devel # optional, enable editing in mclient
| rpm-build # optional, required to create RPMs (make rpm)
| selinux-policy-devel # optional, required to create RPMs (make rpm)
-| unixODBC-devel # optional, needed for ODBC driver
+| unixODBC-devel # optional, needed for ODBC driver
These packages are optional.
| cfitsio-devel # optional: read FITS files
-| libasan # optional: --enable-sanitizer configuration
(debug)
-| lz4-devel # optional: compression in new (unused) MAPI protocol,
also used to read and write .lz4 compressed files
+| libasan # optional: --enable-sanitizer configuration (debug)
+| lz4-devel # optional: read and write .lz4 compressed files
| netcdf-devel # optional: read NetCDF files
| proj-devel # optional, only optionally used in geom module
-| snappy-devel # optional: compression in new (unused) MAPI protocol
-| valgrind-devel # optional: --with-valgrind configuration
(debug)
+| snappy-devel # optional: unused
+| valgrind-devel # optional: --with-valgrind configuration (debug)
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -1622,6 +1622,25 @@ BATsettrivprop(BAT *b)
}
}
+static inline void
+BATnegateprops(BAT *b)
+{
+ /* disable all properties here */
+ b->tnonil = false;
+ b->tnil = false;
+ if (b->ttype) {
+ b->tsorted = false;
+ b->trevsorted = false;
+ b->tnosorted = 0;
+ b->tnorevsorted = 0;
+ }
+ b->tseqbase = oid_nil;
+ b->tkey = false;
+ b->tnokey[0] = 0;
+ b->tnokey[1] = 0;
+ b->tmaxpos = b->tminpos = BUN_NONE;
+}
+
/*
* @- GDK error handling
* @multitable @columnfractions 0.08 0.7
diff --git a/monetdb5/mal/mal_dataflow.c b/monetdb5/mal/mal_dataflow.c
--- a/monetdb5/mal/mal_dataflow.c
+++ b/monetdb5/mal/mal_dataflow.c
@@ -716,7 +716,7 @@ DFLOWscheduler(DataFlow flow, struct wor
int i;
int j;
InstrPtr p;
- int tasks=0, actions;
+ int tasks=0, actions = 0;
str ret = MAL_SUCCEED;
FlowEvent fe, f = 0;
diff --git a/monetdb5/modules/mal/mat.c b/monetdb5/modules/mal/mat.c
--- a/monetdb5/modules/mal/mat.c
+++ b/monetdb5/modules/mal/mat.c
@@ -48,7 +48,7 @@ MATpackInternal(Client cntxt, MalBlkPtr
{
int i;
bat *ret = getArgReference_bat(stk,p,0);
- BAT *b, *bn;
+ BAT *b, *bn = NULL;
BUN cap = 0;
int tt = TYPE_any;
int rt = getArgType(mb, p, 0), unmask = 0;
diff --git a/sql/backends/monet5/dict.c b/sql/backends/monet5/dict.c
--- a/sql/backends/monet5/dict.c
+++ b/sql/backends/monet5/dict.c
@@ -25,22 +25,6 @@ get_newcolumn(sql_trans *tr, sql_column
}
static void
-BATnegateprops(BAT *b)
-{
- /* disable all properties here */
- b->tnonil = false;
- b->tnil = false;
- b->tsorted = false;
- b->trevsorted = false;
- b->tnosorted = 0;
- b->tnorevsorted = 0;
- b->tseqbase = oid_nil;
- b->tkey = false;
- b->tnokey[0] = 0;
- b->tnokey[1] = 0;
-}
-
-static void
BATmaxminpos_bte(BAT *o, bte m)
{
BUN minpos = BUN_NONE, maxpos = BUN_NONE, p, q;
diff --git a/sql/backends/monet5/for.c b/sql/backends/monet5/for.c
--- a/sql/backends/monet5/for.c
+++ b/sql/backends/monet5/for.c
@@ -24,20 +24,6 @@ get_newcolumn(sql_trans *tr, sql_column
return NULL;
}
-static void
-BATnegateprops(BAT *b)
-{
- /* disable all properties here */
- b->tsorted = false;
- b->trevsorted = false;
- b->tnosorted = 0;
- b->tnorevsorted = 0;
- b->tseqbase = oid_nil;
- b->tkey = false;
- b->tnokey[0] = 0;
- b->tnokey[1] = 0;
-}
-
BAT *
FORdecompress_(BAT *o, lng minval, int type, role_t role)
{
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -5153,6 +5153,9 @@ pattern("sql", "decypher", SQLdecypher,
pattern("sql", "analyze", sql_analyze, true, "Update statistics for schema",
args(1,2, arg("",void),arg("sch",str))),
pattern("sql", "analyze", sql_analyze, true, "Update statistics for table",
args(1,3, arg("",void),arg("sch",str),arg("tbl",str))),
pattern("sql", "analyze", sql_analyze, true, "Update statistics for column",
args(1,4, arg("",void),arg("sch",str),arg("tbl",str),arg("col",str))),
+ pattern("sql", "set_count_distinct", sql_set_count_distinct, true, "Set count
distinct for column", args(1,5,
arg("",void),arg("sch",str),arg("tbl",str),arg("col",str),arg("val",lng))),
+ pattern("sql", "set_min", sql_set_min, true, "Set min for column", args(1,5,
arg("",void),arg("sch",str),arg("tbl",str),arg("col",str),argany("val",1))),
+ pattern("sql", "set_max", sql_set_max, true, "Set max for column", args(1,5,
arg("",void),arg("sch",str),arg("tbl",str),arg("col",str),argany("val",1))),
pattern("sql", "statistics", sql_statistics, false, "return a table with
statistics information", args(13,13,
batarg("columnid",int),batarg("schema",str),batarg("table",str),batarg("column",str),batarg("type",str),batarg("with",int),batarg("count",lng),batarg("unique",bit),batarg("nils",bit),batarg("minval",str),batarg("maxval",str),batarg("sorted",bit),batarg("revsorted",bit))),
pattern("sql", "statistics", sql_statistics, false, "return a table with
statistics information for a particular schema", args(13,14,
batarg("columnid",int),batarg("schema",str),batarg("table",str),batarg("column",str),batarg("type",str),batarg("with",int),batarg("count",lng),batarg("unique",bit),batarg("nils",bit),batarg("minval",str),batarg("maxval",str),batarg("sorted",bit),batarg("revsorted",bit),arg("sname",str))),
pattern("sql", "statistics", sql_statistics, false, "return a table with
statistics information for a particular table", args(13,15,
batarg("columnid",int),batarg("schema",str),batarg("table",str),batarg("column",str),batarg("type",str),batarg("with",int),batarg("count",lng),batarg("unique",bit),batarg("nils",bit),batarg("minval",str),batarg("maxval",str),batarg("sorted",bit),batarg("revsorted",bit),arg("sname",str),arg("tname",str))),
diff --git a/sql/backends/monet5/sql_statistics.c
b/sql/backends/monet5/sql_statistics.c
--- a/sql/backends/monet5/sql_statistics.c
+++ b/sql/backends/monet5/sql_statistics.c
@@ -20,6 +20,61 @@ analysis by optimizers.
#include "monetdb_config.h"
#include "sql_statistics.h"
+static str
+sql_set_stats(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci, int
type)
+{
+ mvc *m = NULL;
+ str sch = NULL, tbl = NULL, col = NULL, msg = MAL_SUCCEED;
+
+ if ((msg = getSQLContext(cntxt, mb, &m, NULL)) != NULL)
+ return msg;
+ if ((msg = checkSQLContext(cntxt)) != NULL)
+ return msg;
+
+ sch = *getArgReference_str(stk, pci, 1);
+ tbl = *getArgReference_str(stk, pci, 2);
+ col = *getArgReference_str(stk, pci, 3);
+
+ sql_schema *s = mvc_bind_schema(m, sch);
+ sql_table *t = s?mvc_bind_table(m, s, tbl):NULL;
+ sql_column *c = t?mvc_bind_column(m, t, col):NULL;
+ if (!c || !t || !s)
+ throw(SQL, "sql.set_stats", SQLSTATE(42000) "Cannot not find
Column '%s.%s.%s'", sch, tbl, col);
+ sql_trans *tr = m->session->tr;
+ sqlstore *store = tr->store;
+ if (type > 0) {
+ if (getArgType(mb, pci, 4) != c->type.type->localtype)
+ throw(SQL, "sql.set_stats", SQLSTATE(42000) "Wrong
value type '%s'", BATatoms[getArgType(mb, pci, 4)].name);
+ ptr val = getArgReference(stk, pci, 4);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]