@@ -51,6 +51,12 @@ public void testDefaultOptions() throws SQLException {
5151 assertThat (rs .getString ("OPTIMIZER_STATISTICS_PACKAGE" )).isEqualTo ("" );
5252 assertThat (rs .next ()).isFalse ();
5353 }
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+ }
5460 }
5561 }
5662
@@ -59,8 +65,8 @@ public void testOptionsInConnectionUrl() throws SQLException {
5965 try (java .sql .Connection connection =
6066 DriverManager .getConnection (
6167 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" ))) {
6470 try (java .sql .ResultSet rs =
6571 connection .createStatement ().executeQuery ("SHOW VARIABLE OPTIMIZER_VERSION" )) {
6672 assertThat (rs .next ()).isTrue ();
@@ -73,6 +79,12 @@ public void testOptionsInConnectionUrl() throws SQLException {
7379 assertThat (rs .getString ("OPTIMIZER_STATISTICS_PACKAGE" )).isEqualTo ("url_package" );
7480 assertThat (rs .next ()).isFalse ();
7581 }
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+ }
7688 }
7789 }
7890
@@ -122,6 +134,28 @@ public void testSetOptions() throws SQLException {
122134 assertThat (rs .getString ("OPTIMIZER_STATISTICS_PACKAGE" )).isEqualTo ("" );
123135 assertThat (rs .next ()).isFalse ();
124136 }
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+ }
125159 }
126160 }
127161
@@ -130,6 +164,7 @@ public void testSetAndUseOptions() throws SQLException {
130164 try (java .sql .Connection connection = createJdbcConnection ()) {
131165 connection .createStatement ().execute ("SET OPTIMIZER_VERSION='20'" );
132166 connection .createStatement ().execute ("SET OPTIMIZER_STATISTICS_PACKAGE='20210609'" );
167+ connection .createStatement ().execute ("SET RPC_PRIORITY='LOW'" );
133168 try (java .sql .ResultSet rs =
134169 connection .createStatement ().executeQuery (SELECT_COUNT_STATEMENT .getSql ())) {
135170 assertThat (rs .next ()).isTrue ();
@@ -140,10 +175,12 @@ public void testSetAndUseOptions() throws SQLException {
140175 ExecuteSqlRequest request = getLastExecuteSqlRequest ();
141176 assertThat (request .getQueryOptions ().getOptimizerVersion ()).isEqualTo ("20" );
142177 assertThat (request .getQueryOptions ().getOptimizerStatisticsPackage ()).isEqualTo ("20210609" );
178+ assertThat (request .getRequestOptions ().getPriority ().toString ()).isEqualTo ("PRIORITY_LOW" );
143179 }
144180
145181 connection .createStatement ().execute ("SET OPTIMIZER_VERSION='latest'" );
146182 connection .createStatement ().execute ("SET OPTIMIZER_STATISTICS_PACKAGE='latest'" );
183+ connection .createStatement ().execute ("SET RPC_PRIORITY='MEDIUM'" );
147184 try (java .sql .ResultSet rs =
148185 connection .createStatement ().executeQuery (SELECT_COUNT_STATEMENT .getSql ())) {
149186 assertThat (rs .next ()).isTrue ();
@@ -152,12 +189,15 @@ public void testSetAndUseOptions() throws SQLException {
152189 ExecuteSqlRequest request = getLastExecuteSqlRequest ();
153190 assertThat (request .getQueryOptions ().getOptimizerVersion ()).isEqualTo ("latest" );
154191 assertThat (request .getQueryOptions ().getOptimizerStatisticsPackage ()).isEqualTo ("latest" );
192+ assertThat (request .getRequestOptions ().getPriority ().toString ())
193+ .isEqualTo ("PRIORITY_MEDIUM" );
155194 }
156195
157196 // Set the options to ''. This will do a fallback to the default, meaning that it will be read
158197 // from the environment variables as we have nothing set on the connection URL.
159198 connection .createStatement ().execute ("SET OPTIMIZER_VERSION=''" );
160199 connection .createStatement ().execute ("SET OPTIMIZER_STATISTICS_PACKAGE=''" );
200+ connection .createStatement ().execute ("SET RPC_PRIORITY='NULL'" );
161201 try (java .sql .ResultSet rs =
162202 connection .createStatement ().executeQuery (SELECT_COUNT_STATEMENT .getSql ())) {
163203 assertThat (rs .next ()).isTrue ();
@@ -170,6 +210,8 @@ public void testSetAndUseOptions() throws SQLException {
170210 .isEqualTo (MoreObjects .firstNonNull (System .getenv ("SPANNER_OPTIMIZER_VERSION" ), "" ));
171211 assertThat (request .getQueryOptions ().getOptimizerStatisticsPackage ())
172212 .isEqualTo (MoreObjects .firstNonNull (System .getenv ("OPTIMIZER_STATISTICS_PACKAGE" ), "" ));
213+ assertThat (request .getRequestOptions ().getPriority ().toString ())
214+ .isEqualTo ("PRIORITY_UNSPECIFIED" );
173215 }
174216 }
175217 }
@@ -179,7 +221,7 @@ public void testUseOptionsFromConnectionUrl() throws SQLException {
179221 try (java .sql .Connection connection =
180222 DriverManager .getConnection (
181223 String .format (
182- "jdbc:%s;optimizerVersion=10;optimizerStatisticsPackage=20210609_10_00_00" ,
224+ "jdbc:%s;optimizerVersion=10;optimizerStatisticsPackage=20210609_10_00_00;rpcPriority=LOW " ,
183225 getBaseUrl ()))) {
184226 // Do a query and verify that the version from the connection URL is used.
185227 try (java .sql .ResultSet rs =
@@ -192,6 +234,7 @@ public void testUseOptionsFromConnectionUrl() throws SQLException {
192234 assertThat (request .getQueryOptions ().getOptimizerVersion ()).isEqualTo ("10" );
193235 assertThat (request .getQueryOptions ().getOptimizerStatisticsPackage ())
194236 .isEqualTo ("20210609_10_00_00" );
237+ assertThat (request .getRequestOptions ().getPriority ().toString ()).isEqualTo ("PRIORITY_LOW" );
195238 }
196239 }
197240 }
0 commit comments