diff --git a/src/generated/generated_aggregates.cpp b/src/generated/generated_aggregates.cpp index 4b38d246..2dc9ae06 100644 --- a/src/generated/generated_aggregates.cpp +++ b/src/generated/generated_aggregates.cpp @@ -782,12 +782,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -938,6 +932,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } diff --git a/src/generated/generated_temporal_udfs_0.cpp b/src/generated/generated_temporal_udfs_0.cpp index 663db7ad..5171a4d9 100644 --- a/src/generated/generated_temporal_udfs_0.cpp +++ b/src/generated/generated_temporal_udfs_0.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } diff --git a/src/generated/generated_temporal_udfs_1.cpp b/src/generated/generated_temporal_udfs_1.cpp index d27535b7..47fb96eb 100644 --- a/src/generated/generated_temporal_udfs_1.cpp +++ b/src/generated/generated_temporal_udfs_1.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } diff --git a/src/generated/generated_temporal_udfs_10.cpp b/src/generated/generated_temporal_udfs_10.cpp index 68c62982..f48fce04 100644 --- a/src/generated/generated_temporal_udfs_10.cpp +++ b/src/generated/generated_temporal_udfs_10.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } diff --git a/src/generated/generated_temporal_udfs_11.cpp b/src/generated/generated_temporal_udfs_11.cpp index b7e8b34d..6443ade4 100644 --- a/src/generated/generated_temporal_udfs_11.cpp +++ b/src/generated/generated_temporal_udfs_11.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } diff --git a/src/generated/generated_temporal_udfs_12.cpp b/src/generated/generated_temporal_udfs_12.cpp index 8dbcb05c..a569e246 100644 --- a/src/generated/generated_temporal_udfs_12.cpp +++ b/src/generated/generated_temporal_udfs_12.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } diff --git a/src/generated/generated_temporal_udfs_13.cpp b/src/generated/generated_temporal_udfs_13.cpp index 37363feb..ca424a66 100644 --- a/src/generated/generated_temporal_udfs_13.cpp +++ b/src/generated/generated_temporal_udfs_13.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } diff --git a/src/generated/generated_temporal_udfs_14.cpp b/src/generated/generated_temporal_udfs_14.cpp index 3af0cba5..f41f7c1f 100644 --- a/src/generated/generated_temporal_udfs_14.cpp +++ b/src/generated/generated_temporal_udfs_14.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } @@ -3815,6 +3830,92 @@ static void Gen_raster_slope_v10(DataChunk &args, ExpressionState &, Vector &res } static void Gen_raster_tpi(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 4; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[3]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Raster *p0 = BlobToRaster(in0[i]); + std::string s2 = in2[i].GetString(); + Raster *r = raster_tpi(p0, in1[i], NULL, s2.c_str(), in3[i]); + free(p0); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = RasterToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_raster_tpi_v1(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 3; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Raster *p0 = BlobToRaster(in0[i]); + std::string s2 = in2[i].GetString(); + Raster *r = raster_tpi(p0, in1[i], NULL, s2.c_str(), false); + free(p0); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = RasterToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_raster_tpi_v2(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 2; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Raster *p0 = BlobToRaster(in0[i]); + Raster *r = raster_tpi(p0, in1[i], NULL, "32BF", false); + free(p0); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = RasterToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_raster_tpi_v3(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 1; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Raster *p0 = BlobToRaster(in0[i]); + Raster *r = raster_tpi(p0, 1, NULL, "32BF", false); + free(p0); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = RasterToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_raster_tpi_v4(DataChunk &args, ExpressionState &, Vector &result) { EnsureMeosThreadInitialized(); const idx_t rows = args.size(); for (idx_t c = 0; c < 5; c++) args.data[c].Flatten(rows); @@ -3843,7 +3944,7 @@ static void Gen_raster_tpi(DataChunk &args, ExpressionState &, Vector &result) { if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); } -static void Gen_raster_tpi_v1(DataChunk &args, ExpressionState &, Vector &result) { +static void Gen_raster_tpi_v5(DataChunk &args, ExpressionState &, Vector &result) { EnsureMeosThreadInitialized(); const idx_t rows = args.size(); for (idx_t c = 0; c < 4; c++) args.data[c].Flatten(rows); @@ -3870,7 +3971,7 @@ static void Gen_raster_tpi_v1(DataChunk &args, ExpressionState &, Vector &result if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); } -static void Gen_raster_tpi_v2(DataChunk &args, ExpressionState &, Vector &result) { +static void Gen_raster_tpi_v6(DataChunk &args, ExpressionState &, Vector &result) { EnsureMeosThreadInitialized(); const idx_t rows = args.size(); for (idx_t c = 0; c < 3; c++) args.data[c].Flatten(rows); @@ -3895,6 +3996,92 @@ static void Gen_raster_tpi_v2(DataChunk &args, ExpressionState &, Vector &result } static void Gen_raster_tri(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 4; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[3]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Raster *p0 = BlobToRaster(in0[i]); + std::string s2 = in2[i].GetString(); + Raster *r = raster_tri(p0, in1[i], NULL, s2.c_str(), in3[i]); + free(p0); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = RasterToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_raster_tri_v1(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 3; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Raster *p0 = BlobToRaster(in0[i]); + std::string s2 = in2[i].GetString(); + Raster *r = raster_tri(p0, in1[i], NULL, s2.c_str(), false); + free(p0); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = RasterToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_raster_tri_v2(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 2; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Raster *p0 = BlobToRaster(in0[i]); + Raster *r = raster_tri(p0, in1[i], NULL, "32BF", false); + free(p0); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = RasterToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_raster_tri_v3(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 1; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Raster *p0 = BlobToRaster(in0[i]); + Raster *r = raster_tri(p0, 1, NULL, "32BF", false); + free(p0); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = RasterToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_raster_tri_v4(DataChunk &args, ExpressionState &, Vector &result) { EnsureMeosThreadInitialized(); const idx_t rows = args.size(); for (idx_t c = 0; c < 5; c++) args.data[c].Flatten(rows); @@ -3923,7 +4110,7 @@ static void Gen_raster_tri(DataChunk &args, ExpressionState &, Vector &result) { if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); } -static void Gen_raster_tri_v1(DataChunk &args, ExpressionState &, Vector &result) { +static void Gen_raster_tri_v5(DataChunk &args, ExpressionState &, Vector &result) { EnsureMeosThreadInitialized(); const idx_t rows = args.size(); for (idx_t c = 0; c < 4; c++) args.data[c].Flatten(rows); @@ -3950,7 +4137,7 @@ static void Gen_raster_tri_v1(DataChunk &args, ExpressionState &, Vector &result if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); } -static void Gen_raster_tri_v2(DataChunk &args, ExpressionState &, Vector &result) { +static void Gen_raster_tri_v6(DataChunk &args, ExpressionState &, Vector &result) { EnsureMeosThreadInitialized(); const idx_t rows = args.size(); for (idx_t c = 0; c < 3; c++) args.data[c].Flatten(rows); @@ -5010,12 +5197,20 @@ void RegisterGenerated_meos_raster_base_transf(ExtensionLoader &loader) { RegisterSerializedScalarFunction(loader, ScalarFunction("slope", {RasterTypes::raster(), LogicalType::INTEGER, RasterTypes::raster(), LogicalType::VARCHAR, LogicalType::VARCHAR}, RasterTypes::raster(), Gen_raster_slope_v8)); RegisterSerializedScalarFunction(loader, ScalarFunction("slope", {RasterTypes::raster(), LogicalType::INTEGER, RasterTypes::raster(), LogicalType::VARCHAR}, RasterTypes::raster(), Gen_raster_slope_v9)); RegisterSerializedScalarFunction(loader, ScalarFunction("slope", {RasterTypes::raster(), LogicalType::INTEGER, RasterTypes::raster()}, RasterTypes::raster(), Gen_raster_slope_v10)); - RegisterSerializedScalarFunction(loader, ScalarFunction("tpi", {RasterTypes::raster(), LogicalType::INTEGER, RasterTypes::raster(), LogicalType::VARCHAR, LogicalType::BOOLEAN}, RasterTypes::raster(), Gen_raster_tpi)); - RegisterSerializedScalarFunction(loader, ScalarFunction("tpi", {RasterTypes::raster(), LogicalType::INTEGER, RasterTypes::raster(), LogicalType::VARCHAR}, RasterTypes::raster(), Gen_raster_tpi_v1)); - RegisterSerializedScalarFunction(loader, ScalarFunction("tpi", {RasterTypes::raster(), LogicalType::INTEGER, RasterTypes::raster()}, RasterTypes::raster(), Gen_raster_tpi_v2)); - RegisterSerializedScalarFunction(loader, ScalarFunction("tri", {RasterTypes::raster(), LogicalType::INTEGER, RasterTypes::raster(), LogicalType::VARCHAR, LogicalType::BOOLEAN}, RasterTypes::raster(), Gen_raster_tri)); - RegisterSerializedScalarFunction(loader, ScalarFunction("tri", {RasterTypes::raster(), LogicalType::INTEGER, RasterTypes::raster(), LogicalType::VARCHAR}, RasterTypes::raster(), Gen_raster_tri_v1)); - RegisterSerializedScalarFunction(loader, ScalarFunction("tri", {RasterTypes::raster(), LogicalType::INTEGER, RasterTypes::raster()}, RasterTypes::raster(), Gen_raster_tri_v2)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tpi", {RasterTypes::raster(), LogicalType::INTEGER, LogicalType::VARCHAR, LogicalType::BOOLEAN}, RasterTypes::raster(), Gen_raster_tpi)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tpi", {RasterTypes::raster(), LogicalType::INTEGER, LogicalType::VARCHAR}, RasterTypes::raster(), Gen_raster_tpi_v1)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tpi", {RasterTypes::raster(), LogicalType::INTEGER}, RasterTypes::raster(), Gen_raster_tpi_v2)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tpi", {RasterTypes::raster()}, RasterTypes::raster(), Gen_raster_tpi_v3)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tpi", {RasterTypes::raster(), LogicalType::INTEGER, RasterTypes::raster(), LogicalType::VARCHAR, LogicalType::BOOLEAN}, RasterTypes::raster(), Gen_raster_tpi_v4)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tpi", {RasterTypes::raster(), LogicalType::INTEGER, RasterTypes::raster(), LogicalType::VARCHAR}, RasterTypes::raster(), Gen_raster_tpi_v5)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tpi", {RasterTypes::raster(), LogicalType::INTEGER, RasterTypes::raster()}, RasterTypes::raster(), Gen_raster_tpi_v6)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tri", {RasterTypes::raster(), LogicalType::INTEGER, LogicalType::VARCHAR, LogicalType::BOOLEAN}, RasterTypes::raster(), Gen_raster_tri)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tri", {RasterTypes::raster(), LogicalType::INTEGER, LogicalType::VARCHAR}, RasterTypes::raster(), Gen_raster_tri_v1)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tri", {RasterTypes::raster(), LogicalType::INTEGER}, RasterTypes::raster(), Gen_raster_tri_v2)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tri", {RasterTypes::raster()}, RasterTypes::raster(), Gen_raster_tri_v3)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tri", {RasterTypes::raster(), LogicalType::INTEGER, RasterTypes::raster(), LogicalType::VARCHAR, LogicalType::BOOLEAN}, RasterTypes::raster(), Gen_raster_tri_v4)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tri", {RasterTypes::raster(), LogicalType::INTEGER, RasterTypes::raster(), LogicalType::VARCHAR}, RasterTypes::raster(), Gen_raster_tri_v5)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tri", {RasterTypes::raster(), LogicalType::INTEGER, RasterTypes::raster()}, RasterTypes::raster(), Gen_raster_tri_v6)); { ScalarFunction sf = ScalarFunction("mapAlgebra", {RasterTypes::raster(), LogicalType::INTEGER, LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR, RasterTypes::raster(), LogicalType::INTEGER, LogicalType::INTEGER}, RasterTypes::raster(), Gen_raster_map_algebra); sf.null_handling = FunctionNullHandling::SPECIAL_HANDLING; RegisterSerializedScalarFunction(loader, sf); } { ScalarFunction sf = ScalarFunction("mapAlgebra", {RasterTypes::raster(), LogicalType::INTEGER, LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR, RasterTypes::raster(), LogicalType::INTEGER}, RasterTypes::raster(), Gen_raster_map_algebra_v1); sf.null_handling = FunctionNullHandling::SPECIAL_HANDLING; RegisterSerializedScalarFunction(loader, sf); } { ScalarFunction sf = ScalarFunction("mapAlgebra", {RasterTypes::raster(), LogicalType::INTEGER, LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR, RasterTypes::raster()}, RasterTypes::raster(), Gen_raster_map_algebra_v2); sf.null_handling = FunctionNullHandling::SPECIAL_HANDLING; RegisterSerializedScalarFunction(loader, sf); } diff --git a/src/generated/generated_temporal_udfs_15.cpp b/src/generated/generated_temporal_udfs_15.cpp index 0b300959..d70e3ccb 100644 --- a/src/generated/generated_temporal_udfs_15.cpp +++ b/src/generated/generated_temporal_udfs_15.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } @@ -1377,6 +1392,520 @@ static void Gen_geo_tstzspan_to_stbox(DataChunk &args, ExpressionState &state, V if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); } +static void Gen_stbox_make_geodetic_hasx_hasz_s_zmax_zmin(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 5; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + bool valid = true; + for (idx_t c = 0; c < 5; c++) + if (!FlatVector::Validity(args.data[c]).RowIsValid(i)) { valid = false; break; } + if (!valid) { outv.SetInvalid(i); continue; } + STBox *r = stbox_make_geodetic_hasx_hasz_s_zmax_zmin(in0[i], in1[i], in2[i], in3[i], in4[i]); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } +} + +static void Gen_stbox_make_geodetic_hasx_hasz_s_zmax_zmin_a4(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 4; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + bool valid = true; + for (idx_t c = 0; c < 4; c++) + if (!FlatVector::Validity(args.data[c]).RowIsValid(i)) { valid = false; break; } + if (!valid) { outv.SetInvalid(i); continue; } + STBox *r = stbox_make_geodetic_hasx_hasz_s_zmax_zmin(in0[i], in1[i], in2[i], in3[i], 0); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } +} + +static void Gen_stbox_make_geodetic_false_hasx_true_hasz_true_s_null(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 7; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto in5 = FlatVector::GetData(args.data[5]); + auto in6 = FlatVector::GetData(args.data[6]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + bool valid = true; + for (idx_t c = 0; c < 7; c++) + if (!FlatVector::Validity(args.data[c]).RowIsValid(i)) { valid = false; break; } + if (!valid) { outv.SetInvalid(i); continue; } + STBox *r = stbox_make_geodetic_false_hasx_true_hasz_true_s_null(in0[i], in1[i], in2[i], in3[i], in4[i], in5[i], in6[i]); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } +} + +static void Gen_stbox_make_geodetic_false_hasx_true_hasz_true_s_null_a6(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 6; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto in5 = FlatVector::GetData(args.data[5]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + bool valid = true; + for (idx_t c = 0; c < 6; c++) + if (!FlatVector::Validity(args.data[c]).RowIsValid(i)) { valid = false; break; } + if (!valid) { outv.SetInvalid(i); continue; } + STBox *r = stbox_make_geodetic_false_hasx_true_hasz_true_s_null(in0[i], in1[i], in2[i], in3[i], in4[i], in5[i], 0); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } +} + +static void Gen_stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(DataChunk &args, ExpressionState &state, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 1; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + bool valid = true; + for (idx_t c = 0; c < 1; c++) + if (!FlatVector::Validity(args.data[c]).RowIsValid(i)) { valid = false; break; } + if (!valid) { outv.SetInvalid(i); continue; } + Span *x0 = BlobToSpan(in0[i]); + STBox *r = stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(x0); + free(x0); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_stbox_make_geodetic_true_hasx_true_hasz_true_s_null(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 7; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto in5 = FlatVector::GetData(args.data[5]); + auto in6 = FlatVector::GetData(args.data[6]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + bool valid = true; + for (idx_t c = 0; c < 7; c++) + if (!FlatVector::Validity(args.data[c]).RowIsValid(i)) { valid = false; break; } + if (!valid) { outv.SetInvalid(i); continue; } + STBox *r = stbox_make_geodetic_true_hasx_true_hasz_true_s_null(in0[i], in1[i], in2[i], in3[i], in4[i], in5[i], in6[i]); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } +} + +static void Gen_stbox_make_geodetic_true_hasx_true_hasz_true_s_null_a6(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 6; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto in5 = FlatVector::GetData(args.data[5]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + bool valid = true; + for (idx_t c = 0; c < 6; c++) + if (!FlatVector::Validity(args.data[c]).RowIsValid(i)) { valid = false; break; } + if (!valid) { outv.SetInvalid(i); continue; } + STBox *r = stbox_make_geodetic_true_hasx_true_hasz_true_s_null(in0[i], in1[i], in2[i], in3[i], in4[i], in5[i], 4326); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } +} + +static void Gen_stbox_make_geodetic_hasx_hasz_zmax_zmin(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 6; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto in5 = FlatVector::GetData(args.data[5]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[3]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[4]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[5]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Span *p4 = BlobToSpan(in4[i]); + STBox *r = stbox_make_geodetic_hasx_hasz_zmax_zmin(in5[i], in0[i], in2[i], in1[i], in3[i], p4); + free(p4); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_stbox_make_geodetic_hasx_hasz_zmax_zmin_v1(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 5; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[3]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[4]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Span *p4 = BlobToSpan(in4[i]); + STBox *r = stbox_make_geodetic_hasx_hasz_zmax_zmin(0, in0[i], in2[i], in1[i], in3[i], p4); + free(p4); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_stbox_make_geodetic_hasx_hasz_zmax_zmin_v2(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 6; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto in5 = FlatVector::GetData(args.data[5]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[3]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[4]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[5]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Span *p4 = BlobToSpan(in4[i]); + STBox *r = stbox_make_geodetic_hasx_hasz_zmax_zmin(in5[i], in0[i], in2[i], in1[i], in3[i], p4); + free(p4); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_stbox_make_geodetic_hasx_hasz_zmax_zmin_v3(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 5; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[3]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[4]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Span *p4 = BlobToSpan(in4[i]); + STBox *r = stbox_make_geodetic_hasx_hasz_zmax_zmin(0, in0[i], in2[i], in1[i], in3[i], p4); + free(p4); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_stbox_make_geodetic_false_hasx_true_hasz_true(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 8; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto in5 = FlatVector::GetData(args.data[5]); + auto in6 = FlatVector::GetData(args.data[6]); + auto in7 = FlatVector::GetData(args.data[7]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[3]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[4]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[5]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[6]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[7]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Span *p6 = BlobToSpan(in6[i]); + STBox *r = stbox_make_geodetic_false_hasx_true_hasz_true(in7[i], in0[i], in3[i], in1[i], in4[i], in2[i], in5[i], p6); + free(p6); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_stbox_make_geodetic_false_hasx_true_hasz_true_v1(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 7; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto in5 = FlatVector::GetData(args.data[5]); + auto in6 = FlatVector::GetData(args.data[6]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[3]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[4]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[5]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[6]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Span *p6 = BlobToSpan(in6[i]); + STBox *r = stbox_make_geodetic_false_hasx_true_hasz_true(0, in0[i], in3[i], in1[i], in4[i], in2[i], in5[i], p6); + free(p6); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_stbox_make_geodetic_false_hasx_true_hasz_true_v2(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 8; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto in5 = FlatVector::GetData(args.data[5]); + auto in6 = FlatVector::GetData(args.data[6]); + auto in7 = FlatVector::GetData(args.data[7]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[3]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[4]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[5]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[6]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[7]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Span *p6 = BlobToSpan(in6[i]); + STBox *r = stbox_make_geodetic_false_hasx_true_hasz_true(in7[i], in0[i], in3[i], in1[i], in4[i], in2[i], in5[i], p6); + free(p6); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_stbox_make_geodetic_false_hasx_true_hasz_true_v3(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 7; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto in5 = FlatVector::GetData(args.data[5]); + auto in6 = FlatVector::GetData(args.data[6]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[3]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[4]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[5]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[6]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Span *p6 = BlobToSpan(in6[i]); + STBox *r = stbox_make_geodetic_false_hasx_true_hasz_true(0, in0[i], in3[i], in1[i], in4[i], in2[i], in5[i], p6); + free(p6); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_stbox_make_geodetic_true_hasx_true_hasz_true(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 8; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto in5 = FlatVector::GetData(args.data[5]); + auto in6 = FlatVector::GetData(args.data[6]); + auto in7 = FlatVector::GetData(args.data[7]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[3]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[4]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[5]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[6]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[7]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Span *p6 = BlobToSpan(in6[i]); + STBox *r = stbox_make_geodetic_true_hasx_true_hasz_true(in7[i], in0[i], in3[i], in1[i], in4[i], in2[i], in5[i], p6); + free(p6); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_stbox_make_geodetic_true_hasx_true_hasz_true_v1(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 7; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto in5 = FlatVector::GetData(args.data[5]); + auto in6 = FlatVector::GetData(args.data[6]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[3]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[4]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[5]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[6]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Span *p6 = BlobToSpan(in6[i]); + STBox *r = stbox_make_geodetic_true_hasx_true_hasz_true(4326, in0[i], in3[i], in1[i], in4[i], in2[i], in5[i], p6); + free(p6); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_stbox_make_geodetic_true_hasx_true_hasz_true_v2(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 8; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto in5 = FlatVector::GetData(args.data[5]); + auto in6 = FlatVector::GetData(args.data[6]); + auto in7 = FlatVector::GetData(args.data[7]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[3]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[4]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[5]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[6]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[7]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Span *p6 = BlobToSpan(in6[i]); + STBox *r = stbox_make_geodetic_true_hasx_true_hasz_true(in7[i], in0[i], in3[i], in1[i], in4[i], in2[i], in5[i], p6); + free(p6); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + +static void Gen_stbox_make_geodetic_true_hasx_true_hasz_true_v3(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + const idx_t rows = args.size(); + for (idx_t c = 0; c < 7; c++) args.data[c].Flatten(rows); + auto in0 = FlatVector::GetData(args.data[0]); + auto in1 = FlatVector::GetData(args.data[1]); + auto in2 = FlatVector::GetData(args.data[2]); + auto in3 = FlatVector::GetData(args.data[3]); + auto in4 = FlatVector::GetData(args.data[4]); + auto in5 = FlatVector::GetData(args.data[5]); + auto in6 = FlatVector::GetData(args.data[6]); + auto out = FlatVector::GetData(result); + auto &outv = FlatVector::Validity(result); + for (idx_t i = 0; i < rows; i++) { + if (!FlatVector::Validity(args.data[0]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[1]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[2]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[3]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[4]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[5]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + if (!FlatVector::Validity(args.data[6]).RowIsValid(i)) { outv.SetInvalid(i); continue; } + Span *p6 = BlobToSpan(in6[i]); + STBox *r = stbox_make_geodetic_true_hasx_true_hasz_true(4326, in0[i], in3[i], in1[i], in4[i], in2[i], in5[i], p6); + free(p6); + if (!r) { outv.SetInvalid(i); continue; } + out[i] = StboxToBlob(result, r); + } + if (rows == 1) result.SetVectorType(VectorType::CONSTANT_VECTOR); +} + // ===== @ingroup meos_h3_base_inspection ===== static void Gen_h3index_get_resolution(DataChunk &args, ExpressionState &, Vector &result) { @@ -4612,28 +5141,6 @@ static void Gen_temporal_shift_scale_time(DataChunk &args, ExpressionState &, Ve }); } -static void Gen_temporal_shift_scale_time_duration(DataChunk &args, ExpressionState &, Vector &result) { - EnsureMeosThreadInitialized(); - BinaryExecutor::ExecuteWithNulls(args.data[0], args.data[1], result, args.size(), - [&](string_t in, interval_t a2, ValidityMask &mask, idx_t idx) -> string_t { - Temporal *t = BlobToTemporal(in); - Temporal *r = temporal_shift_scale_time_duration(t, MeosIntervalArg(a2)); - free(t); - return TemporalToBlobN(result, r, mask, idx); - }); -} - -static void Gen_temporal_shift_scale_time_shift(DataChunk &args, ExpressionState &, Vector &result) { - EnsureMeosThreadInitialized(); - BinaryExecutor::ExecuteWithNulls(args.data[0], args.data[1], result, args.size(), - [&](string_t in, interval_t a2, ValidityMask &mask, idx_t idx) -> string_t { - Temporal *t = BlobToTemporal(in); - Temporal *r = temporal_shift_scale_time_shift(t, MeosIntervalArg(a2)); - free(t); - return TemporalToBlobN(result, r, mask, idx); - }); -} - static void Gen_temporal_shift_time(DataChunk &args, ExpressionState &, Vector &result) { EnsureMeosThreadInitialized(); BinaryExecutor::ExecuteWithNulls(args.data[0], args.data[1], result, args.size(), @@ -4892,6 +5399,25 @@ void RegisterGenerated_meos_cbuffer_transf(ExtensionLoader &loader) { void RegisterGenerated_meos_geo_box_constructor(ExtensionLoader &loader) { RegisterSerializedScalarFunction(loader, ScalarFunction("stbox", {MobilityDuckGeometryType(), LogicalType::TIMESTAMP_TZ}, StboxType::stbox(), Gen_geo_timestamptz_to_stbox)); RegisterSerializedScalarFunction(loader, ScalarFunction("stbox", {MobilityDuckGeometryType(), SpanTypes::tstzspan()}, StboxType::stbox(), Gen_geo_tstzspan_to_stbox)); + RegisterSerializedScalarFunction(loader, ScalarFunction("stboxX", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::INTEGER}, StboxType::stbox(), Gen_stbox_make_geodetic_hasx_hasz_s_zmax_zmin)); + RegisterSerializedScalarFunction(loader, ScalarFunction("stboxX", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE}, StboxType::stbox(), Gen_stbox_make_geodetic_hasx_hasz_s_zmax_zmin_a4)); + RegisterSerializedScalarFunction(loader, ScalarFunction("stboxZ", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::INTEGER}, StboxType::stbox(), Gen_stbox_make_geodetic_false_hasx_true_hasz_true_s_null)); + RegisterSerializedScalarFunction(loader, ScalarFunction("stboxZ", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE}, StboxType::stbox(), Gen_stbox_make_geodetic_false_hasx_true_hasz_true_s_null_a6)); + RegisterSerializedScalarFunction(loader, ScalarFunction("stboxT", {SpanTypes::tstzspan()}, StboxType::stbox(), Gen_stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin)); + RegisterSerializedScalarFunction(loader, ScalarFunction("geodstboxZ", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::INTEGER}, StboxType::stbox(), Gen_stbox_make_geodetic_true_hasx_true_hasz_true_s_null)); + RegisterSerializedScalarFunction(loader, ScalarFunction("geodstboxZ", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE}, StboxType::stbox(), Gen_stbox_make_geodetic_true_hasx_true_hasz_true_s_null_a6)); + RegisterSerializedScalarFunction(loader, ScalarFunction("stboxXT", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::TIMESTAMP_TZ, LogicalType::INTEGER}, StboxType::stbox(), Gen_stbox_make_geodetic_hasx_hasz_zmax_zmin)); + RegisterSerializedScalarFunction(loader, ScalarFunction("stboxXT", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::TIMESTAMP_TZ}, StboxType::stbox(), Gen_stbox_make_geodetic_hasx_hasz_zmax_zmin_v1)); + RegisterSerializedScalarFunction(loader, ScalarFunction("stboxXT", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, SpanTypes::tstzspan(), LogicalType::INTEGER}, StboxType::stbox(), Gen_stbox_make_geodetic_hasx_hasz_zmax_zmin_v2)); + RegisterSerializedScalarFunction(loader, ScalarFunction("stboxXT", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, SpanTypes::tstzspan()}, StboxType::stbox(), Gen_stbox_make_geodetic_hasx_hasz_zmax_zmin_v3)); + RegisterSerializedScalarFunction(loader, ScalarFunction("stboxZT", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::TIMESTAMP_TZ, LogicalType::INTEGER}, StboxType::stbox(), Gen_stbox_make_geodetic_false_hasx_true_hasz_true)); + RegisterSerializedScalarFunction(loader, ScalarFunction("stboxZT", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::TIMESTAMP_TZ}, StboxType::stbox(), Gen_stbox_make_geodetic_false_hasx_true_hasz_true_v1)); + RegisterSerializedScalarFunction(loader, ScalarFunction("stboxZT", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, SpanTypes::tstzspan(), LogicalType::INTEGER}, StboxType::stbox(), Gen_stbox_make_geodetic_false_hasx_true_hasz_true_v2)); + RegisterSerializedScalarFunction(loader, ScalarFunction("stboxZT", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, SpanTypes::tstzspan()}, StboxType::stbox(), Gen_stbox_make_geodetic_false_hasx_true_hasz_true_v3)); + RegisterSerializedScalarFunction(loader, ScalarFunction("geodstboxZT", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::TIMESTAMP_TZ, LogicalType::INTEGER}, StboxType::stbox(), Gen_stbox_make_geodetic_true_hasx_true_hasz_true)); + RegisterSerializedScalarFunction(loader, ScalarFunction("geodstboxZT", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::TIMESTAMP_TZ}, StboxType::stbox(), Gen_stbox_make_geodetic_true_hasx_true_hasz_true_v1)); + RegisterSerializedScalarFunction(loader, ScalarFunction("geodstboxZT", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, SpanTypes::tstzspan(), LogicalType::INTEGER}, StboxType::stbox(), Gen_stbox_make_geodetic_true_hasx_true_hasz_true_v2)); + RegisterSerializedScalarFunction(loader, ScalarFunction("geodstboxZT", {LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, SpanTypes::tstzspan()}, StboxType::stbox(), Gen_stbox_make_geodetic_true_hasx_true_hasz_true_v3)); } void RegisterGenerated_meos_h3_base_inspection(ExtensionLoader &loader) { @@ -5318,46 +5844,6 @@ void RegisterGenerated_meos_temporal_transf(ExtensionLoader &loader) { RegisterSerializedScalarFunction(loader, ScalarFunction("shiftScaleTime", {PoseTypes::tpose(), LogicalType::INTERVAL, LogicalType::INTERVAL}, PoseTypes::tpose(), Gen_temporal_shift_scale_time)); RegisterSerializedScalarFunction(loader, ScalarFunction("shiftScaleTime", {TrgeometryTypes::trgeometry(), LogicalType::INTERVAL, LogicalType::INTERVAL}, TrgeometryTypes::trgeometry(), Gen_temporal_shift_scale_time)); RegisterSerializedScalarFunction(loader, ScalarFunction("shiftScaleTime", {PosechainTypes::tposechain(), LogicalType::INTERVAL, LogicalType::INTERVAL}, PosechainTypes::tposechain(), Gen_temporal_shift_scale_time)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TemporalTypes::tint(), LogicalType::INTERVAL}, TemporalTypes::tint(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TemporalTypes::tbigint(), LogicalType::INTERVAL}, TemporalTypes::tbigint(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TemporalTypes::tbool(), LogicalType::INTERVAL}, TemporalTypes::tbool(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TemporalTypes::tfloat(), LogicalType::INTERVAL}, TemporalTypes::tfloat(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TemporalTypes::ttext(), LogicalType::INTERVAL}, TemporalTypes::ttext(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TgeompointType::tgeompoint(), LogicalType::INTERVAL}, TgeompointType::tgeompoint(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TgeogpointType::tgeogpoint(), LogicalType::INTERVAL}, TgeogpointType::tgeogpoint(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TGeometryTypes::tgeometry(), LogicalType::INTERVAL}, TGeometryTypes::tgeometry(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TGeographyTypes::tgeography(), LogicalType::INTERVAL}, TGeographyTypes::tgeography(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {CbufferTypes::tcbuffer(), LogicalType::INTERVAL}, CbufferTypes::tcbuffer(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {H3indexTypes::th3index(), LogicalType::INTERVAL}, H3indexTypes::th3index(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {QuadbinTypes::tquadbin(), LogicalType::INTERVAL}, QuadbinTypes::tquadbin(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {S2cellTypes::ts2cell(), LogicalType::INTERVAL}, S2cellTypes::ts2cell(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TJsonbTypes::tjsonb(), LogicalType::INTERVAL}, TJsonbTypes::tjsonb(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TPcpointTypes::tpcpoint(), LogicalType::INTERVAL}, TPcpointTypes::tpcpoint(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TPcpatchTypes::tpcpatch(), LogicalType::INTERVAL}, TPcpatchTypes::tpcpatch(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {NpointTypes::tnpoint(), LogicalType::INTERVAL}, NpointTypes::tnpoint(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {PoseTypes::tpose(), LogicalType::INTERVAL}, PoseTypes::tpose(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TrgeometryTypes::trgeometry(), LogicalType::INTERVAL}, TrgeometryTypes::trgeometry(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {PosechainTypes::tposechain(), LogicalType::INTERVAL}, PosechainTypes::tposechain(), Gen_temporal_shift_scale_time_duration)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {TemporalTypes::tint(), LogicalType::INTERVAL}, TemporalTypes::tint(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {TemporalTypes::tbigint(), LogicalType::INTERVAL}, TemporalTypes::tbigint(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {TemporalTypes::tbool(), LogicalType::INTERVAL}, TemporalTypes::tbool(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {TemporalTypes::tfloat(), LogicalType::INTERVAL}, TemporalTypes::tfloat(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {TemporalTypes::ttext(), LogicalType::INTERVAL}, TemporalTypes::ttext(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {TgeompointType::tgeompoint(), LogicalType::INTERVAL}, TgeompointType::tgeompoint(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {TgeogpointType::tgeogpoint(), LogicalType::INTERVAL}, TgeogpointType::tgeogpoint(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {TGeometryTypes::tgeometry(), LogicalType::INTERVAL}, TGeometryTypes::tgeometry(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {TGeographyTypes::tgeography(), LogicalType::INTERVAL}, TGeographyTypes::tgeography(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {CbufferTypes::tcbuffer(), LogicalType::INTERVAL}, CbufferTypes::tcbuffer(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {H3indexTypes::th3index(), LogicalType::INTERVAL}, H3indexTypes::th3index(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {QuadbinTypes::tquadbin(), LogicalType::INTERVAL}, QuadbinTypes::tquadbin(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {S2cellTypes::ts2cell(), LogicalType::INTERVAL}, S2cellTypes::ts2cell(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {TJsonbTypes::tjsonb(), LogicalType::INTERVAL}, TJsonbTypes::tjsonb(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {TPcpointTypes::tpcpoint(), LogicalType::INTERVAL}, TPcpointTypes::tpcpoint(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {TPcpatchTypes::tpcpatch(), LogicalType::INTERVAL}, TPcpatchTypes::tpcpatch(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {NpointTypes::tnpoint(), LogicalType::INTERVAL}, NpointTypes::tnpoint(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {PoseTypes::tpose(), LogicalType::INTERVAL}, PoseTypes::tpose(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {TrgeometryTypes::trgeometry(), LogicalType::INTERVAL}, TrgeometryTypes::trgeometry(), Gen_temporal_shift_scale_time_shift)); - RegisterSerializedScalarFunction(loader, ScalarFunction("scaleTime", {PosechainTypes::tposechain(), LogicalType::INTERVAL}, PosechainTypes::tposechain(), Gen_temporal_shift_scale_time_shift)); RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TemporalTypes::tint(), LogicalType::INTERVAL}, TemporalTypes::tint(), Gen_temporal_shift_time)); RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TemporalTypes::tbigint(), LogicalType::INTERVAL}, TemporalTypes::tbigint(), Gen_temporal_shift_time)); RegisterSerializedScalarFunction(loader, ScalarFunction("shiftTime", {TemporalTypes::tbool(), LogicalType::INTERVAL}, TemporalTypes::tbool(), Gen_temporal_shift_time)); diff --git a/src/generated/generated_temporal_udfs_2.cpp b/src/generated/generated_temporal_udfs_2.cpp index 6fda3ed1..1f3ec369 100644 --- a/src/generated/generated_temporal_udfs_2.cpp +++ b/src/generated/generated_temporal_udfs_2.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } @@ -2458,6 +2473,18 @@ static void Gen_teq_tnpoint_npoint(DataChunk &args, ExpressionState &, Vector &r }); } +static void Gen_teq_tnpoint_npoint_rev(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + BinaryExecutor::ExecuteWithNulls(args.data[0], args.data[1], result, args.size(), + [&](string_t a2, string_t in, ValidityMask &mask, idx_t idx) -> string_t { + Temporal *t = BlobToTemporal(in); + Npoint *a2p = BlobToNpoint(a2); + Temporal *r = teq_tnpoint_npoint(t, a2p); + free(a2p); free(t); + return TemporalToBlobN(result, r, mask, idx); + }); +} + static void Gen_tne_tnpoint_npoint(DataChunk &args, ExpressionState &, Vector &result) { EnsureMeosThreadInitialized(); BinaryExecutor::ExecuteWithNulls(args.data[0], args.data[1], result, args.size(), @@ -2470,6 +2497,18 @@ static void Gen_tne_tnpoint_npoint(DataChunk &args, ExpressionState &, Vector &r }); } +static void Gen_tne_tnpoint_npoint_rev(DataChunk &args, ExpressionState &, Vector &result) { + EnsureMeosThreadInitialized(); + BinaryExecutor::ExecuteWithNulls(args.data[0], args.data[1], result, args.size(), + [&](string_t a2, string_t in, ValidityMask &mask, idx_t idx) -> string_t { + Temporal *t = BlobToTemporal(in); + Npoint *a2p = BlobToNpoint(a2); + Temporal *r = tne_tnpoint_npoint(t, a2p); + free(a2p); free(t); + return TemporalToBlobN(result, r, mask, idx); + }); +} + // ===== @ingroup meos_pointcloud_base_comp ===== static void Gen_pcpoint_hash(DataChunk &args, ExpressionState &, Vector &result) { @@ -5776,7 +5815,9 @@ void RegisterGenerated_meos_npoint_base_accessor(ExtensionLoader &loader) { void RegisterGenerated_meos_npoint_comp_temp(ExtensionLoader &loader) { RegisterSerializedScalarFunction(loader, ScalarFunction("tEqual", {NpointTypes::tnpoint(), NpointTypes::npoint()}, TemporalTypes::tbool(), Gen_teq_tnpoint_npoint)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tEqual", {NpointTypes::npoint(), NpointTypes::tnpoint()}, TemporalTypes::tbool(), Gen_teq_tnpoint_npoint_rev)); RegisterSerializedScalarFunction(loader, ScalarFunction("tNotEqual", {NpointTypes::tnpoint(), NpointTypes::npoint()}, TemporalTypes::tbool(), Gen_tne_tnpoint_npoint)); + RegisterSerializedScalarFunction(loader, ScalarFunction("tNotEqual", {NpointTypes::npoint(), NpointTypes::tnpoint()}, TemporalTypes::tbool(), Gen_tne_tnpoint_npoint_rev)); } void RegisterGenerated_meos_pointcloud_base_comp(ExtensionLoader &loader) { diff --git a/src/generated/generated_temporal_udfs_3.cpp b/src/generated/generated_temporal_udfs_3.cpp index 6dcba802..b1ae6aed 100644 --- a/src/generated/generated_temporal_udfs_3.cpp +++ b/src/generated/generated_temporal_udfs_3.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } diff --git a/src/generated/generated_temporal_udfs_4.cpp b/src/generated/generated_temporal_udfs_4.cpp index fb157841..fd02fad2 100644 --- a/src/generated/generated_temporal_udfs_4.cpp +++ b/src/generated/generated_temporal_udfs_4.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } diff --git a/src/generated/generated_temporal_udfs_5.cpp b/src/generated/generated_temporal_udfs_5.cpp index 68f71bdb..1a6f0f6c 100644 --- a/src/generated/generated_temporal_udfs_5.cpp +++ b/src/generated/generated_temporal_udfs_5.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } @@ -1165,18 +1180,6 @@ static void Gen_cbuffer_ne(DataChunk &args, ExpressionState &, Vector &result) { }); } -static void Gen_cbuffer_same(DataChunk &args, ExpressionState &, Vector &result) { - EnsureMeosThreadInitialized(); - BinaryExecutor::Execute(args.data[0], args.data[1], result, args.size(), - [&](string_t a, string_t b) { - Cbuffer *s1 = BlobToCbuffer(a); - Cbuffer *s2 = BlobToCbuffer(b); - bool r = cbuffer_same(s1, s2); - free(s1); free(s2); - return r; - }); -} - // ===== @ingroup meos_geo_bbox_topo ===== static void Gen_adjacent_tspatial_tspatial(DataChunk &args, ExpressionState &, Vector &result) { @@ -5099,18 +5102,6 @@ static void Gen_pose_ne(DataChunk &args, ExpressionState &, Vector &result) { }); } -static void Gen_pose_same(DataChunk &args, ExpressionState &, Vector &result) { - EnsureMeosThreadInitialized(); - BinaryExecutor::Execute(args.data[0], args.data[1], result, args.size(), - [&](string_t a, string_t b) { - Pose *s1 = BlobToPose(a); - Pose *s2 = BlobToPose(b); - bool r = pose_same(s1, s2); - free(s1); free(s2); - return r; - }); -} - // ===== @ingroup meos_posechain_conversion ===== static void Gen_tposechain_to_tpose(DataChunk &args, ExpressionState &, Vector &result) { @@ -8161,8 +8152,6 @@ void RegisterGenerated_meos_cbuffer_base_comp(ExtensionLoader &loader) { RegisterSerializedScalarFunction(loader, ScalarFunction("<", {CbufferTypes::cbuffer(), CbufferTypes::cbuffer()}, LogicalType::BOOLEAN, Gen_cbuffer_lt)); RegisterSerializedScalarFunction(loader, ScalarFunction("ne", {CbufferTypes::cbuffer(), CbufferTypes::cbuffer()}, LogicalType::BOOLEAN, Gen_cbuffer_ne)); RegisterSerializedScalarFunction(loader, ScalarFunction("<>", {CbufferTypes::cbuffer(), CbufferTypes::cbuffer()}, LogicalType::BOOLEAN, Gen_cbuffer_ne)); - RegisterSerializedScalarFunction(loader, ScalarFunction("cbufferSame", {CbufferTypes::cbuffer(), CbufferTypes::cbuffer()}, LogicalType::BOOLEAN, Gen_cbuffer_same)); - RegisterSerializedScalarFunction(loader, ScalarFunction("~=", {CbufferTypes::cbuffer(), CbufferTypes::cbuffer()}, LogicalType::BOOLEAN, Gen_cbuffer_same)); } void RegisterGenerated_meos_geo_bbox_topo(ExtensionLoader &loader) { @@ -8808,8 +8797,6 @@ void RegisterGenerated_meos_pose_base_comp(ExtensionLoader &loader) { RegisterSerializedScalarFunction(loader, ScalarFunction("<", {PoseTypes::pose(), PoseTypes::pose()}, LogicalType::BOOLEAN, Gen_pose_lt)); RegisterSerializedScalarFunction(loader, ScalarFunction("ne", {PoseTypes::pose(), PoseTypes::pose()}, LogicalType::BOOLEAN, Gen_pose_ne)); RegisterSerializedScalarFunction(loader, ScalarFunction("<>", {PoseTypes::pose(), PoseTypes::pose()}, LogicalType::BOOLEAN, Gen_pose_ne)); - RegisterSerializedScalarFunction(loader, ScalarFunction("poseSame", {PoseTypes::pose(), PoseTypes::pose()}, LogicalType::BOOLEAN, Gen_pose_same)); - RegisterSerializedScalarFunction(loader, ScalarFunction("~=", {PoseTypes::pose(), PoseTypes::pose()}, LogicalType::BOOLEAN, Gen_pose_same)); } void RegisterGenerated_meos_posechain_conversion(ExtensionLoader &loader) { diff --git a/src/generated/generated_temporal_udfs_6.cpp b/src/generated/generated_temporal_udfs_6.cpp index ebc7a168..bd81f696 100644 --- a/src/generated/generated_temporal_udfs_6.cpp +++ b/src/generated/generated_temporal_udfs_6.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } @@ -3795,18 +3810,6 @@ static void Gen_posechain_ne(DataChunk &args, ExpressionState &, Vector &result) }); } -static void Gen_posechain_same(DataChunk &args, ExpressionState &, Vector &result) { - EnsureMeosThreadInitialized(); - BinaryExecutor::Execute(args.data[0], args.data[1], result, args.size(), - [&](string_t a, string_t b) { - PoseChain *s1 = BlobToPosechain(a); - PoseChain *s2 = BlobToPosechain(b); - bool r = posechain_same(s1, s2); - free(s1); free(s2); - return r; - }); -} - static void Gen_posechain_lt(DataChunk &args, ExpressionState &, Vector &result) { EnsureMeosThreadInitialized(); BinaryExecutor::Execute(args.data[0], args.data[1], result, args.size(), @@ -4665,8 +4668,6 @@ void RegisterGenerated_meos_posechain_base_comp(ExtensionLoader &loader) { RegisterSerializedScalarFunction(loader, ScalarFunction("=", {PosechainTypes::posechain(), PosechainTypes::posechain()}, LogicalType::BOOLEAN, Gen_posechain_eq)); RegisterSerializedScalarFunction(loader, ScalarFunction("ne", {PosechainTypes::posechain(), PosechainTypes::posechain()}, LogicalType::BOOLEAN, Gen_posechain_ne)); RegisterSerializedScalarFunction(loader, ScalarFunction("<>", {PosechainTypes::posechain(), PosechainTypes::posechain()}, LogicalType::BOOLEAN, Gen_posechain_ne)); - RegisterSerializedScalarFunction(loader, ScalarFunction("posechainSame", {PosechainTypes::posechain(), PosechainTypes::posechain()}, LogicalType::BOOLEAN, Gen_posechain_same)); - RegisterSerializedScalarFunction(loader, ScalarFunction("~=", {PosechainTypes::posechain(), PosechainTypes::posechain()}, LogicalType::BOOLEAN, Gen_posechain_same)); RegisterSerializedScalarFunction(loader, ScalarFunction("lt", {PosechainTypes::posechain(), PosechainTypes::posechain()}, LogicalType::BOOLEAN, Gen_posechain_lt)); RegisterSerializedScalarFunction(loader, ScalarFunction("<", {PosechainTypes::posechain(), PosechainTypes::posechain()}, LogicalType::BOOLEAN, Gen_posechain_lt)); RegisterSerializedScalarFunction(loader, ScalarFunction("le", {PosechainTypes::posechain(), PosechainTypes::posechain()}, LogicalType::BOOLEAN, Gen_posechain_le)); diff --git a/src/generated/generated_temporal_udfs_7.cpp b/src/generated/generated_temporal_udfs_7.cpp index f0494301..8fdaa3ea 100644 --- a/src/generated/generated_temporal_udfs_7.cpp +++ b/src/generated/generated_temporal_udfs_7.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } diff --git a/src/generated/generated_temporal_udfs_8.cpp b/src/generated/generated_temporal_udfs_8.cpp index 8e9cacd4..06b405c7 100644 --- a/src/generated/generated_temporal_udfs_8.cpp +++ b/src/generated/generated_temporal_udfs_8.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } @@ -2009,18 +2024,6 @@ static void Gen_npoint_ne(DataChunk &args, ExpressionState &, Vector &result) { }); } -static void Gen_npoint_same(DataChunk &args, ExpressionState &, Vector &result) { - EnsureMeosThreadInitialized(); - BinaryExecutor::Execute(args.data[0], args.data[1], result, args.size(), - [&](string_t a, string_t b) { - Npoint *s1 = BlobToNpoint(a); - Npoint *s2 = BlobToNpoint(b); - bool r = npoint_same(s1, s2); - free(s1); free(s2); - return r; - }); -} - // ===== @ingroup meos_npoint_conversion ===== static void Gen_tgeompoint_to_tnpoint(DataChunk &args, ExpressionState &, Vector &result) { @@ -4801,8 +4804,6 @@ void RegisterGenerated_meos_npoint_base_comp(ExtensionLoader &loader) { RegisterSerializedScalarFunction(loader, ScalarFunction("<", {NpointTypes::npoint(), NpointTypes::npoint()}, LogicalType::BOOLEAN, Gen_npoint_lt)); RegisterSerializedScalarFunction(loader, ScalarFunction("ne", {NpointTypes::npoint(), NpointTypes::npoint()}, LogicalType::BOOLEAN, Gen_npoint_ne)); RegisterSerializedScalarFunction(loader, ScalarFunction("<>", {NpointTypes::npoint(), NpointTypes::npoint()}, LogicalType::BOOLEAN, Gen_npoint_ne)); - RegisterSerializedScalarFunction(loader, ScalarFunction("npointSame", {NpointTypes::npoint(), NpointTypes::npoint()}, LogicalType::BOOLEAN, Gen_npoint_same)); - RegisterSerializedScalarFunction(loader, ScalarFunction("~=", {NpointTypes::npoint(), NpointTypes::npoint()}, LogicalType::BOOLEAN, Gen_npoint_same)); } void RegisterGenerated_meos_npoint_conversion(ExtensionLoader &loader) { diff --git a/src/generated/generated_temporal_udfs_9.cpp b/src/generated/generated_temporal_udfs_9.cpp index bedc2f7b..02ecb35c 100644 --- a/src/generated/generated_temporal_udfs_9.cpp +++ b/src/generated/generated_temporal_udfs_9.cpp @@ -781,12 +781,6 @@ inline TSequenceSet * temporal_stops_maxdist_minduration(const Temporal * p0) { inline TSequenceSet * temporal_stops_maxdist(const Temporal * p0, const MeosInterval * p1) { return ::temporal_stops(p0, 0.0, p1); } -inline Temporal * temporal_shift_scale_time_duration(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, p1, NULL); -} -inline Temporal * temporal_shift_scale_time_shift(const Temporal * p0, const MeosInterval * p1) { - return ::temporal_shift_scale_time(p0, NULL, p1); -} inline Temporal * temporal_append_tinstant_expand_false_interp_linear_maxdist_00_maxt_null(Temporal * p0, const Temporal * p1) { return ::temporal_append_tinstant(p0, (const TInstant *) p1, LINEAR, 0.0, NULL, false); } @@ -937,6 +931,27 @@ inline char * spatialset_as_ewkt_maxdd(const Set * p0) { inline Set * spatialset_transform_pipeline_is_forward_srid(const Set * p0, const char * p1) { return ::spatialset_transform_pipeline(p0, p1, 0, true); } +inline STBox * stbox_make_geodetic_hasx_hasz_s_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, NULL); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_hasx_hasz_srid_xmax_xmin_ymax_ymin_zmax_zmin(const Span * p0) { + return ::stbox_make(false, false, false, 0, 0, 0, 0, 0, 0, 0, p0); +} +inline STBox * stbox_make_geodetic_hasx_hasz_zmax_zmin(int32_t p0, double p1, double p2, double p3, double p4, const Span * p5) { + return ::stbox_make(true, false, false, p0, p1, p2, p3, p4, 0, 0, p5); +} +inline STBox * stbox_make_geodetic_false_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, false, p0, p1, p2, p3, p4, p5, p6, p7); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true_s_null(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, NULL); +} +inline STBox * stbox_make_geodetic_true_hasx_true_hasz_true(int32_t p0, double p1, double p2, double p3, double p4, double p5, double p6, const Span * p7) { + return ::stbox_make(true, true, true, p0, p1, p2, p3, p4, p5, p6, p7); +} inline STBox * stbox_shift_scale_time_duration(const STBox * p0, const MeosInterval * p1) { return ::stbox_shift_scale_time(p0, p1, NULL); } diff --git a/test/sql/parity/102_temporal_leftovers.test b/test/sql/parity/102_temporal_leftovers.test index 481c41ea..153ab3a7 100644 --- a/test/sql/parity/102_temporal_leftovers.test +++ b/test/sql/parity/102_temporal_leftovers.test @@ -52,16 +52,17 @@ true # --------------------------------------------------------------------------- # The trip leaves the disc of radius sqrt(2) at Point(2 2), on 2001-01-02, and -# enters it again there, on 2001-01-06. MEOS dates the instant of a crossing by -# truncating the duration times the fraction of the segment, which places the -# second one at 2001-01-05 23:59:59.999999. +# enters it again there, on 2001-01-06. The double sqrt(2) exceeds the exact +# root, so the trip enters the disc a fraction of a microsecond before +# 2001-01-06. MEOS dates that bound by truncation, at 2001-01-05 23:59:59.999999, +# where the trip is not yet within the distance, so the bound is exclusive. query II SELECT asText(whenTrue(tGreaterThan(tfloat '[1@2001-01-01, 4@2001-01-04, 1@2001-01-07]', 2.0))) = asText(tstzspanset '{(2001-01-02, 2001-01-06)}'), asText(whenTrue(tDwithin(tgeompoint '[Point(1 1)@2001-01-01, Point(4 4)@2001-01-04, Point(1 1)@2001-01-07]', geometry 'Point(1 1)', sqrt(2)))) - = asText(tstzspanset '{[2001-01-01, 2001-01-02], [2001-01-05 23:59:59.999999, 2001-01-07]}'); + = asText(tstzspanset '{[2001-01-01, 2001-01-02], (2001-01-05 23:59:59.999999, 2001-01-07]}'); ---- true true diff --git a/vcpkg_ports/meos/portfile.cmake b/vcpkg_ports/meos/portfile.cmake index f347500a..7b216627 100644 --- a/vcpkg_ports/meos/portfile.cmake +++ b/vcpkg_ports/meos/portfile.cmake @@ -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 "f89cf61f1b08e94e954cb62b1c451b1f2cd5ba4a") +set(_MEOS_REF "887fdf464639db3e3fe497cdecdf5098c1cc3dad") message(STATUS "MEOS port: building MobilityDB at recorded ${_MEOS_REF}") # FETCH_REF names the branch (always advertised) so the fetch works even when the