Skip to content

State the columns of the composite types of another extension a SQL function returns - #206

Merged
estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:catalog/postgis-composite-columns
Oct 25, 2026
Merged

estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:catalog/postgis-composite-columns

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

meta/sql-columns.json states under composites the members of a composite type another extension creates, which the SQL the catalog reads does not: PostGIS's geomval (geom geometry, val double precision), created by postgis_raster, which MobilityDB requires when built with RASTER. sql_statements reads them through declared_composites beside the composites the SQL creates, so dumpAsPolygons(raster, integer, boolean) RETURNS SETOF geomval states its two columns, and a rows statement feeds them from the geom and the val of each GeomVal the function returns, as the rows of valueCount read the fields of each ValueCount. summarystats, the other PostGIS composite MobilityDB returns, is one value a binding reads from its structure, and stays without columns.

Measured over MobilityDB master 1a7a1a0e11: the catalog differs from master's in raster_dump_as_polygons alone, whose signature states its columns. Over that catalog the JVM generators of JMEOS main answer the same surfaces as over master's, and refuse dumpAsPolygons as setret:column/return:geometry where they refused it as setret:column/return:geomval, and MobilityDuck main's generator writes the same files. tests/test_sqlfn_rows.py reads the declared members of geomval for a function whose SQL creates none, reads the composites by type, and refuses a member stated without a type; the suite passes, 589 tests and none skipped.

…unction returns

meta/sql-columns.json states under composites the members of a composite type another extension creates, which the SQL the catalog reads does not: PostGIS's geomval (geom geometry, val double precision), created by postgis_raster, which MobilityDB requires when built with RASTER. sql_statements reads them through declared_composites beside the composites the SQL creates, so dumpAsPolygons(raster, integer, boolean) RETURNS SETOF geomval states its two columns, and a rows statement feeds them from the geom and the val of each GeomVal the function returns, as the rows of valueCount read the fields of each ValueCount. summarystats, the other PostGIS composite MobilityDB returns, is one value a binding reads from its structure, and stays without columns.

Measured over MobilityDB master 1a7a1a0e11: the catalog differs from master's in raster_dump_as_polygons alone, whose signature states its columns. Over that catalog the JVM generators of JMEOS main answer the same surfaces as over master's, and refuse dumpAsPolygons as setret:column/return:geometry where they refused it as setret:column/return:geomval, and MobilityDuck main's generator writes the same files. tests/test_sqlfn_rows.py reads the declared members of geomval for a function whose SQL creates none, reads the composites by type, and refuses a member stated without a type; the suite passes, 589 tests and none skipped.
@estebanzimanyi
estebanzimanyi merged commit 5764a6a into MobilityDB:master Oct 25, 2026
3 checks passed
@estebanzimanyi
estebanzimanyi deleted the catalog/postgis-composite-columns branch October 25, 2026 22:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant