[prev in list] [next in list] [prev in thread] [next in thread]
List: monetdb-checkins
Subject: MonetDB: default - Merge with Apr2019 branch.
From: Sjoerd Mullender <commits+sjoerd=acm.org () monetdb ! org>
Date: 2019-01-31 16:06:59
Message-ID: hg.31bde59a36c7.1548950819.6315528441665844383 () monetdb-vm0 ! spin-off ! cwi ! nl
[Download RAW message or body]
Changeset: 31bde59a36c7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=31bde59a36c7
Modified Files:
common/stream/stream.c
gdk/gdk_logger.c
geom/lib/libgeom.c
geom/lib/libgeom.h
geom/monetdb5/geom.c
monetdb5/modules/atoms/inet.c
monetdb5/modules/atoms/mtime.c
monetdb5/modules/atoms/mtime.h
monetdb5/modules/atoms/mtime_analytic.c
monetdb5/modules/atoms/uuid.c
sql/backends/monet5/UDF/capi/capi.c
sql/backends/monet5/generator/generator.c
sql/backends/monet5/sql.c
Branch: default
Log Message:
Merge with Apr2019 branch.
diffs (truncated from 1749 to 300 lines):
diff --git a/common/stream/stream.c b/common/stream/stream.c
--- a/common/stream/stream.c
+++ b/common/stream/stream.c
@@ -3763,6 +3763,7 @@ bs_write(stream *restrict ss, const void
if (!mnstr_writeSht(s->s, (int16_t) blksize) ||
s->s->write(s->s, s->buf, 1, s->nr) != (ssize_t) s->nr) {
ss->errnr = MNSTR_WRITE_ERROR;
+ s->nr = 0; /* data is lost due to error */
return -1;
}
s->blks++;
@@ -3815,6 +3816,7 @@ bs_flush(stream *ss)
(s->nr > 0 &&
s->s->write(s->s, s->buf, 1, s->nr) != (ssize_t) s->nr))) {
ss->errnr = MNSTR_WRITE_ERROR;
+ s->nr = 0; /* data is lost due to error */
return -1;
}
s->blks++;
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -2961,7 +2961,7 @@ gdk_return
logger_add_bat(logger *lg, BAT *b, const char *name, char tpe, oid id)
{
log_bid bid = logger_find_bat(lg, name, tpe, id);
- lng lid = (lng) id;
+ lng lid = tpe ? (lng) id : 0;
assert(b->batRestricted != BAT_WRITE ||
b == lg->snapshots_bid ||
@@ -3005,7 +3005,7 @@ logger_upgrade_bat(logger *lg, const cha
if (bid) {
oid p = (oid) log_find(lg->catalog_bid, lg->dcatalog, bid);
- lng lid = (lng) id;
+ lng lid = tpe ? (lng) id : 0;
if (BUNappend(lg->dcatalog, &p, false) != GDK_SUCCEED ||
BUNappend(lg->catalog_bid, &bid, false) != GDK_SUCCEED ||
diff --git a/geom/lib/libgeom.c b/geom/lib/libgeom.c
--- a/geom/lib/libgeom.c
+++ b/geom/lib/libgeom.c
@@ -33,8 +33,8 @@ libgeom_exit(void)
finishGEOS();
}
-int
-wkb_isnil(const wkb *w)
+bool
+is_wkb_nil(const wkb *w)
{
if (!w || w->len == ~0)
return 1;
@@ -110,7 +110,7 @@ wkb2geos(const wkb *geomWKB)
{
GEOSGeom geosGeometry;
- if (wkb_isnil(geomWKB))
+ if (is_wkb_nil(geomWKB))
return NULL;
geosGeometry = GEOSGeomFromWKB_buf((unsigned char *) geomWKB->data, geomWKB->len);
diff --git a/geom/lib/libgeom.h b/geom/lib/libgeom.h
--- a/geom/lib/libgeom.h
+++ b/geom/lib/libgeom.h
@@ -133,10 +133,10 @@ libgeom_export void libgeom_exit(void);
* Returns a GEOSGeom, created from a geom_geometry.
* On failure, returns NULL.
*/
-//#define wkb2geos( geom ) wkb_isnil((geom))? NULL: GEOSGeomFromWKB_buf((unsigned \
char *)((geom)->data), (geom)->len) +//#define wkb2geos( geom ) is_wkb_nil((geom))? \
NULL: GEOSGeomFromWKB_buf((unsigned char *)((geom)->data), (geom)->len) #define \
mbr_nil mbrFromGeos(NULL);
-libgeom_export int wkb_isnil(const wkb *wkbp);
+libgeom_export bool is_wkb_nil(const wkb *wkbp);
libgeom_export int getMbrGeos(mbr *mbr, const GEOSGeom geosGeometry);
libgeom_export int getMbrGeom(mbr *res, wkb *geom);
libgeom_export GEOSGeom wkb2geos(const wkb *geomWKB);
diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -412,7 +412,7 @@ wkbTransform(wkb **transformedWKB, wkb *
if (*geomWKB == NULL)
throw(MAL, "geom.Transform", SQLSTATE(38000) "Geos wkb format is null");
- if (wkb_isnil(*geomWKB) ||
+ if (is_wkb_nil(*geomWKB) ||
is_int_nil(*srid_src) ||
is_int_nil(*srid_dst) ||
strcmp(*proj4_src_str, str_nil) == 0 ||
@@ -770,7 +770,7 @@ wkbForceDim(wkb **outWKB, wkb **geomWKB,
GEOSGeom geosGeometry;
str err;
- if (wkb_isnil(*geomWKB) || is_int_nil(*dim)) {
+ if (is_wkb_nil(*geomWKB) || is_int_nil(*dim)) {
if ((*outWKB = wkbNULLcopy()) == NULL)
throw(MAL, "geom.ForceDim", SQLSTATE(HY001) MAL_MALLOC_FAIL);
return MAL_SUCCEED;
@@ -1146,7 +1146,7 @@ wkbSegmentize(wkb **outWKB, wkb **geomWK
GEOSGeom geosGeometry;
str err;
- if (wkb_isnil(*geomWKB) || is_dbl_nil(*sz)) {
+ if (is_wkb_nil(*geomWKB) || is_dbl_nil(*sz)) {
if ((*outWKB = wkbNULLcopy()) == NULL)
throw(MAL, "geom.Segmentize", SQLSTATE(HY001) MAL_MALLOC_FAIL);
return MAL_SUCCEED;
@@ -1464,7 +1464,7 @@ wkbTranslate(wkb **outWKB, wkb **geomWKB
GEOSGeom geosGeometry;
str err;
- if (wkb_isnil(*geomWKB) || is_dbl_nil(*dx) || is_dbl_nil(*dy) || is_dbl_nil(*dz)) {
+ if (is_wkb_nil(*geomWKB) || is_dbl_nil(*dx) || is_dbl_nil(*dy) || is_dbl_nil(*dz)) \
{ if ((*outWKB = wkbNULLcopy()) == NULL)
throw(MAL, "geom.Translate", SQLSTATE(HY001) MAL_MALLOC_FAIL);
return MAL_SUCCEED;
@@ -1504,7 +1504,7 @@ wkbDelaunayTriangles(wkb **outWKB, wkb *
GEOSGeom outGeometry;
GEOSGeom geosGeometry;
- if (wkb_isnil(*geomWKB) || is_dbl_nil(*tolerance) || is_int_nil(*flag)) {
+ if (is_wkb_nil(*geomWKB) || is_dbl_nil(*tolerance) || is_int_nil(*flag)) {
if ((*outWKB = wkbNULLcopy()) == NULL)
throw(MAL, "geom.DelaunayTriangles", SQLSTATE(HY001) MAL_MALLOC_FAIL);
return MAL_SUCCEED;
@@ -1532,7 +1532,7 @@ wkbPointOnSurface(wkb **resWKB, wkb **ge
{
GEOSGeom geosGeometry, resGeosGeometry;
- if (wkb_isnil(*geomWKB)) {
+ if (is_wkb_nil(*geomWKB)) {
if ((*resWKB = wkbNULLcopy()) == NULL)
throw(MAL, "geom.PointOnSurface", SQLSTATE(HY001) MAL_MALLOC_FAIL);
return MAL_SUCCEED;
@@ -1686,7 +1686,7 @@ wkbDump(bat *idBAT_id, bat *geomBAT_id,
unsigned int geometriesNum;
str err;
- if (wkb_isnil(*geomWKB)) {
+ if (is_wkb_nil(*geomWKB)) {
//create new empty BAT for the output
if ((idBAT = COLnew(0, TYPE_str, 0, TRANSIENT)) == NULL) {
@@ -1917,7 +1917,7 @@ wkbDumpPoints(bat *idBAT_id, bat *geomBA
int pointsNum;
str err;
- if (wkb_isnil(*geomWKB)) {
+ if (is_wkb_nil(*geomWKB)) {
//create new empty BAT for the output
if ((idBAT = COLnew(0, TYPE_str, 0, TRANSIENT)) == NULL) {
@@ -1978,7 +1978,7 @@ geom_2_geom(wkb **resWKB, wkb **valueWKB
int valueSRID = (*valueWKB)->srid;
- if (wkb_isnil(*valueWKB) || is_int_nil(*columnType) || is_int_nil(*columnSRID)) {
+ if (is_wkb_nil(*valueWKB) || is_int_nil(*columnType) || is_int_nil(*columnSRID)) {
*resWKB = wkbNULLcopy();
if (*resWKB == NULL)
throw(MAL, "calc.wkb", SQLSTATE(HY001) MAL_MALLOC_FAIL);
@@ -2088,8 +2088,8 @@ geom_epilogue(void *ret)
}
/* Check if fixed-sized atom mbr is null */
-static int
-mbr_isnil(const mbr *m)
+static bool
+is_mbr_nil(const mbr *m)
{
return (m == NULL || is_flt_nil(m->xmin) || is_flt_nil(m->ymin) || \
is_flt_nil(m->xmax) || is_flt_nil(m->ymax)); }
@@ -2376,7 +2376,7 @@ wkbAsBinary(char **toStr, wkb **geomWKB)
char *s;
int i;
- if (wkb_isnil(*geomWKB)) {
+ if (is_wkb_nil(*geomWKB)) {
if ((*toStr = GDKstrdup(str_nil)) == NULL)
throw(MAL, "geom.AsBinary", SQLSTATE(HY001) MAL_MALLOC_FAIL);
return MAL_SUCCEED;
@@ -2502,7 +2502,7 @@ wkbFromWKB(wkb **w, wkb **src)
if (*w == NULL)
throw(MAL, "calc.wkb", SQLSTATE(HY001) MAL_MALLOC_FAIL);
- if (wkb_isnil(*src)) {
+ if (is_wkb_nil(*src)) {
**w = *wkbNULL();
} else {
(*w)->len = (*src)->len;
@@ -2533,7 +2533,7 @@ wkbFromText(wkb **geomWKB, str *geomWKT,
if (err != MAL_SUCCEED)
return err;
- if (wkb_isnil(*geomWKB) || *tpe == 0 ||
+ if (is_wkb_nil(*geomWKB) || *tpe == 0 ||
*tpe == wkbGeometryCollection_mdb ||
((te = *((*geomWKB)->data + 1) & 0x0f) + (*tpe > 2)) == *tpe) {
return MAL_SUCCEED;
@@ -2556,7 +2556,7 @@ wkbAsText(char **txt, wkb **geomWKB, int
char *wkt = NULL;
const char *sridTxt = "SRID:";
- if (wkb_isnil(*geomWKB) || (withSRID && is_int_nil(*withSRID))) {
+ if (is_wkb_nil(*geomWKB) || (withSRID && is_int_nil(*withSRID))) {
if ((*txt = GDKstrdup(str_nil)) == NULL)
throw(MAL, "geom.AsText", SQLSTATE(HY001) MAL_MALLOC_FAIL);
return MAL_SUCCEED;
@@ -2828,7 +2828,7 @@ wkbMakePoint(wkb **out, dbl *x, dbl *y,
*out = geos2wkb(geosGeometry);
GEOSGeom_destroy(geosGeometry);
- if (wkb_isnil(*out)) {
+ if (is_wkb_nil(*out)) {
GDKfree(*out);
*out = NULL;
throw(MAL, "geom.MakePoint", SQLSTATE(38000) "Geos to create WKB from GEOSGeometry \
failed"); @@ -2844,7 +2844,7 @@ wkbBasicInt(int *out, wkb *geom, int (*f
GEOSGeom geosGeometry;
str ret = MAL_SUCCEED;
- if (wkb_isnil(geom)) {
+ if (is_wkb_nil(geom)) {
*out = int_nil;
return MAL_SUCCEED;
}
@@ -2910,7 +2910,7 @@ wkbSetSRID(wkb **resultGeomWKB, wkb **ge
{
GEOSGeom geosGeometry;
- if (wkb_isnil(*geomWKB) || is_int_nil(*srid)) {
+ if (is_wkb_nil(*geomWKB) || is_int_nil(*srid)) {
if ((*resultGeomWKB = wkbNULLcopy()) == NULL)
throw(MAL, "geom.setSRID", SQLSTATE(HY001) MAL_MALLOC_FAIL);
return MAL_SUCCEED;
@@ -2936,7 +2936,7 @@ wkbGetCoordinate(dbl *out, wkb **geom, i
const GEOSCoordSequence *gcs;
str err = MAL_SUCCEED;
- if (wkb_isnil(*geom) || is_int_nil(*dimNum)) {
+ if (is_wkb_nil(*geom) || is_int_nil(*dimNum)) {
*out = dbl_nil;
return MAL_SUCCEED;
}
@@ -2979,7 +2979,7 @@ wkbBasic(wkb **out, wkb **geom, GEOSGeom
GEOSGeom geosGeometry, outGeometry;
str err = MAL_SUCCEED;
- if (wkb_isnil(*geom)) {
+ if (is_wkb_nil(*geom)) {
if ((*out = wkbNULLcopy()) == NULL)
throw(MAL, name, SQLSTATE(HY001) MAL_MALLOC_FAIL);
return MAL_SUCCEED;
@@ -3079,7 +3079,7 @@ wkbMakePolygon(wkb **out, wkb **external
GEOSCoordSeq coordSeq_copy;
str err;
- if (wkb_isnil(*external) || is_int_nil(*srid)) {
+ if (is_wkb_nil(*external) || is_int_nil(*srid)) {
if ((*out = wkbNULLcopy()) == NULL)
throw(MAL, "geom.Polygon", SQLSTATE(HY001) MAL_MALLOC_FAIL);
return MAL_SUCCEED;
@@ -3153,7 +3153,7 @@ wkbMakeLine(wkb **out, wkb **geom1WKB, w
str err = MAL_SUCCEED;
*out = NULL;
- if (wkb_isnil(*geom1WKB) || wkb_isnil(*geom2WKB)) {
+ if (is_wkb_nil(*geom1WKB) || is_wkb_nil(*geom2WKB)) {
if ((*out = wkbNULLcopy()) == NULL)
throw(MAL, "geom.MakeLine", SQLSTATE(HY001) MAL_MALLOC_FAIL);
return MAL_SUCCEED;
@@ -3325,7 +3325,7 @@ wkbBorderPoint(wkb **out, wkb **geom, GE
GEOSGeom new;
str err = MAL_SUCCEED;
- if (wkb_isnil(*geom)) {
+ if (is_wkb_nil(*geom)) {
if ((*out = wkbNULLcopy()) == NULL)
throw(MAL, name, SQLSTATE(HY001) MAL_MALLOC_FAIL);
return MAL_SUCCEED;
@@ -3482,7 +3482,7 @@ wkbNumPoints(int *out, wkb **geom, int *
char *geomSTR = NULL;
unsigned int pointsNum;
- if (wkb_isnil(*geom) || is_int_nil(*check)) {
+ if (is_wkb_nil(*geom) || is_int_nil(*check)) {
*out = int_nil;
return MAL_SUCCEED;
}
@@ -3533,7 +3533,7 @@ wkbPointN(wkb **out, wkb **geom, int *n)
GEOSGeom new;
str err = MAL_SUCCEED;
- if (wkb_isnil(*geom) || is_int_nil(*n)) {
+ if (is_wkb_nil(*geom) || is_int_nil(*n)) {
if ((*out = wkbNULLcopy()) == NULL)
throw(MAL, "geom.PointN", SQLSTATE(HY001) MAL_MALLOC_FAIL);
return MAL_SUCCEED;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic