Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/generated/generated_temporal_udfs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,7 @@ void RegisterGenerated_meos_rgeo_accessor(ExtensionLoader &loader);
void RegisterGenerated_meos_rgeo_bbox_split(ExtensionLoader &loader);
void RegisterGenerated_meos_rgeo_comp_ever(ExtensionLoader &loader);
void RegisterGenerated_meos_rgeo_comp_temp(ExtensionLoader &loader);
void RegisterGenerated_meos_rgeo_constructor(ExtensionLoader &loader);
void RegisterGenerated_meos_rgeo_conversion(ExtensionLoader &loader);
void RegisterGenerated_meos_rgeo_dist(ExtensionLoader &loader);
void RegisterGenerated_meos_rgeo_inout(ExtensionLoader &loader);
Expand Down Expand Up @@ -519,6 +520,7 @@ void RegisterGeneratedTemporalUdfs(ExtensionLoader &loader) {
RegisterGenerated_meos_rgeo_bbox_split(loader);
RegisterGenerated_meos_rgeo_comp_ever(loader);
RegisterGenerated_meos_rgeo_comp_temp(loader);
RegisterGenerated_meos_rgeo_constructor(loader);
RegisterGenerated_meos_rgeo_conversion(loader);
RegisterGenerated_meos_rgeo_dist(loader);
RegisterGenerated_meos_rgeo_inout(loader);
Expand Down
15 changes: 15 additions & 0 deletions src/generated/generated_temporal_udfs_10.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3237,6 +3237,20 @@ static void Gen_trgeometry_to_tgeometry(DataChunk &args, ExpressionState &, Vect
});
}

static void Gen_trgeometry_geom(DataChunk &args, ExpressionState &state, Vector &result) {
EnsureMeosThreadInitialized();
UnaryExecutor::ExecuteWithNulls<string_t, string_t>(args.data[0], result, args.size(),
[&](string_t in, ValidityMask &mask, idx_t idx) -> string_t {
Temporal *t = BlobToTemporal(in);
GSERIALIZED * r = trgeometry_geom(t);
free(t);
if (!r) { mask.SetInvalid(idx); return string_t(); }
string_t out = GSerializedToGeometry(r, state, result);
free(r);
return out;
});
}


// ===== @ingroup meos_rgeo_rel_ever =====
static void Gen_econtains_geo_trgeometry(DataChunk &args, ExpressionState &, Vector &result) {
Expand Down Expand Up @@ -7437,6 +7451,7 @@ void RegisterGenerated_meos_rgeo_conversion(ExtensionLoader &loader) {
RegisterSerializedScalarFunction(loader, ScalarFunction("tpose", {TrgeometryTypes::trgeometry()}, PoseTypes::tpose(), Gen_trgeometry_to_tpose));
RegisterSerializedScalarFunction(loader, ScalarFunction("tgeompoint", {TrgeometryTypes::trgeometry()}, TgeompointType::tgeompoint(), Gen_trgeometry_to_tgeompoint));
RegisterSerializedScalarFunction(loader, ScalarFunction("tgeometry", {TrgeometryTypes::trgeometry()}, TGeometryTypes::tgeometry(), Gen_trgeometry_to_tgeometry));
RegisterSerializedScalarFunction(loader, ScalarFunction("geometry", {TrgeometryTypes::trgeometry()}, MobilityDuckGeometryType(), Gen_trgeometry_geom));
}

void RegisterGenerated_meos_rgeo_rel_ever(ExtensionLoader &loader) {
Expand Down
22 changes: 22 additions & 0 deletions src/generated/generated_temporal_udfs_3.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1777,6 +1777,24 @@ static void Gen_always_ne_tquadbin_tquadbin(DataChunk &args, ExpressionState &,
}


// ===== @ingroup meos_rgeo_constructor =====
static void Gen_geometry_tpose_to_trgeometry(DataChunk &args, ExpressionState &, Vector &result) {
EnsureMeosThreadInitialized();
BinaryExecutor::ExecuteWithNulls<string_t, string_t, string_t>(args.data[0], args.data[1], result, args.size(),
[&](string_t in_g, string_t in_t, ValidityMask &mask, idx_t idx) -> string_t {
Temporal *t = BlobToTemporal(in_t);
GSERIALIZED *gs = GeometryToGSerialized(in_g, tspatial_srid(t));
if (MEOS_FLAGS_GET_GEODETIC(t->flags)) {
GSERIALIZED *gs_geog = geom_to_geog(gs);
free(gs); gs = gs_geog;
}
Temporal *r = (Temporal *) geometry_tpose_to_trgeometry(gs, t);
free(t); free(gs);
return TemporalToBlobN(result, r, mask, idx);
});
}


// ===== @ingroup meos_setspan_bbox_split =====
static void Gen_set_spans(DataChunk &args, ExpressionState &, Vector &result) {
EnsureMeosThreadInitialized();
Expand Down Expand Up @@ -2491,6 +2509,10 @@ void RegisterGenerated_meos_quadbin_comp_ever(ExtensionLoader &loader) {
RegisterSerializedScalarFunction(loader, ScalarFunction("%<>", {QuadbinTypes::tquadbin(), QuadbinTypes::tquadbin()}, LogicalType::BOOLEAN, Gen_always_ne_tquadbin_tquadbin));
}

void RegisterGenerated_meos_rgeo_constructor(ExtensionLoader &loader) {
RegisterSerializedScalarFunction(loader, ScalarFunction("trgeometry", {MobilityDuckGeometryType(), PoseTypes::tpose()}, TrgeometryTypes::trgeometry(), Gen_geometry_tpose_to_trgeometry));
}

void RegisterGenerated_meos_setspan_bbox_split(ExtensionLoader &loader) {
RegisterSerializedScalarFunction(loader, ScalarFunction("spans", {SpansetTypes::intspanset()}, LogicalType::LIST(SpanTypes::intspan()), Gen_spanset_spans));
RegisterSerializedScalarFunction(loader, ScalarFunction("spans", {SpansetTypes::bigintspanset()}, LogicalType::LIST(SpanTypes::bigintspan()), Gen_spanset_spans));
Expand Down
24 changes: 24 additions & 0 deletions src/generated/generated_temporal_udfs_4.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2141,6 +2141,28 @@ static void Gen_jsonb_to_set(DataChunk &args, ExpressionState &, Vector &result)
});
}

static void Gen_jsonbset_to_textset(DataChunk &args, ExpressionState &, Vector &result) {
EnsureMeosThreadInitialized();
UnaryExecutor::ExecuteWithNulls<string_t, string_t>(args.data[0], result, args.size(),
[&](string_t in, ValidityMask &mask, idx_t idx) -> string_t {
Set *s = BlobToSet(in);
Set *r = jsonbset_to_textset(s);
free(s);
return SetToBlobN(result, r, mask, idx);
});
}

static void Gen_textset_to_jsonbset(DataChunk &args, ExpressionState &, Vector &result) {
EnsureMeosThreadInitialized();
UnaryExecutor::ExecuteWithNulls<string_t, string_t>(args.data[0], result, args.size(),
[&](string_t in, ValidityMask &mask, idx_t idx) -> string_t {
Set *s = BlobToSet(in);
Set *r = textset_to_jsonbset(s);
free(s);
return SetToBlobN(result, r, mask, idx);
});
}


// ===== @ingroup meos_json_set_json =====
static void Gen_jsonbset_delete_array(DataChunk &args, ExpressionState &, Vector &result) {
Expand Down Expand Up @@ -5434,6 +5456,8 @@ void RegisterGenerated_meos_h3_comp_temp(ExtensionLoader &loader) {

void RegisterGenerated_meos_json_set_conversion(ExtensionLoader &loader) {
RegisterSerializedScalarFunction(loader, ScalarFunction("set", {TJsonbTypes::jsonb()}, SetTypes::jsonbset(), Gen_jsonb_to_set));
RegisterSerializedScalarFunction(loader, ScalarFunction("textset", {SetTypes::jsonbset()}, SetTypes::textset(), Gen_jsonbset_to_textset));
RegisterSerializedScalarFunction(loader, ScalarFunction("jsonbset", {SetTypes::textset()}, SetTypes::jsonbset(), Gen_textset_to_jsonbset));
}

void RegisterGenerated_meos_json_set_json(ExtensionLoader &loader) {
Expand Down
2 changes: 1 addition & 1 deletion vcpkg_ports/meos/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
# libmeos recompile per build) and makes two runs of the same commit build different
# sources. A recorded SHA keeps builds reproducible and the cache warm between
# advances.
set(_MEOS_REF "ac8feb51dca1b83912a587fc236a042a1dfc3879")
set(_MEOS_REF "4e97a57b16da7a8616ce6534537fa31a8893cbb3")
message(STATUS "MEOS port: building MobilityDB at recorded ${_MEOS_REF}")

# FETCH_REF names the branch (always advertised) so the fetch works even when the
Expand Down
Loading