TSL_PutSQL function
The TSL_PutSQL function loads time series data from a table.
Syntax
TSL_PutSQL(
handle lvarchar,
statement lvarchar)
returns integer
- handle
- The table and column name combination that is returned by the TSL_Attach or the TSL_Init function.
- statement
- An SQL statement that selects data from an existing database table.
The projection clause of the statement must consist of a primary key
and the time series data. The time series data can be multiple columns
or a ROW data type and must be compatible with the data type of the TimeSeries column
in the handle. The projection clause can be one of the following formats:
primary_key, timestamp, values
primary_key, row(timestamp, values)
- primary_key
- The primary key column, represented in character format. Can consist
of multiple column names concatenated and separated by a pipe symbol.
Cast to an LVARCHAR data type, if necessary. For example, if the primary
key in the source table consists of two columns, named id1 and id2,
the primary key column in the projection clause is
id1 || ’|’ || id2
. - timestamp
- The format of the timestamp is specified by the timestamp_format argument of the TSL_Init function. The default format of the timestamp is: YYYY-mm-dd HH:MM:SS (year-month-day hour:minute:seconds).
- values
Values for the columns in the TimeSeries subtype. Separate multiple values with commas.
Usage
Use the TSL_PutSQL function to load time series data from another table as part of a loader program. You must run the TSL_PutSQL function in the context of a loader session that was initialized by the TSL_Init function.
You can run the TSL_PutSQL function multiple times in the same session. The data is stored in the database server until you run the TSL_Flush function to write the data to disk.
Returns
- An integer that indicates the number of records that were inserted.
- An exception if no records were inserted.
Examples
These examples run in the context of an initialized loader session.
Example 1: Load a primary key and multiple columns
The following example selects data from a table named dataload from a primary key column, a timestamp column, and a column with other values:
EXECUTE FUNCTION TSL_PutSQL('meter|readings',
'SELECT id::lvarchar, tstamp, value FROM dataload');
Example 2: Load a primary key and a ROW data type
The following example selects data from a table named dataload from a primary key column and a ROW data type that consists of a timestamp field and a value field:
EXECUTE FUNCTION TSL_PutSQL('meter|readings',
'SELECT id::lvarchar, row(tstamp, value) FROM dataload');