Skip to content

Commit 9bc6a94

Browse files
authored
Merge pull request #20 from ydb-platform/auto_detect_query_type
Auto detect query type
2 parents 6a9f8a1 + 4eb86e6 commit 9bc6a94

28 files changed

+756
-450
lines changed

jdbc/src/main/java/tech/ydb/jdbc/YdbConnection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import javax.annotation.Nullable;
77

8-
import tech.ydb.jdbc.context.YdbQuery;
8+
import tech.ydb.jdbc.query.YdbQuery;
99
import tech.ydb.jdbc.context.YdbContext;
1010
import tech.ydb.jdbc.context.YdbExecutor;
1111
import tech.ydb.table.query.DataQueryResult;

jdbc/src/main/java/tech/ydb/jdbc/YdbConst.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,8 @@ public final class YdbConst {
8989
public static final String CANNOT_LOAD_DATA_FROM_IS = "Unable to load data from input stream: ";
9090
public static final String CANNOT_LOAD_DATA_FROM_READER = "Unable to load data from reader: ";
9191
public static final String UNSUPPORTED_QUERY_TYPE_IN_PS = "Query type in prepared statement not supported: ";
92-
public static final String UNKNOWN_PARAMETER_IN_BATCH = "New parameter when batch already added: ";
9392
public static final String STATEMENT_IS_NOT_A_BATCH = "Statement cannot be executed as batch statement: ";
94-
public static final String TRY_EXECUTE_ON_BATCH_STATEMENT = "Cannot call #execute method after #addBatch, " +
95-
"must use #executeBatch";
96-
public static final String INDEXES_PARAMETERS_UNSUPPORTED =
97-
"Indexed parameters are not supported in prepared query: ";
93+
public static final String MULTI_TYPES_IN_ONE_QUERY = "Query cannot contain expressions with different types: ";
9894

9995
// Cast errors
10096

@@ -148,6 +144,7 @@ public final class YdbConst {
148144
// All indexed parameters will have this 'p' as a prefix, setInteger(1, "test") -> setInteger("p1", "test")
149145
public static final String INDEXED_PARAMETER_PREFIX = "p";
150146
public static final String VARIABLE_PARAMETER_PREFIX = "$";
147+
public static final String AUTO_GENERATED_PARAMETER_PREFIX = VARIABLE_PARAMETER_PREFIX + "jp";
151148
public static final String DEFAULT_BATCH_PARAMETER = "$values";
152149
public static final String OPTIONAL_TYPE_SUFFIX = "?";
153150

jdbc/src/main/java/tech/ydb/jdbc/common/JdbcLexer.java

Lines changed: 0 additions & 134 deletions
This file was deleted.

jdbc/src/main/java/tech/ydb/jdbc/common/QueryType.java

Lines changed: 0 additions & 39 deletions
This file was deleted.

jdbc/src/main/java/tech/ydb/jdbc/context/YdbContext.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import tech.ydb.core.grpc.GrpcTransport;
1111
import tech.ydb.core.grpc.GrpcTransportBuilder;
1212
import tech.ydb.jdbc.exception.YdbConfigurationException;
13+
import tech.ydb.jdbc.query.YdbQueryOptions;
1314
import tech.ydb.jdbc.settings.ParsedProperty;
1415
import tech.ydb.jdbc.settings.YdbClientProperties;
1516
import tech.ydb.jdbc.settings.YdbClientProperty;
@@ -39,15 +40,17 @@ public class YdbContext implements AutoCloseable {
3940
private final GrpcTransport grpcTransport;
4041
private final PooledTableClient tableClient;
4142
private final SchemeClient schemeClient;
42-
private final boolean autoResizeSessionPool;
43+
private final YdbQueryOptions queryOptions;
4344

45+
private final boolean autoResizeSessionPool;
4446
private final AtomicInteger connectionsCount = new AtomicInteger();
4547

4648
private YdbContext(YdbConfig config, GrpcTransport transport, PooledTableClient tableClient, boolean autoResize) {
4749
this.config = config;
4850
this.grpcTransport = Objects.requireNonNull(transport);
4951
this.tableClient = Objects.requireNonNull(tableClient);
5052
this.schemeClient = SchemeClient.newClient(transport).build();
53+
this.queryOptions = new YdbQueryOptions(config.getOperationProperties());
5154
this.autoResizeSessionPool = autoResize;
5255
}
5356

@@ -67,6 +70,10 @@ public String getUrl() {
6770
return config.getUrl();
6871
}
6972

73+
public YdbQueryOptions getQueryOptions() {
74+
return queryOptions;
75+
}
76+
7077
public int getConnectionsCount() {
7178
return connectionsCount.get();
7279
}

0 commit comments

Comments
 (0)