Skip to content

Conversation

IlyaFaer
Copy link
Contributor

With this change users will be able to put several DDLs into one execute() call, like:

cursor.execute("CREATE TABLE ...;CREATE INDEX...")
@IlyaFaer IlyaFaer added api: spanner Issues related to the googleapis/python-spanner API. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design. labels Mar 16, 2021
@google-cla google-cla bot added the cla: yes This human has signed the Contributor License Agreement. label Mar 16, 2021
@IlyaFaer IlyaFaer requested a review from larkee March 16, 2021 09:30
@IlyaFaer IlyaFaer marked this pull request as ready for review March 16, 2021 09:30
@IlyaFaer IlyaFaer requested a review from a team as a code owner March 16, 2021 09:30
@IlyaFaer
Copy link
Contributor Author

IlyaFaer commented Mar 16, 2021

@larkee, these are changes needed for SQLAlchemy dialect, first of all to make it possible to drop indexes and constraints before dropping the table. And, after all, I think it's not a bad feature.

@larkee
Copy link
Contributor

larkee commented Mar 16, 2021

Please add or update a unit test with an example of a DDL statement with semicolons.

@larkee
Copy link
Contributor

larkee commented Mar 17, 2021

Would it be reasonable to also allow for each statement to start on a new line? See here for an example of what I mean.

@IlyaFaer
Copy link
Contributor Author

IlyaFaer commented Mar 17, 2021

@larkee, it's already working with new lines. I've added a line with \n symbol into the test to be sure.

str.strip() erases \n symbols as well (though it's something not mentioned in Python docs directly). Here is a short example:

image

@larkee larkee merged commit 801ddc8 into googleapis:master Mar 18, 2021
@IlyaFaer IlyaFaer deleted the several_ddls branch March 18, 2021 08:20
gcf-merge-on-green bot pushed a commit that referenced this pull request Mar 25, 2021
🤖 I have created a release \*beep\* \*boop\* --- ## [3.3.0](https://www.github.com/googleapis/python-spanner/compare/v3.2.0...v3.3.0) (2021-03-25) ### Features * add encryption_info to Database ([#284](https://www.github.com/googleapis/python-spanner/issues/284)) ([2fd0352](https://www.github.com/googleapis/python-spanner/commit/2fd0352f695d7ab85e57d8c4388f42f91cf39435)) * add support for CMEK ([#105](https://www.github.com/googleapis/python-spanner/issues/105)) ([e990ff7](https://www.github.com/googleapis/python-spanner/commit/e990ff70342e7c2e27059e82c8d74cce39eb85d0)) * add support for custom timeout and retry parameters in execute_update method in transactions ([#251](https://www.github.com/googleapis/python-spanner/issues/251)) ([8abaebd](https://www.github.com/googleapis/python-spanner/commit/8abaebd9edac198596e7bd51d068d50147d0391d)) * added retry and timeout params to partition read in database and snapshot class ([#278](https://www.github.com/googleapis/python-spanner/issues/278)) ([1a7c9d2](https://www.github.com/googleapis/python-spanner/commit/1a7c9d296c23dfa7be7b07ea511a4a8fc2c0693f)) * **db_api:** support executing several DDLs separated by semicolon ([#277](https://www.github.com/googleapis/python-spanner/issues/277)) ([801ddc8](https://www.github.com/googleapis/python-spanner/commit/801ddc87434ff9e3c86b1281ebfeac26195c06e8)) ### Bug Fixes * avoid consuming pending null values when merging ([#286](https://www.github.com/googleapis/python-spanner/issues/286)) ([c6cba9f](https://www.github.com/googleapis/python-spanner/commit/c6cba9fbe4c717f1f8e2a97e3f76bfe6b956e55b)) * **db_api:** allow file path for credentials ([#221](https://www.github.com/googleapis/python-spanner/issues/221)) ([1de0284](https://www.github.com/googleapis/python-spanner/commit/1de028430b779a50d38242fe70567e92b560df5a)) * **db_api:** ensure DDL statements are being executed ([#290](https://www.github.com/googleapis/python-spanner/issues/290)) ([baa02ee](https://www.github.com/googleapis/python-spanner/commit/baa02ee1a352f7c509a3e169927cf220913e521f)) * **db_api:** revert Mutations API usage ([#285](https://www.github.com/googleapis/python-spanner/issues/285)) ([e5d4901](https://www.github.com/googleapis/python-spanner/commit/e5d4901e9b7111b39dfec4c56032875dc7c6e74c)) ### Documentation * fix docstring types and typos ([#259](https://www.github.com/googleapis/python-spanner/issues/259)) ([1b0ce1d](https://www.github.com/googleapis/python-spanner/commit/1b0ce1d2986085ce4033cf773eb6c5d3b904473c)) * fix snapshot usage ([#291](https://www.github.com/googleapis/python-spanner/issues/291)) ([eee2181](https://www.github.com/googleapis/python-spanner/commit/eee218164c3177586b73278aa21495280984af89)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: spanner Issues related to the googleapis/python-spanner API. cla: yes This human has signed the Contributor License Agreement. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.

2 participants