Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

StatementParser only supports one query hint #163

elefeint opened this issue Apr 21, 2020 · 1 comment · Fixed by #170

StatementParser only supports one query hint #163

elefeint opened this issue Apr 21, 2020 · 1 comment · Fixed by #170
api: spanner priority: p1 type: bug


Copy link

@elefeint elefeint commented Apr 21, 2020

Hello! We've found an obscure select query that the statement parser does not support yet.

Observed behavior

The following evaluates to false:

boolean isQuery = StatementParser.INSTANCE.isQuery("@{FORCE_INDEX=index_name} @{JOIN_METHOD=HASH_JOIN} SELECT * FROM tbl");

Expected behavior

Query Statement with multiple hints is recognized as a valid query.

External references such as API reference guides

Spanner queries can have one of each: query, table and join hint preceding SELECT statement.

Any additional information below

We found this when migrating R2DBC driver from a custom statement parser to the connection API one; this test caught the issue.

@product-auto-label product-auto-label bot added the api: spanner label Apr 21, 2020
Copy link
Contributor Author

@elefeint elefeint commented Apr 21, 2020

cc/ @dmitry-s

@olavloite olavloite added priority: p1 type: bug labels Apr 22, 2020
@olavloite olavloite self-assigned this Apr 22, 2020
gcf-merge-on-green bot pushed a commit that referenced this issue Apr 22, 2020
🤖 I have created a release \*beep\* \*boop\* 
## [1.53.0]( (2020-04-22)

### Features

* optimize maintainer to let sessions be GC'ed instead of deleted ([#135]( ([d65747c](

### Bug Fixes

* assign unique id's per test case ([#129]( ([a553b6d](
* check for not null input for Id classes ([#159]( ([ecf5826](, closes [#145](
* clean up test instance if creation failed ([#162]( ([ff571e1](
* fix flaky test and remove warnings ([#153]( ([d534e35](, closes [#146](
* increase test timeout and remove warnings ([#160]( ([63a6bd8](, closes [#158](
* retry non-idempotent long-running RPCs ([#141]( ([4669c02](
* retry restore if blocked by pending restore ([#119]( ([220653d](, closes [#118](
* StatementParser did not accept multiple query hints ([#170]( ([ef41a6e](, closes [#163](
* wait for initialization to finish before test ([#161]( ([fe434ff](, closes [#146](

### Performance Improvements

* increase sessions in the pool in batches ([#134]( ([9e5a1cd](
* prepare sessions with r/w tx in-process ([#152]( ([2db27ce](, closes [#151](

### Dependencies

* update core dependencies ([#109]( ([5753f1f](
* update core dependencies ([#132]( ([77c1558](
* update dependency to v1.9.0 ([#127]( ([b2c744f](
* update dependency to v29 ([#147]( ([3fe3ae0](
* update dependency io.grpc:grpc-bom to v1.29.0 ([#164]( ([2d2ce5c](
* update dependency org.threeten:threetenbp to v1.4.3 ([#120]( ([49d1abc](

This PR was generated with [Release Please](
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
api: spanner priority: p1 type: bug
None yet

Successfully merging a pull request may close this issue.

2 participants