execsql2 2.21.0__py3-none-any.whl → 2.21.1__py3-none-any.whl

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 (21) hide show
  1. execsql/db/postgres.py +8 -0
  2. {execsql2-2.21.0.dist-info → execsql2-2.21.1.dist-info}/METADATA +2 -2
  3. {execsql2-2.21.0.dist-info → execsql2-2.21.1.dist-info}/RECORD +21 -21
  4. {execsql2-2.21.0.data → execsql2-2.21.1.data}/data/execsql2_extras/README.md +0 -0
  5. {execsql2-2.21.0.data → execsql2-2.21.1.data}/data/execsql2_extras/config_settings.sqlite +0 -0
  6. {execsql2-2.21.0.data → execsql2-2.21.1.data}/data/execsql2_extras/example_config_prompt.sql +0 -0
  7. {execsql2-2.21.0.data → execsql2-2.21.1.data}/data/execsql2_extras/make_config_db.sql +0 -0
  8. {execsql2-2.21.0.data → execsql2-2.21.1.data}/data/execsql2_extras/md_compare.sql +0 -0
  9. {execsql2-2.21.0.data → execsql2-2.21.1.data}/data/execsql2_extras/md_glossary.sql +0 -0
  10. {execsql2-2.21.0.data → execsql2-2.21.1.data}/data/execsql2_extras/md_upsert.sql +0 -0
  11. {execsql2-2.21.0.data → execsql2-2.21.1.data}/data/execsql2_extras/pg_compare.sql +0 -0
  12. {execsql2-2.21.0.data → execsql2-2.21.1.data}/data/execsql2_extras/pg_glossary.sql +0 -0
  13. {execsql2-2.21.0.data → execsql2-2.21.1.data}/data/execsql2_extras/pg_upsert.sql +0 -0
  14. {execsql2-2.21.0.data → execsql2-2.21.1.data}/data/execsql2_extras/script_template.sql +0 -0
  15. {execsql2-2.21.0.data → execsql2-2.21.1.data}/data/execsql2_extras/ss_compare.sql +0 -0
  16. {execsql2-2.21.0.data → execsql2-2.21.1.data}/data/execsql2_extras/ss_glossary.sql +0 -0
  17. {execsql2-2.21.0.data → execsql2-2.21.1.data}/data/execsql2_extras/ss_upsert.sql +0 -0
  18. {execsql2-2.21.0.dist-info → execsql2-2.21.1.dist-info}/WHEEL +0 -0
  19. {execsql2-2.21.0.dist-info → execsql2-2.21.1.dist-info}/entry_points.txt +0 -0
  20. {execsql2-2.21.0.dist-info → execsql2-2.21.1.dist-info}/licenses/LICENSE.txt +0 -0
  21. {execsql2-2.21.0.dist-info → execsql2-2.21.1.dist-info}/licenses/NOTICE +0 -0
execsql/db/postgres.py CHANGED
@@ -78,6 +78,12 @@ class PostgresDatabase(Database):
78
78
 
79
79
  def db_conn(db: PostgresDatabase, db_name: str):
80
80
  try:
81
+ # prepare_threshold=None disables psycopg3's automatic server-side
82
+ # prepared statements. execsql re-runs the same query text (e.g. via
83
+ # EXPORT) against objects that scripts may drop/recreate or alter
84
+ # between runs; a cached plan whose result type then changes triggers
85
+ # PostgreSQL's "cached plan must not change result type" error. psycopg2
86
+ # never auto-prepared, so this preserves backwards-compatible behavior.
81
87
  if db.user and db.password:
82
88
  return psycopg.connect(
83
89
  host=str(db.server_name),
@@ -86,6 +92,7 @@ class PostgresDatabase(Database):
86
92
  user=db.user,
87
93
  password=db.password,
88
94
  connect_timeout=db.connect_timeout,
95
+ prepare_threshold=None,
89
96
  )
90
97
  else:
91
98
  return psycopg.connect(
@@ -93,6 +100,7 @@ class PostgresDatabase(Database):
93
100
  dbname=db_name,
94
101
  port=db.port,
95
102
  connect_timeout=db.connect_timeout,
103
+ prepare_threshold=None,
96
104
  )
97
105
  except Exception as e:
98
106
  msg = (
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: execsql2
3
- Version: 2.21.0
3
+ Version: 2.21.1
4
4
  Summary: Runs a SQL script against a PostgreSQL, SQLite, MariaDB/MySQL, DuckDB, Firebird, MS-Access, MS-SQL-Server, or Oracle database, or an ODBC DSN. Provides metacommands to import and export data, copy data between databases, conditionally execute SQL and metacommands, and dynamically alter SQL and metacommands with substitution variables.
5
5
  Project-URL: Homepage, https://execsql2.readthedocs.io
6
6
  Project-URL: Repository, https://github.com/geocoug/execsql
@@ -403,7 +403,7 @@ execsql-format --no-sql --in-place scripts/
403
403
  ```yaml
404
404
  repos:
405
405
  - repo: https://github.com/geocoug/execsql
406
- rev: v2.21.0
406
+ rev: v2.21.1
407
407
  hooks:
408
408
  - id: execsql-format
409
409
  ```
@@ -26,7 +26,7 @@ execsql/db/factory.py,sha256=C_cyi3GjNx0opuwc6maFFeCSkjfOfoUjuf68YT4VAHE,5377
26
26
  execsql/db/firebird.py,sha256=cV5wUzQHoz7yugHdNxAn8IW7fL3v1riIsGLykCZhZwA,9480
27
27
  execsql/db/mysql.py,sha256=Z0vI_nQ6vhG3sYa2fv5NOO3JmAsH6_jVjM8FuujQpqI,17961
28
28
  execsql/db/oracle.py,sha256=1_odb5xmlm8vjdJdQXz7SHm9dzIbZ5sxP_IxTklH3kA,12018
29
- execsql/db/postgres.py,sha256=CpMR3TamWAgI2DYkLQ5ZDD24hrt78znYi8rFnDbaDEE,21434
29
+ execsql/db/postgres.py,sha256=LIZgx4T_UPZvOk_mn0l832ShNKgzculdOrVrFO7Rj8I,22045
30
30
  execsql/db/sqlite.py,sha256=xooU6bvD9Y3frRpnbyesE63r6E1fwEHkkcN1YD_UIUE,11519
31
31
  execsql/db/sqlserver.py,sha256=j2ViLoBWzizgaL0u6V4iHfjinrlJ4rpBD3XZiKKdwSU,8968
32
32
  execsql/debug/__init__.py,sha256=j6EGUR0dHzUhWN1mHHtf1-Lhjq3Sb1V-vmnq2Ztgj1M,178
@@ -100,23 +100,23 @@ execsql/utils/numeric.py,sha256=xh02ANSRk3nUpQ-rtm66ILoMqoi7HtzCoRMIOT9U8QI,1570
100
100
  execsql/utils/regex.py,sha256=diEzTZqU_HHwVMadPAvN1Vgzhl7I03eVaEFGCXyGGL8,3770
101
101
  execsql/utils/strings.py,sha256=UQNjpRCEFa1UO6feU-M-9e24wWAvizs_iu_4fFusLxo,8516
102
102
  execsql/utils/timer.py,sha256=eDYf5VzCNFk7oo90InJucUm3XcBdhYMogjZMqeg9xzc,1899
103
- execsql2-2.21.0.data/data/execsql2_extras/README.md,sha256=vX4NTL095dUoA_hesyRMGYBorEZ_Y_tJ9qrd-MVV09I,5032
104
- execsql2-2.21.0.data/data/execsql2_extras/config_settings.sqlite,sha256=aY5cxR7Q7J6zJ4bC9lu5mHUrhy211Cq3MNKPQVCt02E,20480
105
- execsql2-2.21.0.data/data/execsql2_extras/example_config_prompt.sql,sha256=2e8KzzVWhho8KxYVHETSVmZdhW7wodioDsqBLSL6m4s,7487
106
- execsql2-2.21.0.data/data/execsql2_extras/make_config_db.sql,sha256=WwyC6dK-Eh5CAVppiBCDHqiI1_wEI9U95Ytpr4lsZkg,8726
107
- execsql2-2.21.0.data/data/execsql2_extras/md_compare.sql,sha256=qYYVAjSeHZzjszxV3Bv6bg8Ckbq2kMHl87_gh4sywMU,24140
108
- execsql2-2.21.0.data/data/execsql2_extras/md_glossary.sql,sha256=hkZ2Onn57LAKKsuXxzhR8tPtcWXkmWEQkwPE58-Tm2k,10796
109
- execsql2-2.21.0.data/data/execsql2_extras/md_upsert.sql,sha256=_CAK4BzEboRXTNy03SJR-oOjcEdSNMuRBPL6noWUptY,112560
110
- execsql2-2.21.0.data/data/execsql2_extras/pg_compare.sql,sha256=1zJd4hVUKHR0tncc2qTBC9B4qVV4Us2ITkJpsjN3tMw,24352
111
- execsql2-2.21.0.data/data/execsql2_extras/pg_glossary.sql,sha256=IKuwna-_8b20ljSkXZruuiQigrCpo7ueQdUqd1MXiuI,9908
112
- execsql2-2.21.0.data/data/execsql2_extras/pg_upsert.sql,sha256=HpPJtTHvpEjQy03j-3iPxDEOHMRkudOg7O4D4YR38UI,108315
113
- execsql2-2.21.0.data/data/execsql2_extras/script_template.sql,sha256=2J35ddZPguJ-vwTsz83wErv0jiWUyJcdW_JM0mNKDXA,11155
114
- execsql2-2.21.0.data/data/execsql2_extras/ss_compare.sql,sha256=j1qVNUPXQsEU7-DoVgDJCGcE0EuIl7whLBT3fgeiMAo,24833
115
- execsql2-2.21.0.data/data/execsql2_extras/ss_glossary.sql,sha256=2gLxv34xzKt0vy7hSzJH7a9JiMC3ETrv9MofxQwAibU,13065
116
- execsql2-2.21.0.data/data/execsql2_extras/ss_upsert.sql,sha256=G_8rQ0VzuKIZHWs24O_WrfzpC5S27R1JsL-bFBR3SUQ,117730
117
- execsql2-2.21.0.dist-info/METADATA,sha256=wEuDG-Eh-dlJ6kP3cGKUJfbaLQ0lJ0RnGKVfoP7tHpY,22612
118
- execsql2-2.21.0.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
119
- execsql2-2.21.0.dist-info/entry_points.txt,sha256=sUOxkM-dN1eBGGpSpDLsAaE0yNXYQKWZAfxPOlMkQyk,90
120
- execsql2-2.21.0.dist-info/licenses/LICENSE.txt,sha256=LBdhuxejF8_bLCHZ2kWfmDXpDGUu914Gbd6_3JjCRe0,676
121
- execsql2-2.21.0.dist-info/licenses/NOTICE,sha256=McYzgxYav3U1OaVsY4Su1sfBrfmplpRdA9b6-gCDQCg,342
122
- execsql2-2.21.0.dist-info/RECORD,,
103
+ execsql2-2.21.1.data/data/execsql2_extras/README.md,sha256=vX4NTL095dUoA_hesyRMGYBorEZ_Y_tJ9qrd-MVV09I,5032
104
+ execsql2-2.21.1.data/data/execsql2_extras/config_settings.sqlite,sha256=aY5cxR7Q7J6zJ4bC9lu5mHUrhy211Cq3MNKPQVCt02E,20480
105
+ execsql2-2.21.1.data/data/execsql2_extras/example_config_prompt.sql,sha256=2e8KzzVWhho8KxYVHETSVmZdhW7wodioDsqBLSL6m4s,7487
106
+ execsql2-2.21.1.data/data/execsql2_extras/make_config_db.sql,sha256=WwyC6dK-Eh5CAVppiBCDHqiI1_wEI9U95Ytpr4lsZkg,8726
107
+ execsql2-2.21.1.data/data/execsql2_extras/md_compare.sql,sha256=qYYVAjSeHZzjszxV3Bv6bg8Ckbq2kMHl87_gh4sywMU,24140
108
+ execsql2-2.21.1.data/data/execsql2_extras/md_glossary.sql,sha256=hkZ2Onn57LAKKsuXxzhR8tPtcWXkmWEQkwPE58-Tm2k,10796
109
+ execsql2-2.21.1.data/data/execsql2_extras/md_upsert.sql,sha256=_CAK4BzEboRXTNy03SJR-oOjcEdSNMuRBPL6noWUptY,112560
110
+ execsql2-2.21.1.data/data/execsql2_extras/pg_compare.sql,sha256=1zJd4hVUKHR0tncc2qTBC9B4qVV4Us2ITkJpsjN3tMw,24352
111
+ execsql2-2.21.1.data/data/execsql2_extras/pg_glossary.sql,sha256=IKuwna-_8b20ljSkXZruuiQigrCpo7ueQdUqd1MXiuI,9908
112
+ execsql2-2.21.1.data/data/execsql2_extras/pg_upsert.sql,sha256=HpPJtTHvpEjQy03j-3iPxDEOHMRkudOg7O4D4YR38UI,108315
113
+ execsql2-2.21.1.data/data/execsql2_extras/script_template.sql,sha256=2J35ddZPguJ-vwTsz83wErv0jiWUyJcdW_JM0mNKDXA,11155
114
+ execsql2-2.21.1.data/data/execsql2_extras/ss_compare.sql,sha256=j1qVNUPXQsEU7-DoVgDJCGcE0EuIl7whLBT3fgeiMAo,24833
115
+ execsql2-2.21.1.data/data/execsql2_extras/ss_glossary.sql,sha256=2gLxv34xzKt0vy7hSzJH7a9JiMC3ETrv9MofxQwAibU,13065
116
+ execsql2-2.21.1.data/data/execsql2_extras/ss_upsert.sql,sha256=G_8rQ0VzuKIZHWs24O_WrfzpC5S27R1JsL-bFBR3SUQ,117730
117
+ execsql2-2.21.1.dist-info/METADATA,sha256=huk0LlRjMH6EmtqJgkKkpmAGon-Qhb6j9J51idFmwOc,22612
118
+ execsql2-2.21.1.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
119
+ execsql2-2.21.1.dist-info/entry_points.txt,sha256=sUOxkM-dN1eBGGpSpDLsAaE0yNXYQKWZAfxPOlMkQyk,90
120
+ execsql2-2.21.1.dist-info/licenses/LICENSE.txt,sha256=LBdhuxejF8_bLCHZ2kWfmDXpDGUu914Gbd6_3JjCRe0,676
121
+ execsql2-2.21.1.dist-info/licenses/NOTICE,sha256=McYzgxYav3U1OaVsY4Su1sfBrfmplpRdA9b6-gCDQCg,342
122
+ execsql2-2.21.1.dist-info/RECORD,,