@@ -51,6 +51,12 @@ public void testDefaultOptions() throws SQLException {
|
51 | 51 | assertThat(rs.getString("OPTIMIZER_STATISTICS_PACKAGE")).isEqualTo("");
|
52 | 52 | assertThat(rs.next()).isFalse();
|
53 | 53 | }
|
| 54 | +try (java.sql.ResultSet rs = |
| 55 | +connection.createStatement().executeQuery("SHOW VARIABLE RPC_PRIORITY")) { |
| 56 | +assertThat(rs.next()).isTrue(); |
| 57 | +assertThat(rs.getString("RPC_PRIORITY")).isEqualTo("PRIORITY_UNSPECIFIED"); |
| 58 | +assertThat(rs.next()).isFalse(); |
| 59 | +} |
54 | 60 | }
|
55 | 61 | }
|
56 | 62 |
|
@@ -59,8 +65,8 @@ public void testOptionsInConnectionUrl() throws SQLException {
|
59 | 65 | try (java.sql.Connection connection =
|
60 | 66 | DriverManager.getConnection(
|
61 | 67 | String.format(
|
62 |
| -"jdbc:%s;optimizerVersion=%s;optimizerStatisticsPackage=%s", |
63 |
| -getBaseUrl(), "100", "url_package"))) { |
| 68 | +"jdbc:%s;optimizerVersion=%s;optimizerStatisticsPackage=%s;rpcPriority=%s", |
| 69 | +getBaseUrl(), "100", "url_package", "LOW"))) { |
64 | 70 | try (java.sql.ResultSet rs =
|
65 | 71 | connection.createStatement().executeQuery("SHOW VARIABLE OPTIMIZER_VERSION")) {
|
66 | 72 | assertThat(rs.next()).isTrue();
|
@@ -73,6 +79,12 @@ public void testOptionsInConnectionUrl() throws SQLException {
|
73 | 79 | assertThat(rs.getString("OPTIMIZER_STATISTICS_PACKAGE")).isEqualTo("url_package");
|
74 | 80 | assertThat(rs.next()).isFalse();
|
75 | 81 | }
|
| 82 | +try (java.sql.ResultSet rs = |
| 83 | +connection.createStatement().executeQuery("SHOW VARIABLE RPC_PRIORITY")) { |
| 84 | +assertThat(rs.next()).isTrue(); |
| 85 | +assertThat(rs.getString("RPC_PRIORITY")).isEqualTo("LOW"); |
| 86 | +assertThat(rs.next()).isFalse(); |
| 87 | +} |
76 | 88 | }
|
77 | 89 | }
|
78 | 90 |
|
@@ -122,6 +134,28 @@ public void testSetOptions() throws SQLException {
|
122 | 134 | assertThat(rs.getString("OPTIMIZER_STATISTICS_PACKAGE")).isEqualTo("");
|
123 | 135 | assertThat(rs.next()).isFalse();
|
124 | 136 | }
|
| 137 | + |
| 138 | +connection.createStatement().execute("SET RPC_PRIORITY='LOW'"); |
| 139 | +try (java.sql.ResultSet rs = |
| 140 | +connection.createStatement().executeQuery("SHOW VARIABLE RPC_PRIORITY")) { |
| 141 | +assertThat(rs.next()).isTrue(); |
| 142 | +assertThat(rs.getString("RPC_PRIORITY")).isEqualTo("LOW"); |
| 143 | +assertThat(rs.next()).isFalse(); |
| 144 | +} |
| 145 | +connection.createStatement().execute("SET RPC_PRIORITY='MEDIUM'"); |
| 146 | +try (java.sql.ResultSet rs = |
| 147 | +connection.createStatement().executeQuery("SHOW VARIABLE RPC_PRIORITY")) { |
| 148 | +assertThat(rs.next()).isTrue(); |
| 149 | +assertThat(rs.getString("RPC_PRIORITY")).isEqualTo("MEDIUM"); |
| 150 | +assertThat(rs.next()).isFalse(); |
| 151 | +} |
| 152 | +connection.createStatement().execute("SET RPC_PRIORITY='NULL'"); |
| 153 | +try (java.sql.ResultSet rs = |
| 154 | +connection.createStatement().executeQuery("SHOW VARIABLE RPC_PRIORITY")) { |
| 155 | +assertThat(rs.next()).isTrue(); |
| 156 | +assertThat(rs.getString("RPC_PRIORITY")).isEqualTo("PRIORITY_UNSPECIFIED"); |
| 157 | +assertThat(rs.next()).isFalse(); |
| 158 | +} |
125 | 159 | }
|
126 | 160 | }
|
127 | 161 |
|
@@ -130,6 +164,7 @@ public void testSetAndUseOptions() throws SQLException {
|
130 | 164 | try (java.sql.Connection connection = createJdbcConnection()) {
|
131 | 165 | connection.createStatement().execute("SET OPTIMIZER_VERSION='20'");
|
132 | 166 | connection.createStatement().execute("SET OPTIMIZER_STATISTICS_PACKAGE='20210609'");
|
| 167 | +connection.createStatement().execute("SET RPC_PRIORITY='LOW'"); |
133 | 168 | try (java.sql.ResultSet rs =
|
134 | 169 | connection.createStatement().executeQuery(SELECT_COUNT_STATEMENT.getSql())) {
|
135 | 170 | assertThat(rs.next()).isTrue();
|
@@ -140,10 +175,12 @@ public void testSetAndUseOptions() throws SQLException {
|
140 | 175 | ExecuteSqlRequest request = getLastExecuteSqlRequest();
|
141 | 176 | assertThat(request.getQueryOptions().getOptimizerVersion()).isEqualTo("20");
|
142 | 177 | assertThat(request.getQueryOptions().getOptimizerStatisticsPackage()).isEqualTo("20210609");
|
| 178 | +assertThat(request.getRequestOptions().getPriority().toString()).isEqualTo("PRIORITY_LOW"); |
143 | 179 | }
|
144 | 180 |
|
145 | 181 | connection.createStatement().execute("SET OPTIMIZER_VERSION='latest'");
|
146 | 182 | connection.createStatement().execute("SET OPTIMIZER_STATISTICS_PACKAGE='latest'");
|
| 183 | +connection.createStatement().execute("SET RPC_PRIORITY='MEDIUM'"); |
147 | 184 | try (java.sql.ResultSet rs =
|
148 | 185 | connection.createStatement().executeQuery(SELECT_COUNT_STATEMENT.getSql())) {
|
149 | 186 | assertThat(rs.next()).isTrue();
|
@@ -152,12 +189,15 @@ public void testSetAndUseOptions() throws SQLException {
|
152 | 189 | ExecuteSqlRequest request = getLastExecuteSqlRequest();
|
153 | 190 | assertThat(request.getQueryOptions().getOptimizerVersion()).isEqualTo("latest");
|
154 | 191 | assertThat(request.getQueryOptions().getOptimizerStatisticsPackage()).isEqualTo("latest");
|
| 192 | +assertThat(request.getRequestOptions().getPriority().toString()) |
| 193 | +.isEqualTo("PRIORITY_MEDIUM"); |
155 | 194 | }
|
156 | 195 |
|
157 | 196 | // Set the options to ''. This will do a fallback to the default, meaning that it will be read
|
158 | 197 | // from the environment variables as we have nothing set on the connection URL.
|
159 | 198 | connection.createStatement().execute("SET OPTIMIZER_VERSION=''");
|
160 | 199 | connection.createStatement().execute("SET OPTIMIZER_STATISTICS_PACKAGE=''");
|
| 200 | +connection.createStatement().execute("SET RPC_PRIORITY='NULL'"); |
161 | 201 | try (java.sql.ResultSet rs =
|
162 | 202 | connection.createStatement().executeQuery(SELECT_COUNT_STATEMENT.getSql())) {
|
163 | 203 | assertThat(rs.next()).isTrue();
|
@@ -170,6 +210,8 @@ public void testSetAndUseOptions() throws SQLException {
|
170 | 210 | .isEqualTo(MoreObjects.firstNonNull(System.getenv("SPANNER_OPTIMIZER_VERSION"), ""));
|
171 | 211 | assertThat(request.getQueryOptions().getOptimizerStatisticsPackage())
|
172 | 212 | .isEqualTo(MoreObjects.firstNonNull(System.getenv("OPTIMIZER_STATISTICS_PACKAGE"), ""));
|
| 213 | +assertThat(request.getRequestOptions().getPriority().toString()) |
| 214 | +.isEqualTo("PRIORITY_UNSPECIFIED"); |
173 | 215 | }
|
174 | 216 | }
|
175 | 217 | }
|
@@ -179,7 +221,7 @@ public void testUseOptionsFromConnectionUrl() throws SQLException {
|
179 | 221 | try (java.sql.Connection connection =
|
180 | 222 | DriverManager.getConnection(
|
181 | 223 | String.format(
|
182 |
| -"jdbc:%s;optimizerVersion=10;optimizerStatisticsPackage=20210609_10_00_00", |
| 224 | +"jdbc:%s;optimizerVersion=10;optimizerStatisticsPackage=20210609_10_00_00;rpcPriority=LOW", |
183 | 225 | getBaseUrl()))) {
|
184 | 226 | // Do a query and verify that the version from the connection URL is used.
|
185 | 227 | try (java.sql.ResultSet rs =
|
@@ -192,6 +234,7 @@ public void testUseOptionsFromConnectionUrl() throws SQLException {
|
192 | 234 | assertThat(request.getQueryOptions().getOptimizerVersion()).isEqualTo("10");
|
193 | 235 | assertThat(request.getQueryOptions().getOptimizerStatisticsPackage())
|
194 | 236 | .isEqualTo("20210609_10_00_00");
|
| 237 | +assertThat(request.getRequestOptions().getPriority().toString()).isEqualTo("PRIORITY_LOW"); |
195 | 238 | }
|
196 | 239 | }
|
197 | 240 | }
|
|
0 commit comments