Class GeoTypes
GeographyType and
GeometryType are ONE family for every rejection measured on the account.
That the two agree was measured rather than assumed. Live over a table carrying both
a GEOGRAPHY and a GEOMETRY column, every rejection reproduced with the type name swapped and
nothing else changed: GROUP BY (SQLSTATE 42804, vendor 92102), ORDER BY (92103),
PARTITION BY (92104), MAX / MIN, SUM, MEDIAN,
STDDEV, UPPER, ABS, ||, = and CAST(… AS VARCHAR).
Both types live in the ENGINE even though the ST_ function pack ships in the optional
frostlake-geo module: a GEOGRAPHY column can be declared with the module absent, so these
rejections must not depend on it being on the classpath.
This is deliberately NOT folded into TypeCategory.SEMI_STRUCTURED, which both geo types
happen to carry: the semi-structured rules key on the OBJECT / ARRAY / MAP classes, and live treats
geo differently from all three in both directions — GROUP BY o and o = o are legal
where the geo spellings are not, while TO_JSON(o), GET(o, 'k') and
ARRAY_AGG(o) all work where the geo spellings are refused.
-
Method Summary
-
Method Details
-
isGeo
Whethertypeis GEOGRAPHY or GEOMETRY.
-