@@ -157,6 +157,7 @@ public String[] getValidValues() {
|
157 | 157 | private static final String DEFAULT_NUM_CHANNELS = null;
|
158 | 158 | private static final String DEFAULT_USER_AGENT = null;
|
159 | 159 | private static final String DEFAULT_OPTIMIZER_VERSION = "";
|
| 160 | +private static final String DEFAULT_OPTIMIZER_STATISTICS_PACKAGE = ""; |
160 | 161 | private static final boolean DEFAULT_RETURN_COMMIT_STATS = false;
|
161 | 162 | private static final boolean DEFAULT_LENIENT = false;
|
162 | 163 |
|
@@ -190,6 +191,9 @@ public String[] getValidValues() {
|
190 | 191 | private static final String USER_AGENT_PROPERTY_NAME = "userAgent";
|
191 | 192 | /** Query optimizer version to use for a connection. */
|
192 | 193 | private static final String OPTIMIZER_VERSION_PROPERTY_NAME = "optimizerVersion";
|
| 194 | +/** Query optimizer statistics package to use for a connection. */ |
| 195 | +private static final String OPTIMIZER_STATISTICS_PACKAGE_PROPERTY_NAME = |
| 196 | +"optimizerStatisticsPackage"; |
193 | 197 | /** Name of the 'lenientMode' connection property. */
|
194 | 198 | public static final String LENIENT_PROPERTY_NAME = "lenient";
|
195 | 199 |
|
@@ -238,6 +242,8 @@ public String[] getValidValues() {
|
238 | 242 | ConnectionProperty.createStringProperty(
|
239 | 243 | OPTIMIZER_VERSION_PROPERTY_NAME,
|
240 | 244 | "Sets the default query optimizer version to use for this connection."),
|
| 245 | +ConnectionProperty.createStringProperty( |
| 246 | +OPTIMIZER_STATISTICS_PACKAGE_PROPERTY_NAME, ""), |
241 | 247 | ConnectionProperty.createBooleanProperty("returnCommitStats", "", false),
|
242 | 248 | ConnectionProperty.createBooleanProperty(
|
243 | 249 | "autoConfigEmulator",
|
@@ -521,6 +527,7 @@ private ConnectionOptions(Builder builder) {
|
521 | 527 | this.userAgent = parseUserAgent(this.uri);
|
522 | 528 | QueryOptions.Builder queryOptionsBuilder = QueryOptions.newBuilder();
|
523 | 529 | queryOptionsBuilder.setOptimizerVersion(parseOptimizerVersion(this.uri));
|
| 530 | +queryOptionsBuilder.setOptimizerStatisticsPackage(parseOptimizerStatisticsPackage(this.uri)); |
524 | 531 | this.queryOptions = queryOptionsBuilder.build();
|
525 | 532 | this.returnCommitStats = parseReturnCommitStats(this.uri);
|
526 | 533 | this.autoConfigEmulator = parseAutoConfigEmulator(this.uri);
|
@@ -695,6 +702,12 @@ static String parseOptimizerVersion(String uri) {
|
695 | 702 | return value != null ? value : DEFAULT_OPTIMIZER_VERSION;
|
696 | 703 | }
|
697 | 704 |
|
| 705 | +@VisibleForTesting |
| 706 | +static String parseOptimizerStatisticsPackage(String uri) { |
| 707 | +String value = parseUriProperty(uri, OPTIMIZER_STATISTICS_PACKAGE_PROPERTY_NAME); |
| 708 | +return value != null ? value : DEFAULT_OPTIMIZER_STATISTICS_PACKAGE; |
| 709 | +} |
| 710 | + |
698 | 711 | @VisibleForTesting
|
699 | 712 | static boolean parseReturnCommitStats(String uri) {
|
700 | 713 | String value = parseUriProperty(uri, "returnCommitStats");
|
|
0 commit comments