public class ExecuteSqlRequest extends Object implements org.apache.avro.generic.IndexedRecord
GPUdb.executeSqlRaw(ExecuteSqlRequest)
.
Execute a SQL statement (query, DML, or DDL).
See SQL Support for the complete set of supported SQL commands.
Modifier and Type | Class and Description |
---|---|
static class |
ExecuteSqlRequest.Encoding
Specifies the encoding for returned records; either 'binary' or 'json'.
|
static class |
ExecuteSqlRequest.Options
Optional parameters.
|
Constructor and Description |
---|
ExecuteSqlRequest()
Constructs an ExecuteSqlRequest object with default parameters.
|
ExecuteSqlRequest(String statement,
long offset,
long limit,
String requestSchemaStr,
List<ByteBuffer> data,
Map<String,String> options)
Constructs an ExecuteSqlRequest object with the specified parameters.
|
ExecuteSqlRequest(String statement,
long offset,
long limit,
String encoding,
String requestSchemaStr,
List<ByteBuffer> data,
Map<String,String> options)
Constructs an ExecuteSqlRequest object with the specified parameters.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) |
Object |
get(int index)
This method supports the Avro framework and is not intended to be called
directly by the user.
|
static org.apache.avro.Schema |
getClassSchema()
This method supports the Avro framework and is not intended to be called
directly by the user.
|
List<ByteBuffer> |
getData() |
String |
getEncoding() |
long |
getLimit() |
long |
getOffset() |
Map<String,String> |
getOptions() |
String |
getRequestSchemaStr() |
org.apache.avro.Schema |
getSchema()
This method supports the Avro framework and is not intended to be called
directly by the user.
|
String |
getStatement() |
int |
hashCode() |
void |
put(int index,
Object value)
This method supports the Avro framework and is not intended to be called
directly by the user.
|
ExecuteSqlRequest |
setData(List<ByteBuffer> data) |
ExecuteSqlRequest |
setEncoding(String encoding) |
ExecuteSqlRequest |
setLimit(long limit) |
ExecuteSqlRequest |
setOffset(long offset) |
ExecuteSqlRequest |
setOptions(Map<String,String> options) |
ExecuteSqlRequest |
setRequestSchemaStr(String requestSchemaStr) |
ExecuteSqlRequest |
setStatement(String statement) |
String |
toString() |
public ExecuteSqlRequest()
public ExecuteSqlRequest(String statement, long offset, long limit, String requestSchemaStr, List<ByteBuffer> data, Map<String,String> options)
statement
- SQL statement (query, DML, or DDL) to be executedoffset
- A positive integer indicating the number of initial
results to skip (this can be useful for paging through
the results). The default value is 0.The minimum allowed
value is 0. The maximum allowed value is MAX_INT.limit
- A positive integer indicating the maximum number of
results to be returned, or
END_OF_SET (-9999) to indicate that the maximum number of
results allowed by the server should be
returned. The number of records returned will never
exceed the server's own limit, defined by the
max_get_records_size parameter in the
server configuration.
Use hasMoreRecords
to see if more records exist in
the result to be fetched, and
offset
& limit
to request subsequent pages
of results. The default value is -9999.requestSchemaStr
- Avro schema of data
. The default value
is ''.data
- An array of binary-encoded data for the records to be
binded to the SQL query. Or use query_parameters
to pass the data in JSON format. The default value is an
empty List
.options
- Optional parameters.
COST_BASED_OPTIMIZATION
: If false
, disables the
cost-based optimization of the given query.
Supported values:
The default value is FALSE
.
DISTRIBUTED_JOINS
: If true
, enables the use of
distributed joins in servicing the given query. Any
query requiring a distributed join will succeed, though
hints can be used in the query to change the
distribution of the source data to allow the query to
succeed.
Supported values:
The default value is FALSE
.
DISTRIBUTED_OPERATIONS
: If true
, enables the
use of distributed operations in servicing the given
query. Any query requiring a distributed join will
succeed, though hints can be used in the query to change
the distribution of the source data to allow the query
to succeed.
Supported values:
The default value is FALSE
.
IGNORE_EXISTING_PK
: Specifies the record collision
error-suppression policy for
inserting into or updating a table with a primary key, only
used when primary key record collisions are rejected
(update_on_existing_pk
is false
). If set to
true
, any record insert/update that is rejected
for resulting in a primary key collision with an
existing table record will be ignored with no error
generated. If false
, the rejection of any
insert/update for resulting in a primary key collision
will cause an error to be reported. If the
specified table does not have a primary key or if update_on_existing_pk
is
true
, then this option has no effect.
Supported values:
TRUE
:
Ignore inserts/updates that result in primary key
collisions with existing records
FALSE
: Treat as errors any inserts/updates that result
in primary key collisions with existing records
FALSE
.
LATE_MATERIALIZATION
: If true
, Joins/Filters
results will always be materialized ( saved to result
tables format)
Supported values:
The default value is FALSE
.
PAGING_TABLE
: When empty or the specified paging table
not exists, the system will create a paging table and
return when query output has more records than the user
asked. If the paging table exists in the system, the
records from the paging table are returned without
evaluating the query.
PAGING_TABLE_TTL
: Sets the TTL of the paging table.
PARALLEL_EXECUTION
: If false
, disables the
parallel step execution of the given query.
Supported values:
The default value is TRUE
.
PLAN_CACHE
: If false
, disables plan caching for
the given query.
Supported values:
The default value is TRUE
.
PREPARE_MODE
: If true
, compiles a query into an
execution plan and saves it in query cache. Query
execution is not performed and an empty response will be
returned to user
Supported values:
The default value is FALSE
.
PRESERVE_DICT_ENCODING
: If true
, then columns
that were dict encoded in the source table will be dict
encoded in the projection table.
Supported values:
The default value is TRUE
.
QUERY_PARAMETERS
: Query parameters in JSON array or
arrays (for inserting multiple rows). This can be used
instead of data
and requestSchemaStr
.
RESULTS_CACHING
: If false
, disables caching of
the results of the given query
Supported values:
The default value is TRUE
.
RULE_BASED_OPTIMIZATION
: If false
, disables
rule-based rewrite optimizations for the given query
Supported values:
The default value is TRUE
.
SSQ_OPTIMIZATION
: If false
, scalar subqueries
will be translated into joins
Supported values:
The default value is TRUE
.
TTL
:
Sets the TTL of the intermediate result tables
used in query execution.
UPDATE_ON_EXISTING_PK
: Specifies the record collision
policy for inserting into or updating
a table with a primary key. If set to
true
, any existing table record with primary
key values that match those of a record being inserted
or updated will be replaced by that record.
If set to false
, any such primary key
collision will result in the insert/update being
rejected and the error handled as determined by
ignore_existing_pk
. If the specified table does
not have a primary key,
then this option has no effect.
Supported values:
TRUE
:
Replace the collided-into record with the record
inserted or updated when a new/modified record causes a
primary key collision with an existing record
FALSE
: Reject the insert or update when it results in a
primary key collision with an existing record
FALSE
.
VALIDATE_CHANGE_COLUMN
: When changing a column using
alter table, validate the change before applying it. If
true
, then validate all values. A value too
large (or too long) for the new type will prevent any
change. If false
, then when a value is too large
or long, it will be truncated.
Supported values:
The default value is TRUE
.
CURRENT_SCHEMA
: Use the supplied value as the default schema when processing this
SQL command.
Map
.public ExecuteSqlRequest(String statement, long offset, long limit, String encoding, String requestSchemaStr, List<ByteBuffer> data, Map<String,String> options)
statement
- SQL statement (query, DML, or DDL) to be executedoffset
- A positive integer indicating the number of initial
results to skip (this can be useful for paging through
the results). The default value is 0.The minimum allowed
value is 0. The maximum allowed value is MAX_INT.limit
- A positive integer indicating the maximum number of
results to be returned, or
END_OF_SET (-9999) to indicate that the maximum number of
results allowed by the server should be
returned. The number of records returned will never
exceed the server's own limit, defined by the
max_get_records_size parameter in the
server configuration.
Use hasMoreRecords
to see if more records exist in
the result to be fetched, and
offset
& limit
to request subsequent pages
of results. The default value is -9999.encoding
- Specifies the encoding for returned records; either
'binary' or 'json'.
Supported values:
The default value is BINARY
.requestSchemaStr
- Avro schema of data
. The default value
is ''.data
- An array of binary-encoded data for the records to be
binded to the SQL query. Or use query_parameters
to pass the data in JSON format. The default value is an
empty List
.options
- Optional parameters.
COST_BASED_OPTIMIZATION
: If false
, disables the
cost-based optimization of the given query.
Supported values:
The default value is FALSE
.
DISTRIBUTED_JOINS
: If true
, enables the use of
distributed joins in servicing the given query. Any
query requiring a distributed join will succeed, though
hints can be used in the query to change the
distribution of the source data to allow the query to
succeed.
Supported values:
The default value is FALSE
.
DISTRIBUTED_OPERATIONS
: If true
, enables the
use of distributed operations in servicing the given
query. Any query requiring a distributed join will
succeed, though hints can be used in the query to change
the distribution of the source data to allow the query
to succeed.
Supported values:
The default value is FALSE
.
IGNORE_EXISTING_PK
: Specifies the record collision
error-suppression policy for
inserting into or updating a table with a primary key, only
used when primary key record collisions are rejected
(update_on_existing_pk
is false
). If set to
true
, any record insert/update that is rejected
for resulting in a primary key collision with an
existing table record will be ignored with no error
generated. If false
, the rejection of any
insert/update for resulting in a primary key collision
will cause an error to be reported. If the
specified table does not have a primary key or if update_on_existing_pk
is
true
, then this option has no effect.
Supported values:
TRUE
:
Ignore inserts/updates that result in primary key
collisions with existing records
FALSE
: Treat as errors any inserts/updates that result
in primary key collisions with existing records
FALSE
.
LATE_MATERIALIZATION
: If true
, Joins/Filters
results will always be materialized ( saved to result
tables format)
Supported values:
The default value is FALSE
.
PAGING_TABLE
: When empty or the specified paging table
not exists, the system will create a paging table and
return when query output has more records than the user
asked. If the paging table exists in the system, the
records from the paging table are returned without
evaluating the query.
PAGING_TABLE_TTL
: Sets the TTL of the paging table.
PARALLEL_EXECUTION
: If false
, disables the
parallel step execution of the given query.
Supported values:
The default value is TRUE
.
PLAN_CACHE
: If false
, disables plan caching for
the given query.
Supported values:
The default value is TRUE
.
PREPARE_MODE
: If true
, compiles a query into an
execution plan and saves it in query cache. Query
execution is not performed and an empty response will be
returned to user
Supported values:
The default value is FALSE
.
PRESERVE_DICT_ENCODING
: If true
, then columns
that were dict encoded in the source table will be dict
encoded in the projection table.
Supported values:
The default value is TRUE
.
QUERY_PARAMETERS
: Query parameters in JSON array or
arrays (for inserting multiple rows). This can be used
instead of data
and requestSchemaStr
.
RESULTS_CACHING
: If false
, disables caching of
the results of the given query
Supported values:
The default value is TRUE
.
RULE_BASED_OPTIMIZATION
: If false
, disables
rule-based rewrite optimizations for the given query
Supported values:
The default value is TRUE
.
SSQ_OPTIMIZATION
: If false
, scalar subqueries
will be translated into joins
Supported values:
The default value is TRUE
.
TTL
:
Sets the TTL of the intermediate result tables
used in query execution.
UPDATE_ON_EXISTING_PK
: Specifies the record collision
policy for inserting into or updating
a table with a primary key. If set to
true
, any existing table record with primary
key values that match those of a record being inserted
or updated will be replaced by that record.
If set to false
, any such primary key
collision will result in the insert/update being
rejected and the error handled as determined by
ignore_existing_pk
. If the specified table does
not have a primary key,
then this option has no effect.
Supported values:
TRUE
:
Replace the collided-into record with the record
inserted or updated when a new/modified record causes a
primary key collision with an existing record
FALSE
: Reject the insert or update when it results in a
primary key collision with an existing record
FALSE
.
VALIDATE_CHANGE_COLUMN
: When changing a column using
alter table, validate the change before applying it. If
true
, then validate all values. A value too
large (or too long) for the new type will prevent any
change. If false
, then when a value is too large
or long, it will be truncated.
Supported values:
The default value is TRUE
.
CURRENT_SCHEMA
: Use the supplied value as the default schema when processing this
SQL command.
Map
.public static org.apache.avro.Schema getClassSchema()
public String getStatement()
public ExecuteSqlRequest setStatement(String statement)
statement
- SQL statement (query, DML, or DDL) to be executedthis
to mimic the builder pattern.public long getOffset()
public ExecuteSqlRequest setOffset(long offset)
offset
- A positive integer indicating the number of initial
results to skip (this can be useful for paging through
the results). The default value is 0.The minimum allowed
value is 0. The maximum allowed value is MAX_INT.this
to mimic the builder pattern.public long getLimit()
hasMoreRecords
to see if more records exist in the
result to be fetched, and
offset
& limit
to request subsequent pages of
results. The default value is -9999.public ExecuteSqlRequest setLimit(long limit)
limit
- A positive integer indicating the maximum number of
results to be returned, or
END_OF_SET (-9999) to indicate that the maximum number of
results allowed by the server should be
returned. The number of records returned will never
exceed the server's own limit, defined by the
max_get_records_size parameter in the
server configuration.
Use hasMoreRecords
to see if more records exist in
the result to be fetched, and
offset
& limit
to request subsequent pages
of results. The default value is -9999.this
to mimic the builder pattern.public String getEncoding()
public ExecuteSqlRequest setEncoding(String encoding)
public String getRequestSchemaStr()
data
. The default value is ''.public ExecuteSqlRequest setRequestSchemaStr(String requestSchemaStr)
requestSchemaStr
- Avro schema of data
. The default value
is ''.this
to mimic the builder pattern.public List<ByteBuffer> getData()
query_parameters
to pass the data
in JSON format. The default value is an empty List
.public ExecuteSqlRequest setData(List<ByteBuffer> data)
data
- An array of binary-encoded data for the records to be
binded to the SQL query. Or use query_parameters
to pass the data in JSON format. The default value is an
empty List
.this
to mimic the builder pattern.public Map<String,String> getOptions()
COST_BASED_OPTIMIZATION
: If false
, disables the
cost-based optimization of the given query.
Supported values:
The default value is FALSE
.
DISTRIBUTED_JOINS
: If true
, enables the use of
distributed joins in servicing the given query. Any query
requiring a distributed join will succeed, though hints can be
used in the query to change the distribution of the source data
to allow the query to succeed.
Supported values:
The default value is FALSE
.
DISTRIBUTED_OPERATIONS
: If true
, enables the use of
distributed operations in servicing the given query. Any query
requiring a distributed join will succeed, though hints can be
used in the query to change the distribution of the source data
to allow the query to succeed.
Supported values:
The default value is FALSE
.
IGNORE_EXISTING_PK
: Specifies the record collision
error-suppression policy for
inserting into or updating a table with a primary key, only
used when primary key record collisions are rejected (update_on_existing_pk
is false
). If set to
true
, any record insert/update that is rejected
for resulting in a primary key collision with an existing table
record will be ignored with no error
generated. If false
, the rejection of any
insert/update for resulting in a primary key collision will
cause an error to be reported. If the
specified table does not have a primary key or if update_on_existing_pk
is
true
, then this option has no effect.
Supported values:
TRUE
: Ignore
inserts/updates that result in primary key collisions with
existing records
FALSE
: Treat
as errors any inserts/updates that result in primary key
collisions with existing records
FALSE
.
LATE_MATERIALIZATION
: If true
, Joins/Filters results
will always be materialized ( saved to result tables format)
Supported values:
The default value is FALSE
.
PAGING_TABLE
: When empty or the specified paging table not
exists, the system will create a paging table and return when
query output has more records than the user asked. If the paging
table exists in the system, the records from the paging table
are returned without evaluating the query.
PAGING_TABLE_TTL
: Sets the TTL of
the paging table.
PARALLEL_EXECUTION
: If false
, disables the parallel
step execution of the given query.
Supported values:
The default value is TRUE
.
PLAN_CACHE
: If false
, disables plan caching for the
given query.
Supported values:
The default value is TRUE
.
PREPARE_MODE
: If true
, compiles a query into an
execution plan and saves it in query cache. Query execution is
not performed and an empty response will be returned to user
Supported values:
The default value is FALSE
.
PRESERVE_DICT_ENCODING
: If true
, then columns that were
dict encoded in the source table will be dict encoded in the
projection table.
Supported values:
The default value is TRUE
.
QUERY_PARAMETERS
: Query parameters in JSON array or arrays (for
inserting multiple rows). This can be used instead of data
and requestSchemaStr
.
RESULTS_CACHING
: If false
, disables caching of the
results of the given query
Supported values:
The default value is TRUE
.
RULE_BASED_OPTIMIZATION
: If false
, disables rule-based
rewrite optimizations for the given query
Supported values:
The default value is TRUE
.
SSQ_OPTIMIZATION
: If false
, scalar subqueries will be
translated into joins
Supported values:
The default value is TRUE
.
TTL
: Sets the
TTL
of the intermediate result tables used in query execution.
UPDATE_ON_EXISTING_PK
: Specifies the record collision policy
for inserting into or updating
a table with a primary key. If set to
true
, any existing table record with primary
key values that match those of a record being inserted or
updated will be replaced by that record.
If set to false
, any such primary key
collision will result in the insert/update being rejected and
the error handled as determined by
ignore_existing_pk
. If the specified table does not
have a primary key,
then this option has no effect.
Supported values:
TRUE
: Replace
the collided-into record with the record inserted or updated
when a new/modified record causes a primary key collision with
an existing record
FALSE
:
Reject the insert or update when it results in a primary key
collision with an existing record
FALSE
.
VALIDATE_CHANGE_COLUMN
: When changing a column using alter
table, validate the change before applying it. If true
,
then validate all values. A value too large (or too long) for
the new type will prevent any change. If false
, then
when a value is too large or long, it will be truncated.
Supported values:
The default value is TRUE
.
CURRENT_SCHEMA
: Use the supplied value as the default schema when processing this SQL
command.
Map
.public ExecuteSqlRequest setOptions(Map<String,String> options)
options
- Optional parameters.
COST_BASED_OPTIMIZATION
: If false
, disables the
cost-based optimization of the given query.
Supported values:
The default value is FALSE
.
DISTRIBUTED_JOINS
: If true
, enables the use of
distributed joins in servicing the given query. Any
query requiring a distributed join will succeed, though
hints can be used in the query to change the
distribution of the source data to allow the query to
succeed.
Supported values:
The default value is FALSE
.
DISTRIBUTED_OPERATIONS
: If true
, enables the
use of distributed operations in servicing the given
query. Any query requiring a distributed join will
succeed, though hints can be used in the query to change
the distribution of the source data to allow the query
to succeed.
Supported values:
The default value is FALSE
.
IGNORE_EXISTING_PK
: Specifies the record collision
error-suppression policy for
inserting into or updating a table with a primary key, only
used when primary key record collisions are rejected
(update_on_existing_pk
is false
). If set to
true
, any record insert/update that is rejected
for resulting in a primary key collision with an
existing table record will be ignored with no error
generated. If false
, the rejection of any
insert/update for resulting in a primary key collision
will cause an error to be reported. If the
specified table does not have a primary key or if update_on_existing_pk
is
true
, then this option has no effect.
Supported values:
TRUE
:
Ignore inserts/updates that result in primary key
collisions with existing records
FALSE
: Treat as errors any inserts/updates that result
in primary key collisions with existing records
FALSE
.
LATE_MATERIALIZATION
: If true
, Joins/Filters
results will always be materialized ( saved to result
tables format)
Supported values:
The default value is FALSE
.
PAGING_TABLE
: When empty or the specified paging table
not exists, the system will create a paging table and
return when query output has more records than the user
asked. If the paging table exists in the system, the
records from the paging table are returned without
evaluating the query.
PAGING_TABLE_TTL
: Sets the TTL of the paging table.
PARALLEL_EXECUTION
: If false
, disables the
parallel step execution of the given query.
Supported values:
The default value is TRUE
.
PLAN_CACHE
: If false
, disables plan caching for
the given query.
Supported values:
The default value is TRUE
.
PREPARE_MODE
: If true
, compiles a query into an
execution plan and saves it in query cache. Query
execution is not performed and an empty response will be
returned to user
Supported values:
The default value is FALSE
.
PRESERVE_DICT_ENCODING
: If true
, then columns
that were dict encoded in the source table will be dict
encoded in the projection table.
Supported values:
The default value is TRUE
.
QUERY_PARAMETERS
: Query parameters in JSON array or
arrays (for inserting multiple rows). This can be used
instead of data
and requestSchemaStr
.
RESULTS_CACHING
: If false
, disables caching of
the results of the given query
Supported values:
The default value is TRUE
.
RULE_BASED_OPTIMIZATION
: If false
, disables
rule-based rewrite optimizations for the given query
Supported values:
The default value is TRUE
.
SSQ_OPTIMIZATION
: If false
, scalar subqueries
will be translated into joins
Supported values:
The default value is TRUE
.
TTL
:
Sets the TTL of the intermediate result tables
used in query execution.
UPDATE_ON_EXISTING_PK
: Specifies the record collision
policy for inserting into or updating
a table with a primary key. If set to
true
, any existing table record with primary
key values that match those of a record being inserted
or updated will be replaced by that record.
If set to false
, any such primary key
collision will result in the insert/update being
rejected and the error handled as determined by
ignore_existing_pk
. If the specified table does
not have a primary key,
then this option has no effect.
Supported values:
TRUE
:
Replace the collided-into record with the record
inserted or updated when a new/modified record causes a
primary key collision with an existing record
FALSE
: Reject the insert or update when it results in a
primary key collision with an existing record
FALSE
.
VALIDATE_CHANGE_COLUMN
: When changing a column using
alter table, validate the change before applying it. If
true
, then validate all values. A value too
large (or too long) for the new type will prevent any
change. If false
, then when a value is too large
or long, it will be truncated.
Supported values:
The default value is TRUE
.
CURRENT_SCHEMA
: Use the supplied value as the default schema when processing this
SQL command.
Map
.this
to mimic the builder pattern.public org.apache.avro.Schema getSchema()
getSchema
in interface org.apache.avro.generic.GenericContainer
public Object get(int index)
get
in interface org.apache.avro.generic.IndexedRecord
index
- the position of the field to getIndexOutOfBoundsException
public void put(int index, Object value)
put
in interface org.apache.avro.generic.IndexedRecord
index
- the position of the field to setvalue
- the value to setIndexOutOfBoundsException
Copyright © 2024. All rights reserved.