google-cloud-spanner 3.44.0__tar.gz → 3.45.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. {google-cloud-spanner-3.44.0/google_cloud_spanner.egg-info → google-cloud-spanner-3.45.0}/PKG-INFO +1 -2
  2. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/gapic_version.py +1 -1
  3. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/gapic_version.py +1 -1
  4. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/connection.py +4 -4
  5. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/parse_utils.py +5 -2
  6. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/_helpers.py +36 -3
  7. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/gapic_version.py +1 -1
  8. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/param_types.py +1 -0
  9. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0/google_cloud_spanner.egg-info}/PKG-INFO +1 -2
  10. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google_cloud_spanner.egg-info/requires.txt +0 -1
  11. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/setup.py +0 -1
  12. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/test_session_api.py +12 -0
  13. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test__helpers.py +44 -5
  14. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test_param_types.py +17 -0
  15. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/LICENSE +0 -0
  16. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/MANIFEST.in +0 -0
  17. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/README.rst +0 -0
  18. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner.py +0 -0
  19. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/__init__.py +0 -0
  20. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/gapic_metadata.json +0 -0
  21. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/py.typed +0 -0
  22. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/services/__init__.py +0 -0
  23. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/services/database_admin/__init__.py +0 -0
  24. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/services/database_admin/async_client.py +0 -0
  25. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/services/database_admin/client.py +0 -0
  26. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/services/database_admin/pagers.py +0 -0
  27. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/__init__.py +0 -0
  28. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/base.py +0 -0
  29. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/grpc.py +0 -0
  30. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/grpc_asyncio.py +0 -0
  31. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/rest.py +0 -0
  32. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/types/__init__.py +0 -0
  33. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/types/backup.py +0 -0
  34. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/types/common.py +0 -0
  35. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_database_v1/types/spanner_database_admin.py +0 -0
  36. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/__init__.py +0 -0
  37. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/gapic_metadata.json +0 -0
  38. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/py.typed +0 -0
  39. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/services/__init__.py +0 -0
  40. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/__init__.py +0 -0
  41. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/async_client.py +0 -0
  42. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/client.py +0 -0
  43. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/pagers.py +0 -0
  44. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/__init__.py +0 -0
  45. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/base.py +0 -0
  46. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/grpc.py +0 -0
  47. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/grpc_asyncio.py +0 -0
  48. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/rest.py +0 -0
  49. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/types/__init__.py +0 -0
  50. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/types/common.py +0 -0
  51. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_admin_instance_v1/types/spanner_instance_admin.py +0 -0
  52. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/__init__.py +0 -0
  53. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/_helpers.py +0 -0
  54. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/batch_dml_executor.py +0 -0
  55. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/checksum.py +0 -0
  56. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/client_side_statement_executor.py +0 -0
  57. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/client_side_statement_parser.py +0 -0
  58. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/cursor.py +0 -0
  59. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/exceptions.py +0 -0
  60. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/parsed_statement.py +0 -0
  61. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/parser.py +0 -0
  62. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/partition_helper.py +0 -0
  63. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/transaction_helper.py +0 -0
  64. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/types.py +0 -0
  65. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/utils.py +0 -0
  66. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_dbapi/version.py +0 -0
  67. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/__init__.py +0 -0
  68. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/_opentelemetry_tracing.py +0 -0
  69. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/backup.py +0 -0
  70. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/batch.py +0 -0
  71. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/client.py +0 -0
  72. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/data_types.py +0 -0
  73. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/database.py +0 -0
  74. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/gapic_metadata.json +0 -0
  75. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/instance.py +0 -0
  76. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/keyset.py +0 -0
  77. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/merged_result_set.py +0 -0
  78. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/pool.py +0 -0
  79. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/py.typed +0 -0
  80. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/services/__init__.py +0 -0
  81. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/services/spanner/__init__.py +0 -0
  82. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/services/spanner/async_client.py +0 -0
  83. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/services/spanner/client.py +0 -0
  84. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/services/spanner/pagers.py +0 -0
  85. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/services/spanner/transports/__init__.py +0 -0
  86. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/services/spanner/transports/base.py +0 -0
  87. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/services/spanner/transports/grpc.py +0 -0
  88. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/services/spanner/transports/grpc_asyncio.py +0 -0
  89. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/services/spanner/transports/rest.py +0 -0
  90. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/session.py +0 -0
  91. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/snapshot.py +0 -0
  92. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/streamed.py +0 -0
  93. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/table.py +0 -0
  94. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/testing/database_test.py +0 -0
  95. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/testing/interceptors.py +0 -0
  96. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/transaction.py +0 -0
  97. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/types/__init__.py +0 -0
  98. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/types/commit_response.py +0 -0
  99. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/types/keys.py +0 -0
  100. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/types/mutation.py +0 -0
  101. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/types/query_plan.py +0 -0
  102. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/types/result_set.py +0 -0
  103. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/types/spanner.py +0 -0
  104. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/types/transaction.py +0 -0
  105. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google/cloud/spanner_v1/types/type.py +0 -0
  106. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google_cloud_spanner.egg-info/SOURCES.txt +0 -0
  107. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google_cloud_spanner.egg-info/dependency_links.txt +0 -0
  108. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google_cloud_spanner.egg-info/not-zip-safe +0 -0
  109. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/google_cloud_spanner.egg-info/top_level.txt +0 -0
  110. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/setup.cfg +0 -0
  111. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/__init__.py +0 -0
  112. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/_fixtures.py +0 -0
  113. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/_helpers.py +0 -0
  114. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/__init__.py +0 -0
  115. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/_helpers.py +0 -0
  116. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/_sample_data.py +0 -0
  117. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/conftest.py +0 -0
  118. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/test_backup_api.py +0 -0
  119. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/test_database_api.py +0 -0
  120. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/test_dbapi.py +0 -0
  121. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/test_instance_api.py +0 -0
  122. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/test_streaming_chunking.py +0 -0
  123. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/test_table_api.py +0 -0
  124. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/utils/__init__.py +0 -0
  125. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/utils/clear_streaming.py +0 -0
  126. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/utils/populate_streaming.py +0 -0
  127. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/utils/scrub_instances.py +0 -0
  128. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/system/utils/streaming_utils.py +0 -0
  129. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/__init__.py +0 -0
  130. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/gapic/__init__.py +0 -0
  131. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/gapic/spanner_admin_database_v1/__init__.py +0 -0
  132. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/gapic/spanner_admin_database_v1/test_database_admin.py +0 -0
  133. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/gapic/spanner_admin_instance_v1/__init__.py +0 -0
  134. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/gapic/spanner_admin_instance_v1/test_instance_admin.py +0 -0
  135. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/gapic/spanner_v1/__init__.py +0 -0
  136. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/gapic/spanner_v1/test_spanner.py +0 -0
  137. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/spanner_dbapi/__init__.py +0 -0
  138. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/spanner_dbapi/test__helpers.py +0 -0
  139. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/spanner_dbapi/test_batch_dml_executor.py +0 -0
  140. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/spanner_dbapi/test_checksum.py +0 -0
  141. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/spanner_dbapi/test_connect.py +0 -0
  142. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/spanner_dbapi/test_connection.py +0 -0
  143. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/spanner_dbapi/test_cursor.py +0 -0
  144. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/spanner_dbapi/test_globals.py +0 -0
  145. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/spanner_dbapi/test_parse_utils.py +0 -0
  146. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/spanner_dbapi/test_parser.py +0 -0
  147. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/spanner_dbapi/test_transaction_helper.py +0 -0
  148. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/spanner_dbapi/test_types.py +0 -0
  149. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/spanner_dbapi/test_utils.py +0 -0
  150. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/streaming-read-acceptance-test.json +0 -0
  151. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test__opentelemetry_tracing.py +0 -0
  152. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test_backup.py +0 -0
  153. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test_batch.py +0 -0
  154. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test_client.py +0 -0
  155. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test_database.py +0 -0
  156. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test_instance.py +0 -0
  157. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test_keyset.py +0 -0
  158. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test_packaging.py +0 -0
  159. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test_pool.py +0 -0
  160. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test_session.py +0 -0
  161. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test_snapshot.py +0 -0
  162. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test_spanner.py +0 -0
  163. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test_streamed.py +0 -0
  164. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test_table.py +0 -0
  165. {google-cloud-spanner-3.44.0 → google-cloud-spanner-3.45.0}/tests/unit/test_transaction.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: google-cloud-spanner
