ADBC
Arrow Database Connectivity
|
Macros | |
#define | ADBC_INGEST_OPTION_TARGET_TABLE "adbc.ingest.target_table" |
The name of the target table for a bulk insert. | |
#define | ADBC_INGEST_OPTION_MODE "adbc.ingest.mode" |
Whether to create (the default) or append. | |
#define | ADBC_INGEST_OPTION_MODE_CREATE "adbc.ingest.mode.create" |
Create the table and insert data; error if the table exists. | |
#define | ADBC_INGEST_OPTION_MODE_APPEND "adbc.ingest.mode.append" |
Do not create the table, and insert data; error if the table does not exist (ADBC_STATUS_NOT_FOUND) or does not match the schema of the data to append (ADBC_STATUS_ALREADY_EXISTS). | |
#define | ADBC_INGEST_OPTION_MODE_REPLACE "adbc.ingest.mode.replace" |
Create the table and insert data; drop the original table if it already exists. | |
#define | ADBC_INGEST_OPTION_MODE_CREATE_APPEND "adbc.ingest.mode.create_append" |
Insert data; create the table if it does not exist, or error if the table exists, but the schema does not match the schema of the data to append (ADBC_STATUS_ALREADY_EXISTS). | |
#define | ADBC_INGEST_OPTION_TARGET_CATALOG "adbc.ingest.target_catalog" |
The catalog of the table for bulk insert. | |
#define | ADBC_INGEST_OPTION_TARGET_DB_SCHEMA "adbc.ingest.target_db_schema" |
The schema of the table for bulk insert. | |
#define | ADBC_INGEST_OPTION_TEMPORARY "adbc.ingest.temporary" |
Use a temporary table for ingestion. | |
While it is possible to insert data via prepared statements, it can be more efficient to explicitly perform a bulk insert. For compatible drivers, this can be accomplished by setting up and executing a statement. Instead of setting a SQL query or Substrait plan, bind the source data via AdbcStatementBind, and set the name of the table to be created via AdbcStatementSetOption and the options below. Then, call AdbcStatementExecute with a NULL for the out parameter (to indicate you do not expect a result set).
#define ADBC_INGEST_OPTION_MODE "adbc.ingest.mode" |
Whether to create (the default) or append.
The type is char*.
#define ADBC_INGEST_OPTION_MODE_APPEND "adbc.ingest.mode.append" |
Do not create the table, and insert data; error if the table does not exist (ADBC_STATUS_NOT_FOUND) or does not match the schema of the data to append (ADBC_STATUS_ALREADY_EXISTS).
#define ADBC_INGEST_OPTION_MODE_CREATE "adbc.ingest.mode.create" |
Create the table and insert data; error if the table exists.
#define ADBC_INGEST_OPTION_MODE_CREATE_APPEND "adbc.ingest.mode.create_append" |
Insert data; create the table if it does not exist, or error if the table exists, but the schema does not match the schema of the data to append (ADBC_STATUS_ALREADY_EXISTS).
#define ADBC_INGEST_OPTION_MODE_REPLACE "adbc.ingest.mode.replace" |
Create the table and insert data; drop the original table if it already exists.
#define ADBC_INGEST_OPTION_TARGET_CATALOG "adbc.ingest.target_catalog" |
The catalog of the table for bulk insert.
The type is char*.
#define ADBC_INGEST_OPTION_TARGET_DB_SCHEMA "adbc.ingest.target_db_schema" |
The schema of the table for bulk insert.
The type is char*.
#define ADBC_INGEST_OPTION_TARGET_TABLE "adbc.ingest.target_table" |
The name of the target table for a bulk insert.
The driver should attempt to create the table if it does not exist. If the table exists but has a different schema, ADBC_STATUS_ALREADY_EXISTS should be raised. Else, data should be appended to the target table.
The type is char*.
#define ADBC_INGEST_OPTION_TEMPORARY "adbc.ingest.temporary" |
Use a temporary table for ingestion.
The value should be ADBC_OPTION_VALUE_ENABLED or ADBC_OPTION_VALUE_DISABLED (the default).
This is not supported with ADBC_INGEST_OPTION_TARGET_CATALOG and ADBC_INGEST_OPTION_TARGET_DB_SCHEMA.
The type is char*.