'123' that loads into an INT column properly binds to the corresponding integer value 123. Similarly, an integer like 456 can automatically bind to an INT column as 456, a FLOAT column as 456.0, and a VARCHAR column as '456'. Finally, a string including Well-Known Text (WKT) representation of a POINT automatically binds into an ST_POINT column.
Empty String Handling
When you attempt to load an empty string into a target column with LAT, most data types raise an error and the record does not load into the target table. The exceptions arevarchar, decimal, binary, and array column types. In those cases, the data warehouse loads these values:
varchar: An empty stringdecimal: 0.0 (with the appropriate precision)binary: An empty binary blobarray: An empty array
When you extract data from text-based formats like delimited data, the data warehouse loads empty data as an empty string unless you use the
empty_as_null setting.NULL Handling
If you do not provide a value for a column in the target table, this table explains what value the data warehouse stores in the column. For the purposes of default value handling, these are equivalent:- Pipeline is missing a column.
- Pipeline includes a column but the value in the JSON or the source data evaluates to
null. - Pipeline includes a column but the field is missing on the source record (e.g.,
a.bdoes not exist in a JSON record).
not_null(a.b, 'my_default')
Data Type Binding
Refer to the Data Types for detailed information about each data type. These tables describe the automatic binding conventions of each data type.BIGINT
BINARY
BOOLEAN
DATE
DECIMAL
DOUBLE, DOUBLE PRECISION
HASH
INT
IPV4
IP
LINESTRING, ST_LINESTRING
MATRIX
POINT, ST_POINT
POLYGON, ST_POLYGON
Ensure that polygons are oriented in your intended way when you load them as polygon orientation matters in Ocient semantics. If you intend all polygons to be oriented counter-clockwise, use the st_forcepolygonccw transform function to enforce counter-clockwise semantics.
REAL, FLOAT, SINGLE PRECISION
SMALLINT
TIME
TIMESTAMP
TINYINT, BYTE
TUPLE
TYPE[]
UUID
VARCHAR, CHAR
Load Geospatial Data
Geospatial data can be loaded from a variety of formats into Ocient. The Ocient System requires special considerations when you load geospatial data into Ocient including:- Coordinate System
- Supported Geospatial Loading Formats
- Geospatial Type Conversion
- POINT Normalization
- POLYGON Normalization
Coordinate System
Ocient uses Spatial Reference System ID (SRID) 4326 for all internal geospatial data types. SRID 4326 is defined in the WGS84 Standard. Before you load the source data, all data should have the SRID 4326 data type. The loading operation ignores any source data that contains the coordinate system SRID information.Supported Geospatial Loading Formats
Well-Known Text
The primary data format for loading geospatial data in Ocient is the Well-Known Text (WKT) format. This string format is a portable format that can represent points, lines, and polygons. String data in WKT format can automatically load intoPOINT, LINESTRING, and POLYGON Ocient column types. In addition, arrays of strings in WKT format can automatically load into array columns of a suitable geospatial data type. The Ocient System assumes raw strings are in WKT format when the system loads these strings into geospatial column types.
Each LINESTRING or POLYGON value can be up to a maximum of 512 MB in size. This means a LINESTRING or POLYGON can contain approximately 32 million point values.
- WKT strings are whitespace insensitive, so
POINT(10 20)is equivalent toPOINT (10 20). - WKT strings are case insensitive.
- Extended Well-Known Text (EWKT) is not supported. To load EWKT data, load the substring after the EWKT semicolon as the WKT format.
Well-Known Binary and Extended Well-Known Binary
The other data formats that can load into Ocient are Well-Known Binary (WKB) and Extended Well-Known Binary (EWKB) formats. The Ocient System requires an explicit transformation function for both WKB and EWKB formats when you load data and convert it into the target column type. You can use the functionst_geomfromewkb to transform WKB and EWKB data.
In both cases, the Ocient System represents the WKB or EWKB string data as hexadecimal string data. The hexadecimal string can be one of these formats:
- Only hexadecimal digits:
000000000140000000000000004010000000000000 - Prefixed with
0x:0x000000000140000000000000004010000000000000 - Prefixed with
\x:\x000000000140000000000000004010000000000000
Geometry Conversion
Ocient provides the automatic conversion of geometries from simpler types to more complex types. The conversion allows the load of a LINESTRING column with a POINT, or a POLYGON column with a POINT or LINESTRING. This capability also allows the load of arrays of POLYGON data from the source arrays of a combination of POINT, LINESTRING, and POLYGON data, which represents a geometry collection.POINT Normalization
During loading, Ocient automatically performs normalization of POINT data into a regular format used within Ocient. The Ocient System performs the following operations on POINT data during the load:- Constrain longitude to [-180, 180) and latitude to [-90, 90]; wrap around invalid coordinates using correct geographical handling.
- Snap points near the pole to the pole.
- Set longitude of points on the pole to 0
- Remove signed zeros from coordinates, so -0 becomes 0.
POLYGON Normalization
Ocient follows a counterclockwise rotation convention to indicate the outer ring of a POLYGON. The inner ring follows a clockwise rotation. If the Ocient System loads a POLYGON with a clockwise outer ring, the system indicates that the POLYGON is outside of the given ring. To account for this, the LAT provides thest_forcepolygonccw function that forces a counterclockwise rotation of the outer polygon ring and a clockwise rotation of the inner polygon ring when applicable.

