Valores base provistos por el anfitrión

Algunos tipos base de MobilityDB los provee en PostgreSQL la propia base de datos o una extensión que MobilityDB requiere: jsonb y jsonpath PostgreSQL, h3index la extensión h3, y pcpoint y pcpatch la extensión pointcloud. Los operadores y funciones del proveedor conservan su escritura, y todos los motores, PostgreSQL incluido, invocan además estas operaciones con los nombres siguientes. Sus comparaciones son las funciones de “Comparaciones tradicionales” junto con cmp, y sus funciones hash son hash y hashExtended, que Apache Spark y Apache Flink llaman jsonbHash, jsonbHashExtended, h3indexHash y h3indexHashExtended, como llaman las funciones hash de todos los demás tipos por el nombre del tipo. Un valor se lee de su texto con jsonbFromText, jsonpathFromText y h3indexFromText y se escribe con asText, a los que en PostgreSQL llegan un literal y una conversión desde y hacia text. El texto de un pcpoint y de un pcpatch es el hexadecimal de su representación binaria conocida, que leen pcpointFromHexWKB y pcpatchFromHexWKB y escribe asHexWKB.

PostgreSQLFunción portable
jsonb '…', text::jsonbjsonbFromText(a)
jsonb::textasText(a)
jsonpath '…', text::jsonpathjsonpathFromText(a)
jsonpath::textasText(a)
h3index '…', text::h3indexh3indexFromText(a)
h3index::textasText(a)
pcpoint '…', text::pcpointpcpointFromHexWKB(a)
pcpoint::textasHexWKB(a)
pcpatch '…', text::pcpatchpcpatchFromHexWKB(a)
pcpatch::textasHexWKB(a)
jsonb -> textjsonbObjectField(a, b)
jsonb -> integerjsonbArrayElement(a, b)
jsonb ->> textjsonbObjectFieldText(a, b)
jsonb ->> integerjsonbArrayElementText(a, b)
jsonb #> text[], jsonb_extract_pathjsonbExtractPath(a, b)
jsonb #>> text[], jsonb_extract_path_textjsonbExtractPathText(a, b)
jsonb ? textjsonbExists(a, b)
jsonb ?| text[]jsonbExistsAny(a, b)
jsonb ?& text[]jsonbExistsAll(a, b)
jsonb @> jsonbjsonbContains(a, b)
jsonb <@ jsonbjsonbContained(a, b)
jsonb || jsonbjsonbConcat(a, b)
jsonb - textjsonbDelete(a, b)
jsonb - text[]jsonbDeleteArray(a, b)
jsonb - integerjsonbDeleteIndex(a, b)
jsonb #- text[]jsonbDeletePath(a, b)
jsonb @? jsonpath, jsonb_path_existsjsonbPathExists(a, b)
jsonb_path_exists_tzjsonbPathExistsTz(a, b)
jsonb @@ jsonpath, jsonb_path_matchjsonbPathMatch(a, b)
jsonb_path_match_tzjsonbPathMatchTz(a, b)
jsonb_path_queryjsonbPathQuery(a, b)
jsonb_path_query_tzjsonbPathQueryTz(a, b)
jsonb_path_query_arrayjsonbPathQueryArray(a, b)
jsonb_path_query_array_tzjsonbPathQueryArrayTz(a, b)
jsonb_path_query_firstjsonbPathQueryFirst(a, b)
jsonb_path_query_first_tzjsonbPathQueryFirstTz(a, b)
jsonb_array_lengthjsonbArrayLength(a)
jsonb_array_elementsjsonbArrayElements(a)
jsonb_array_elements_textjsonbArrayElementsText(a)
jsonb_eachjsonbEach(a)
jsonb_each_textjsonbEachText(a)
jsonb_object_keysjsonbObjectKeys(a)
jsonb_insertjsonbInsert(a, b, c)
jsonb_setjsonbSet(a, b, c)
jsonb_set_laxjsonbSetLax(a, b, c)
jsonb_prettyjsonbPretty(a)
jsonb_strip_nullsjsonbStripNulls(a)
PC_NumPoints(pcpatch)numPoints(a)
PC_PointN(pcpatch, integer)pointN(a, b)