-
Notifications
You must be signed in to change notification settings - Fork 86
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
feat: Implement ExecuteQuery API for SQL support #2280
feat: Implement ExecuteQuery API for SQL support #2280
Commits on Jul 16, 2024
-
feat: publish the Cloud Bigtable ExecuteQuery API
The ExecuteQuery API will allow users to query Bigtable using SQL PiperOrigin-RevId: 650660213 Source-Link: googleapis/googleapis@f681f79 Source-Link: googleapis/googleapis-gen@3180845 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMzE4MDg0NTQ4NzEzNjc5NDk1MmI4ZjM2NWZlNmM2ODY4OTk5ZDljMCJ9
Configuration menu - View commit details
-
Copy full SHA for 0ea298c - Browse repository at this point
Copy the full SHA 0ea298cView commit details -
Configuration menu - View commit details
-
Copy full SHA for f82b891 - Browse repository at this point
Copy the full SHA f82b891View commit details -
feat: publish ProtoRows Message
This is needed to parse ExecuteQuery responses PiperOrigin-RevId: 651386373 Source-Link: googleapis/googleapis@a5be6fa Source-Link: googleapis/googleapis-gen@d467ce8 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZDQ2N2NlODkzYTA0YzQxZTUwNDk4MzM0NmMyMTVkNDFmZDI2MzY1MCJ9
Configuration menu - View commit details
-
Copy full SHA for 3c129ba - Browse repository at this point
Copy the full SHA 3c129baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3379328 - Browse repository at this point
Copy the full SHA 3379328View commit details -
Temporarily allow method level tests to pass for ExecuteQuery
I will re-add these once the client supports the appropriate behavior for readRows Change-Id: I4b5b0861e93f0a8b97d51556c74bccfe0b1da521
Configuration menu - View commit details
-
Copy full SHA for b06e9d4 - Browse repository at this point
Copy the full SHA b06e9d4View commit details -
Copy SqlRowMerger from internal code
This moves things mostly as is. I will move everything to appropriate packages in a follow on (e.g. utils will move to internal). Wanted to keep the changes as minimal as possible Renames ProtoRowsBatchMergingStateMachine to ProtoRowsMergingStateMachine and removes the obsolete ProtoRowsMergingStateMachine This simplifies the internal code by removing support for the old api. It should not change any behavior for he ProtoRowsBatch API Change-Id: I8e8267a9cfeb59e0f8455876d1bccdb7c3778b76
Configuration menu - View commit details
-
Copy full SHA for 9cfe1a0 - Browse repository at this point
Copy the full SHA 9cfe1a0View commit details -
Implement main interfaces for interacting with ResultSets
This adds the main interfaces for interacting with data: ResultSet, StructReader, and Struct. StructReader is used by ResultSet, SqlRow, and Struct to provide a standard set of accessors for the data. I'm a little uncertain about the package structure right now. I've put interfaces that users will interact with directly in 'models' and everything else in 'internal'. Internal will include both internal interfaces and the implementations of the public interfaces. Otherwise I have kept the package structure pretty flat but happy to group the sql stuff together more. This includes thorough documentation for the public interfaces. Change-Id: I4535daffc596e9355da64b5655c58a68e5e7a95f
Configuration menu - View commit details
-
Copy full SHA for c732dd0 - Browse repository at this point
Copy the full SHA c732dd0View commit details -
Implement proto to java conversion via AbstractProtoStructReader
This will be re-used for structs in the following commit. The current design implements this at the Row/Struct level instead of ResultSet & Struct so that result set can operate on rows of different types when we support arrow. ResultSet will then be a light wrapper where each getType call is passed through to the current row. Change-Id: I21fb4cc0cd830110d5455581491c5b1861efbcb1
Configuration menu - View commit details
-
Copy full SHA for ed96cbf - Browse repository at this point
Copy the full SHA ed96cbfView commit details -
Add implementation for ProtoStruct
Change-Id: Ie9d3892fe92c779a6b81d457c31b534bdce20f38
Configuration menu - View commit details
-
Copy full SHA for ab676df - Browse repository at this point
Copy the full SHA ab676dfView commit details -
This also removes the metadata helpers from the ResultSet interface. These helpers will live on ResultSetMetadata instead. Change-Id: Iba60b42b4e62f2d72c5a21206edf716c0ad5ea73
Configuration menu - View commit details
-
Copy full SHA for cb96881 - Browse repository at this point
Copy the full SHA cb96881View commit details -
Implement ResultSetMetadata and use it everwhere we operate on metadata
Also fix AbstractProtoStructReaderTest which was using the wrong runner and not executing any tests. Fixes a couple test bugs as well. Change-Id: Ia59459f93dd38046e9ac22995191becaad6ea44e
Configuration menu - View commit details
-
Copy full SHA for e40c924 - Browse repository at this point
Copy the full SHA e40c924View commit details -
Create execute query callables and wire up api to data client
This uses the ExecuteQueryCallContext to pass the metadata back to the user using a future. Note that we need to be very careful here that errors always close this future. That is why watchdog happens higher in the call chain that for other streaming RPCs Also note i decided to unwrap executeExceptions so that when possible the future throws the same exceptions as the row stream Change-Id: Ie9dd523a980efecb2cff010a2ffd7ac52b5f8ac7
Configuration menu - View commit details
-
Copy full SHA for d364c1d - Browse repository at this point
Copy the full SHA d364c1dView commit details -
Add statement API for ExecuteQuery requests
Change-Id: Id9113adb24419da18f6e43e47c0c73cddf4b622e
Configuration menu - View commit details
-
Copy full SHA for bbcd0f0 - Browse repository at this point
Copy the full SHA bbcd0f0View commit details -
Implement java representation of Type protobuf
The admin types in admin.v2.models.Type will be migrated to 1) share the same implementation in common, while defining a narrow interface like SqlType 2) be renamed to SchemaType. We aren't going to block the Sql launch on this though. It can happen after. Change-Id: I9dea84fe9b7b2e0b46e8ece4cb666651183dc639
Configuration menu - View commit details
-
Copy full SHA for c405206 - Browse repository at this point
Copy the full SHA c405206View commit details -
Remove unsupported query param types and add doc
Change-Id: I41a28069865df6aa688ac5bc96181aae9f18deb4
Configuration menu - View commit details
-
Copy full SHA for aefb16d - Browse repository at this point
Copy the full SHA aefb16dView commit details -
Add clirr exclusion for new proto method. Fix dropped import
Change-Id: I0cf3bd45a5f2bb3e2ad980d4170049d69e701d7e
Configuration menu - View commit details
-
Copy full SHA for 8e090fc - Browse repository at this point
Copy the full SHA 8e090fcView commit details -
Small doc update and remove obsolete TODOs
Change-Id: Ie08217d025df3ec3c97dc96268f1c4e1d20b33bf
Configuration menu - View commit details
-
Copy full SHA for 0207e1d - Browse repository at this point
Copy the full SHA 0207e1dView commit details -
Minor documentation fix for executeQuery
Change-Id: I6073e41b5a5b74b91671002cb93dc42c4023f10f
Configuration menu - View commit details
-
Copy full SHA for 10e69e0 - Browse repository at this point
Copy the full SHA 10e69e0View commit details