3
- Version: 3.44.0
3
+ Version: 3.45.0
4
4
  Summary: Google Cloud Spanner API client library
5
5
  Home-page: https://github.com/googleapis/python-spanner
6
6
  Author: Google LLC
@@ -29,7 +29,6 @@ Requires-Dist: proto-plus<2.0.0dev,>=1.22.0
29
29
  Requires-Dist: sqlparse>=0.4.4
30
30
  Requires-Dist: proto-plus<2.0.0dev,>=1.22.2; python_version >= "3.11"
31
31
  Requires-Dist: protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5
32
- Requires-Dist: deprecated>=1.2.14
33
32
  Requires-Dist: grpc-interceptor>=0.15.4
34
33
  Provides-Extra: tracing
35
34
  Requires-Dist: opentelemetry-api>=1.1.0; extra == "tracing"
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- __version__ = "3.44.0" # {x-release-please-version}
16
+ __version__ = "3.45.0" # {x-release-please-version}
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- __version__ = "3.44.0" # {x-release-please-version}
16
+ __version__ = "3.45.0" # {x-release-please-version}
@@ -31,7 +31,6 @@ from google.cloud.spanner_dbapi.transaction_helper import TransactionRetryHelper
31
31
  from google.cloud.spanner_dbapi.cursor import Cursor
