public class StatementA SQL statement that can be executed by calling com.google.cloud.bigtable.data.v2.BigtableDataClient#executeQuery(Statement).
A statement contains a SQL string and optional parameters. A parameterized query should contain placeholders in the form of @ followed by the parameter name. Parameter names may consist of any combination of letters, numbers, and underscores.
Parameters can appear anywhere that a literal value is expected. The same parameter name can
be used more than once, for example: WHERE cf["qualifier1"] = @value OR cf["qualifier2"]
= @value
It is an error to execute an SQL query with placeholders for unset parameters.
Parameterized Statements are constructed using a Builder and calling setTypeParam(String paramName, Type value) for the appropriate type. For example:
Statement statement = Statement
.newBuilder("SELECT cf[@qualifer] FROM table WHERE _key=@key")
.setBytesParam("qualifier", ByteString.copyFromUtf8("test"))
.setBytesParam("key", ByteString.copyFromUtf8("testKey"))
.build();
Static Methods
newBuilder(String sql)
public static Statement.Builder newBuilder(String sql)Creates a new Builder with the given SQL query
| Parameter | |
|---|---|
| Name | Description |
sql |
String |
| Returns | |
|---|---|
| Type | Description |
Statement.Builder |
|
of(String sql)
public static Statement of(String sql)Creates a Statement with the given SQL query and no query parameters.
| Parameter | |
|---|---|
| Name | Description |
sql |
String |
| Returns | |
|---|---|
| Type | Description |
Statement |
|
Methods
toProto(RequestContext requestContext)
public ExecuteQueryRequest toProto(RequestContext requestContext)Creates the request protobuf. This method is considered an internal implementation detail and not meant to be used by applications.
| Parameter | |
|---|---|
| Name | Description |
requestContext |
com.google.cloud.bigtable.data.v2.internal.RequestContext |
| Returns | |
|---|---|
| Type | Description |
com.google.bigtable.v2.ExecuteQueryRequest |
|