ExecuteSqlRequest.Builder getExecuteSqlRequestBuilder( Statement statement, QueryMode queryMode) { ExecuteSqlRequest.Builder builder = ExecuteSqlRequest.newBuilder() .setSql(statement.getSql()) .setQueryMode(queryMode) .setSession(session.name); Map<String, Value> stmtParameters = statement.getParameters(); if (!stmtParameters.isEmpty()) { com.google.protobuf.Struct.Builder paramsBuilder = builder.getParamsBuilder(); for (Map.Entry<String, Value> param : stmtParameters.entrySet()) { paramsBuilder.putFields(param.getKey(), param.getValue().toProto()); builder.putParamTypes(param.getKey(), param.getValue().getType().toProto()); } } TransactionSelector selector = getTransactionSelector(); if (selector != null) { builder.setTransaction(selector); } builder.setSeqno(getSeqNo()); return builder; }
final ExecuteSqlRequest.Builder builder = ExecuteSqlRequest.newBuilder() .setSql(statement.getSql()) .setQueryMode(QueryMode.NORMAL) .setSession(session.name)
Options queryOptions = Options.fromQueryOptions(option); final PartitionQueryRequest.Builder builder = PartitionQueryRequest.newBuilder().setSession(sessionName).setSql(statement.getSql()); Map<String, Value> stmtParameters = statement.getParameters(); if (!stmtParameters.isEmpty()) {
@Test public void basic() { String sql = "SELECT 1"; Statement stmt = Statement.of(sql); assertThat(stmt.getSql()).isEqualTo(sql); assertThat(stmt.getParameters()).isEmpty(); assertThat(stmt.toString()).isEqualTo(sql); reserializeAndAssert(stmt); }
@Test public void bindReplacement() { String sql = "SELECT Name FROM Users WHERE Id = @id"; Statement stmt = Statement.newBuilder(sql).bind("id").to(1).bind("id").to(2).build(); assertThat(stmt.hasBinding("id")).isTrue(); assertThat(stmt.getSql()).isEqualTo(sql); assertThat(stmt.getParameters()).isEqualTo(ImmutableMap.of("id", Value.int64(2))); assertThat(stmt.toString()).isEqualTo(sql + " {id: 2}"); }
@Test public void append() { Statement stmt = Statement.newBuilder("SELECT Name FROM Users") .append(" WHERE Id = @id") .bind("id") .to(1234) .append(" AND Status = @status") .bind("status") .to("ACTIVE") .build(); String expectedSql = "SELECT Name FROM Users WHERE Id = @id AND Status = @status"; assertThat(stmt.getSql()).isEqualTo(expectedSql); assertThat(stmt.hasBinding("id")).isTrue(); assertThat(stmt.hasBinding("status")).isTrue(); assertThat(stmt.getParameters()) .containsExactlyEntriesIn( ImmutableMap.of("id", Value.int64(1234), "status", Value.string("ACTIVE"))); assertThat(stmt.toString()).startsWith(expectedSql); assertThat(stmt.toString()).contains("id: 1234"); assertThat(stmt.toString()).contains("status: ACTIVE"); }
@Test public void gettersAreSnapshot() { Statement stmt = Statement.newBuilder("SELECT Name FROM Users WHERE Id = @id") .append(" AND Status = @status") .bind("status") .to("ACTIVE") .bind("id") .to(1234) .bind("status") .to("ACTIVE") .build(); assertThat(stmt.getSql()) .isEqualTo("SELECT Name FROM Users WHERE Id = @id AND Status = @status"); assertThat(stmt.getParameters()) .isEqualTo(ImmutableMap.of("id", Value.int64(1234), "status", Value.string("ACTIVE"))); }
@Override public boolean matches(Object argument) { if (!(argument instanceof Statement)) { return false; } Statement st = (Statement) argument; return st.getSql().contains("information_schema.columns"); } })))
@Override public boolean matches(Object argument) { if (!(argument instanceof Statement)) { return false; } Statement st = (Statement) argument; return st.getSql().contains("information_schema.columns"); } })))
@Override public boolean matches(Object argument) { if (!(argument instanceof Statement)) { return false; } Statement st = (Statement) argument; return st.getSql().contains("information_schema.index_columns"); } })))
@Override public boolean matches(Object argument) { if (!(argument instanceof Statement)) { return false; } Statement st = (Statement) argument; return st.getSql().contains("information_schema.index_columns"); } })))
ExecuteSqlRequest.Builder getExecuteSqlRequestBuilder( Statement statement, QueryMode queryMode) { ExecuteSqlRequest.Builder builder = ExecuteSqlRequest.newBuilder() .setSql(statement.getSql()) .setQueryMode(queryMode) .setSession(session.name); Map<String, Value> stmtParameters = statement.getParameters(); if (!stmtParameters.isEmpty()) { com.google.protobuf.Struct.Builder paramsBuilder = builder.getParamsBuilder(); for (Map.Entry<String, Value> param : stmtParameters.entrySet()) { paramsBuilder.putFields(param.getKey(), param.getValue().toProto()); builder.putParamTypes(param.getKey(), param.getValue().getType().toProto()); } } TransactionSelector selector = getTransactionSelector(); if (selector != null) { builder.setTransaction(selector); } builder.setSeqno(getSeqNo()); return builder; }
final ExecuteSqlRequest.Builder builder = ExecuteSqlRequest.newBuilder() .setSql(statement.getSql()) .setQueryMode(QueryMode.NORMAL) .setSession(session.name)
Options queryOptions = Options.fromQueryOptions(option); final PartitionQueryRequest.Builder builder = PartitionQueryRequest.newBuilder().setSession(sessionName).setSql(statement.getSql()); Map<String, Value> stmtParameters = statement.getParameters(); if (!stmtParameters.isEmpty()) {