32
32
  from google.cloud.spanner_v1 import RequestOptions
33
33
  from google.cloud.spanner_v1.snapshot import Snapshot
34
- from deprecated import deprecated
35
34
 
36
35
  from google.cloud.spanner_dbapi.exceptions import (
37
36
  InterfaceError,
@@ -187,10 +186,11 @@ class Connection:
187
186
  return self._autocommit_dml_mode
188
187
 
189
188
  @property
190
- @deprecated(
191
- reason="This method is deprecated. Use _spanner_transaction_started field"
192
- )
193
189
  def inside_transaction(self):
190
+ warnings.warn(
191
+ "This method is deprecated. Use _spanner_transaction_started field",
192
+ DeprecationWarning,
193
+ )
194
194
  return (
195
195
  self._transaction
196
196
  and not self._transaction.committed
@@ -17,12 +17,12 @@
17
17
  import datetime
18
18
  import decimal
19
19
  import re
20
+ import warnings
20
21
 
21
22
  import sqlparse
22
23
  from google.cloud import spanner_v1 as spanner
23
24
  from google.cloud.spanner_v1 import JsonObject
24
25
  from . import client_side_statement_parser
25
- from deprecated import deprecated
26
26
 
27
27
  from .exceptions import Error
28
28
  from .parsed_statement import ParsedStatement, StatementType, Statement
@@ -179,7 +179,6 @@ RE_VALUES_PYFORMAT = re.compile(
179
179
  RE_PYFORMAT = re.compile(r"(%s|%\([^\(\)]+\)s)+", re.DOTALL)
180
180
 
181
181
 
182
- @deprecated(reason="This method is deprecated. Use _classify_stmt method")
183
182
  def classify_stmt(query):
184
183
  """Determine SQL query type.
185
184
  :type query: str
@@ -187,6 +186,10 @@ def classify_stmt(query):
187
186
  :rtype: str
188
187
  :returns: The query type name.
189
188
  """
189
+ warnings.warn(
190
+ "This method is deprecated. Use _classify_stmt method", DeprecationWarning
191
+ )
192
+
190
193
  # sqlparse will strip Cloud Spanner comments,
191
194
  # still, special commenting styles, like
192
195
  # PostgreSQL dollar quoted comments are not
@@ -24,7 +24,6 @@ from google.protobuf.struct_pb2 import Value
24
24
 
25
25
  from google.api_core import datetime_helpers
26
26
  from google.cloud._helpers import _date_from_iso8601_date
27
- from google.cloud._helpers import _datetime_to_rfc3339
28
27
  from google.cloud.spanner_v1 import TypeCode
29
28
  from google.cloud.spanner_v1 import ExecuteSqlRequest
30
29
  from google.cloud.spanner_v1 import JsonObject
@@ -122,6 +121,40 @@ def _assert_numeric_precision_and_scale(value):
122
121
  raise ValueError(NUMERIC_MAX_PRECISION_ERR_MSG.format(precision + scale))
123
122
 
124
123
 
124
+ def _datetime_to_rfc3339(value):
125
+ """Format the provided datatime in the RFC 3339 format.
126
+
127
+ :type value: datetime.datetime
128
+ :param value: value to format
129
+
130
+ :rtype: str
131
+ :returns: RFC 3339 formatted datetime string
132
+ """
133
+ # Convert to UTC and then drop the timezone so we can append "Z" in lieu of
134
+ # allowing isoformat to append the "+00:00" zone offset.
135
+ value = value.astimezone(datetime.timezone.utc).replace(tzinfo=None)
136
+ return value.isoformat(sep="T", timespec="microseconds") + "Z"
137
+
138
+
139
+ def _datetime_to_rfc3339_nanoseconds(value):
140
+ """Format the provided datatime in the RFC 3339 format.
141
+
142
+ :type value: datetime_helpers.DatetimeWithNanoseconds
143
+ :param value: value to format
144
+
145
+ :rtype: str
146
+ :returns: RFC 3339 formatted datetime string
147
+ """
148
+
149
+ if value.nanosecond == 0:
150
+ return _datetime_to_rfc3339(value)
151
+ nanos = str(value.nanosecond).rjust(9, "0").rstrip("0")
152
+ # Convert to UTC and then drop the timezone so we can append "Z" in lieu of
153
+ # allowing isoformat to append the "+00:00" zone offset.
154
+ value = value.astimezone(datetime.timezone.utc).replace(tzinfo=None)
155
+ return "{}.{}Z".format(value.isoformat(sep="T", timespec="seconds"), nanos)
156
+
157
+
125
158
  def _make_value_pb(value):
126
159
  """Helper for :func:`_make_list_value_pbs`.
127
160
 
@@ -150,9 +183,9 @@ def _make_value_pb(value):
150
183
  return Value(string_value="-Infinity")
151
184
  return Value(number_value=value)
152
185
  if isinstance(value, datetime_helpers.DatetimeWithNanoseconds):
153
- return Value(string_value=value.rfc3339())
186
+ return Value(string_value=_datetime_to_rfc3339_nanoseconds(value))
154
187
  if isinstance(value, datetime.datetime):
155
- return Value(string_value=_datetime_to_rfc3339(value, ignore_zone=False))
188
+ return Value(string_value=_datetime_to_rfc3339(value))
156
189
  if isinstance(value, datetime.date):
157
190
  return Value(string_value=value.isoformat())
158
191
  if isinstance(value, bytes):
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- __version__ = "3.44.0" # {x-release-please-version}
16
+ __version__ = "3.45.0" # {x-release-please-version}
@@ -33,6 +33,7 @@ NUMERIC = Type(code=TypeCode.NUMERIC)
33
33
  JSON = Type(code=TypeCode.JSON)
34
34
  PG_NUMERIC = Type(code=TypeCode.NUMERIC, type_annotation=TypeAnnotationCode.PG_NUMERIC)
35
35
  PG_JSONB = Type(code=TypeCode.JSON, type_annotation=TypeAnnotationCode.PG_JSONB)
36
+ PG_OID = Type(code=TypeCode.INT64, type_annotation=TypeAnnotationCode.PG_OID)
36
37
 
37
38
 
38
39
  def Array(element_type):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: google-cloud-spanner
3
- Version: 3.44.0
3
+ Version: 3.45.0
4
4
  Summary: Google Cloud Spanner API client library
5
5
  Home-page: https://github.com/googleapis/python-spanner
6
6
  Author: Google LLC
@@ -29,7 +29,6 @@ Requires-Dist: proto-plus<2.0.0dev,>=1.22.0
29
29
  Requires-Dist: sqlparse>=0.4.4
30
30
  Requires-Dist: proto-plus<2.0.0dev,>=1.22.2; python_version >= "3.11"
31
31
  Requires-Dist: protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5
32
- Requires-Dist: deprecated>=1.2.14
33
32
  Requires-Dist: grpc-interceptor>=0.15.4
34
33
  Provides-Extra: tracing
35
34
  Requires-Dist: opentelemetry-api>=1.1.0; extra == "tracing"
@@ -4,7 +4,6 @@ grpc-google-iam-v1<1.0.0dev,>=0.12.4
4
4
  proto-plus<2.0.0dev,>=1.22.0
5
5
  sqlparse>=0.4.4
6
6
  protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5
7
- deprecated>=1.2.14
8
7
  grpc-interceptor>=0.15.4
9
8
 
10
9
  [:python_version >= "3.11"]
@@ -43,7 +43,6 @@ dependencies = [
43
43
  "sqlparse >= 0.4.4",
44
44
  "proto-plus >= 1.22.2, <2.0.0dev; python_version>='3.11'",
45
45
  "protobuf>=3.19.5,<5.0.0dev,!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5",
46
- "deprecated >= 1.2.14",
47
46
  "grpc-interceptor >= 0.15.4",
48
47
  ]
49
48
  extras = {
@@ -2348,6 +2348,18 @@ def test_execute_sql_w_jsonb_bindings(
2348
2348
  )
2349
2349
 
2350
2350
 
2351
+ def test_execute_sql_w_oid_bindings(
2352
+ not_emulator, not_google_standard_sql, sessions_database, database_dialect
2353
+ ):
2354
+ _bind_test_helper(
2355
+ sessions_database,
2356
+ database_dialect,
2357
+ spanner_v1.param_types.PG_OID,
2358
+ 123,
2359
+ [123, 456],
2360
+ )
2361
+
2362
+
2351
2363
  def test_execute_sql_w_query_param_struct(sessions_database, not_postgres):
2352
2364
  name = "Phred"
2353
2365
  count = 123
@@ -190,6 +190,15 @@ class Test_make_value_pb(unittest.TestCase):
190
190
  self.assertIsInstance(value_pb, Value)
191
191
  self.assertEqual(value_pb.string_value, today.isoformat())
192
192
 
193
+ def test_w_date_pre1000ad(self):
194
+ import datetime
195
+ from google.protobuf.struct_pb2 import Value
196
+
197
+ when = datetime.date(800, 2, 25)
198
+ value_pb = self._callFUT(when)
199
+ self.assertIsInstance(value_pb, Value)
200
+ self.assertEqual(value_pb.string_value, "0800-02-25")
201
+
193
202
  def test_w_timestamp_w_nanos(self):
194
203
  import datetime
195
204
  from google.protobuf.struct_pb2 import Value
@@ -200,7 +209,19 @@ class Test_make_value_pb(unittest.TestCase):
200
209
  )
201
210
  value_pb = self._callFUT(when)
202
211
  self.assertIsInstance(value_pb, Value)
203
- self.assertEqual(value_pb.string_value, when.rfc3339())
212
+ self.assertEqual(value_pb.string_value, "2016-12-20T21:13:47.123456789Z")
213
+
214
+ def test_w_timestamp_w_nanos_pre1000ad(self):
215
+ import datetime
216
+ from google.protobuf.struct_pb2 import Value
217
+ from google.api_core import datetime_helpers
218
+
219
+ when = datetime_helpers.DatetimeWithNanoseconds(
220
+ 850, 12, 20, 21, 13, 47, nanosecond=123456789, tzinfo=datetime.timezone.utc
221
+ )
222
+ value_pb = self._callFUT(when)
223
+ self.assertIsInstance(value_pb, Value)
224
+ self.assertEqual(value_pb.string_value, "0850-12-20T21:13:47.123456789Z")
204
225
 
205
226
  def test_w_listvalue(self):
206
227
  from google.protobuf.struct_pb2 import Value
@@ -214,12 +235,20 @@ class Test_make_value_pb(unittest.TestCase):
214
235
  def test_w_datetime(self):
215
236
  import datetime
216
237
  from google.protobuf.struct_pb2 import Value
217
- from google.api_core import datetime_helpers
218
238
 
219
- now = datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc)
220
- value_pb = self._callFUT(now)
239
+ when = datetime.datetime(2021, 2, 8, 0, 0, 0, tzinfo=datetime.timezone.utc)
240
+ value_pb = self._callFUT(when)
241
+ self.assertIsInstance(value_pb, Value)
242
+ self.assertEqual(value_pb.string_value, "2021-02-08T00:00:00.000000Z")
243
+
244
+ def test_w_datetime_pre1000ad(self):
245
+ import datetime
246
+ from google.protobuf.struct_pb2 import Value
247
+
248
+ when = datetime.datetime(916, 2, 8, 0, 0, 0, tzinfo=datetime.timezone.utc)
249
+ value_pb = self._callFUT(when)
221
250
  self.assertIsInstance(value_pb, Value)
222
- self.assertEqual(value_pb.string_value, datetime_helpers.to_rfc3339(now))
251
+ self.assertEqual(value_pb.string_value, "0916-02-08T00:00:00.000000Z")
223
252
 
224
253
  def test_w_timestamp_w_tz(self):
225
254
  import datetime
@@ -231,6 +260,16 @@ class Test_make_value_pb(unittest.TestCase):
231
260
  self.assertIsInstance(value_pb, Value)
232
261
  self.assertEqual(value_pb.string_value, "2021-02-07T23:00:00.000000Z")
233
262
 
263
+ def test_w_timestamp_w_tz_pre1000ad(self):
264
+ import datetime
265
+ from google.protobuf.struct_pb2 import Value
266
+
267
+ zone = datetime.timezone(datetime.timedelta(hours=+1), name="CET")
268
+ when = datetime.datetime(721, 2, 8, 0, 0, 0, tzinfo=zone)
269
+ value_pb = self._callFUT(when)
270
+ self.assertIsInstance(value_pb, Value)
271
+ self.assertEqual(value_pb.string_value, "0721-02-07T23:00:00.000000Z")
272
+
234
273
  def test_w_unknown_type(self):
235
274
  with self.assertRaises(ValueError):
236
275
  self._callFUT(object())
@@ -70,3 +70,20 @@ class Test_JsonbParamType(unittest.TestCase):
70
70
  found = param_types.PG_JSONB
71
71
 
72
72
  self.assertEqual(found, expected)
73
+
74
+
75
+ class Test_OidParamType(unittest.TestCase):
76
+ def test_it(self):
77
+ from google.cloud.spanner_v1 import Type
78
+ from google.cloud.spanner_v1 import TypeCode
79
+ from google.cloud.spanner_v1 import TypeAnnotationCode
80
+ from google.cloud.spanner_v1 import param_types
81
+
82
+ expected = Type(
83
+ code=TypeCode.INT64,
84
+ type_annotation=TypeAnnotationCode.PG_OID,
85
+ )
86
+
87
+ found = param_types.PG_OID
88
+
89
+ self.assertEqual(found, expected)