execsql2 2.17.3__py3-none-any.whl → 2.18.0__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 (52) hide show
  1. execsql/cli/__init__.py +13 -1
  2. execsql/cli/lint.py +16 -565
  3. execsql/cli/run.py +29 -2
  4. execsql/config.py +20 -0
  5. execsql/db/access.py +6 -0
  6. execsql/db/base.py +57 -1
  7. execsql/db/dsn.py +19 -9
  8. execsql/db/firebird.py +6 -0
  9. execsql/db/mysql.py +81 -0
  10. execsql/db/oracle.py +6 -0
  11. execsql/db/sqlite.py +37 -18
  12. execsql/db/sqlserver.py +31 -6
  13. execsql/exporters/base.py +1 -1
  14. execsql/exporters/duckdb.py +8 -4
  15. execsql/exporters/ods.py +11 -0
  16. execsql/exporters/sqlite.py +10 -3
  17. execsql/exporters/templates.py +10 -0
  18. execsql/exporters/xls.py +4 -0
  19. execsql/exporters/xlsx.py +9 -0
  20. execsql/importers/json.py +49 -32
  21. execsql/metacommands/conditions.py +7 -2
  22. execsql/metacommands/io_export.py +21 -26
  23. execsql/metacommands/io_fileops.py +21 -3
  24. execsql/metacommands/io_import.py +23 -3
  25. execsql/script/ast.py +8 -0
  26. execsql/script/engine.py +32 -0
  27. execsql/script/executor.py +12 -0
  28. execsql/script/variables.py +41 -15
  29. execsql/utils/auth.py +49 -1
  30. execsql/utils/fileio.py +120 -0
  31. execsql/utils/gui.py +11 -1
  32. {execsql2-2.17.3.data → execsql2-2.18.0.data}/data/execsql2_extras/md_compare.sql +12 -12
  33. {execsql2-2.17.3.data → execsql2-2.18.0.data}/data/execsql2_extras/md_glossary.sql +5 -5
  34. {execsql2-2.17.3.data → execsql2-2.18.0.data}/data/execsql2_extras/md_upsert.sql +13 -13
  35. {execsql2-2.17.3.data → execsql2-2.18.0.data}/data/execsql2_extras/pg_compare.sql +24 -24
  36. {execsql2-2.17.3.data → execsql2-2.18.0.data}/data/execsql2_extras/pg_glossary.sql +5 -5
  37. {execsql2-2.17.3.data → execsql2-2.18.0.data}/data/execsql2_extras/pg_upsert.sql +29 -29
  38. {execsql2-2.17.3.data → execsql2-2.18.0.data}/data/execsql2_extras/script_template.sql +2 -2
  39. {execsql2-2.17.3.data → execsql2-2.18.0.data}/data/execsql2_extras/ss_compare.sql +24 -24
  40. {execsql2-2.17.3.data → execsql2-2.18.0.data}/data/execsql2_extras/ss_glossary.sql +6 -6
  41. {execsql2-2.17.3.data → execsql2-2.18.0.data}/data/execsql2_extras/ss_upsert.sql +2917 -2917
  42. {execsql2-2.17.3.dist-info → execsql2-2.18.0.dist-info}/METADATA +6 -1
  43. {execsql2-2.17.3.dist-info → execsql2-2.18.0.dist-info}/RECORD +52 -52
  44. {execsql2-2.17.3.data → execsql2-2.18.0.data}/data/execsql2_extras/README.md +0 -0
  45. {execsql2-2.17.3.data → execsql2-2.18.0.data}/data/execsql2_extras/config_settings.sqlite +0 -0
  46. {execsql2-2.17.3.data → execsql2-2.18.0.data}/data/execsql2_extras/example_config_prompt.sql +0 -0
  47. {execsql2-2.17.3.data → execsql2-2.18.0.data}/data/execsql2_extras/execsql.conf +0 -0
  48. {execsql2-2.17.3.data → execsql2-2.18.0.data}/data/execsql2_extras/make_config_db.sql +0 -0
  49. {execsql2-2.17.3.dist-info → execsql2-2.18.0.dist-info}/WHEEL +0 -0
  50. {execsql2-2.17.3.dist-info → execsql2-2.18.0.dist-info}/entry_points.txt +0 -0
  51. {execsql2-2.17.3.dist-info → execsql2-2.18.0.dist-info}/licenses/LICENSE.txt +0 -0
  52. {execsql2-2.17.3.dist-info → execsql2-2.18.0.dist-info}/licenses/NOTICE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: execsql2
3
- Version: 2.17.3
3
+ Version: 2.18.0
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
@@ -45,6 +45,7 @@ Requires-Dist: sqlglot>=25.0
45
45
  Requires-Dist: textual>=0.47.0
46
46
  Requires-Dist: typer>=0.12
47
47
  Provides-Extra: all
48
+ Requires-Dist: defusedxml; extra == 'all'
48
49
  Requires-Dist: duckdb; extra == 'all'
49
50
  Requires-Dist: firebird-driver; extra == 'all'
50
51
  Requires-Dist: jinja2; extra == 'all'
@@ -80,9 +81,11 @@ Requires-Dist: keyrings-alt; extra == 'auth-plaintext'
80
81
  Provides-Extra: dev
81
82
  Requires-Dist: build>=1.2.2.post1; extra == 'dev'
82
83
  Requires-Dist: bump-my-version>=1.2.7; extra == 'dev'
84
+ Requires-Dist: defusedxml; extra == 'dev'
83
85
  Requires-Dist: jinja2; extra == 'dev'
84
86
  Requires-Dist: markdown-include>=0.8; extra == 'dev'
85
87
  Requires-Dist: mkdocstrings-python>=2.0.3; extra == 'dev'
88
+ Requires-Dist: mypy>=1.10; extra == 'dev'
86
89
  Requires-Dist: odfpy; extra == 'dev'
87
90
  Requires-Dist: openpyxl; extra == 'dev'
88
91
  Requires-Dist: polars; extra == 'dev'
@@ -100,6 +103,7 @@ Requires-Dist: duckdb; extra == 'duckdb'
100
103
  Provides-Extra: firebird
101
104
  Requires-Dist: firebird-driver; extra == 'firebird'
102
105
  Provides-Extra: formats
106
+ Requires-Dist: defusedxml; extra == 'formats'
103
107
  Requires-Dist: jinja2; extra == 'formats'
104
108
  Requires-Dist: odfpy; extra == 'formats'
105
109
  Requires-Dist: openpyxl; extra == 'formats'
@@ -181,6 +185,7 @@ pip install execsql2[upsert] # pg-upsert for PostgreSQL upsert operatio
181
185
  pip install execsql2[auth] # OS keyring integration
182
186
  pip install execsql2[auth-plaintext] # Keyring + plaintext file backend (headless Linux)
183
187
  pip install execsql2[auth-encrypted] # Keyring + encrypted file backend (headless Linux)
188
+ pip install execsql2[map] # tkintermapview for PROMPT MAP
184
189
 
185
190
  # Convenience
186
191
  pip install execsql2[all-db] # All database drivers
@@ -1,7 +1,7 @@
1
1
  execsql/__init__.py,sha256=ZeVnpEWu8M2bn3qLmVM72NhWRueUGNbsX8UAPTermo0,901
2
2
  execsql/__main__.py,sha256=HdbK-SAhyUmfB6xINY5AzxdMSxGzWSGEG_2dv42Jn64,315
3
3
  execsql/api.py,sha256=ZFTo_XZPhG21w2vxaeS1lS6o5XmF1FUJRIaypgTOjA8,20919
4
- execsql/config.py,sha256=9T-Fz_NyKiAVVwpHLQa4rdo1_5Iz6nNMPPZyBMrK4yE,32022
4
+ execsql/config.py,sha256=OOrCcn9m3CNuXkxVOLp7uMhQikzUS2wh_QVhvIzRqIM,33296
5
5
  execsql/exceptions.py,sha256=EkM5cw2s0D9QCOgS4BU29FEyOnEtCxJ0esPT6l1hT9s,9205
6
6
  execsql/format.py,sha256=el_gQyMbj4VllToGEcU_61PtxUFotD1hXjrVzEhackM,25507
7
7
  execsql/models.py,sha256=kCTUQg9-vReM6WNFfB_ZrEppuOW5u1uMBQThSkfPC0o,13264
@@ -10,47 +10,47 @@ execsql/plugins.py,sha256=2voLwT6eFap6BCBoZYndNNC_bMEJO1f_aP6xQTVXwYI,12815
10
10
  execsql/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  execsql/state.py,sha256=T6UoXXxAkUP-4KKQpfFAlI3WMzm2xUi3LSplJDuRLY0,21965
12
12
  execsql/types.py,sha256=5K3aTuWQZHftz5slFODwqxlcvvt6lROISUnvUtRUazs,31799
13
- execsql/cli/__init__.py,sha256=UDOT_vRXoVM2XQwcvczo_uk4YJ5bgT_2jrmug3vw1nM,22855
13
+ execsql/cli/__init__.py,sha256=km5f65aRHKZ1vLHRMnbZVXo-31gImxxOr1BvOIQg7B4,23226
14
14
  execsql/cli/dsn.py,sha256=svaZtrUXFRL2W5G6FRRiKtR6kehOp7urrVhIx_642Z8,2820
15
15
  execsql/cli/help.py,sha256=ThwdZuMIfLPxLAPpGWwXFY_UfyWvYOCjdlBNK20Vzd8,5718
16
- execsql/cli/lint.py,sha256=kXv-B0fOXI05ht7bWLd4ZPG8Fe1x6Y_owf2ue_Rmcjk,23663
16
+ execsql/cli/lint.py,sha256=xoOvFcoYFJpGjpgFD9CGgPAJmoJ_FPuyecBNBCazfJo,3459
17
17
  execsql/cli/lint_ast.py,sha256=c9UEFsZ7PZlFdrK0zJCe-WXfCqvS3WlOUWEycZozqB8,14688
18
- execsql/cli/run.py,sha256=WJNi4KsEQYHicMWl0FHs3ZnduK4W_8IwtwqxeClxf1k,35152
18
+ execsql/cli/run.py,sha256=QoSHVBfg20n2knPrqf7RFJmcfFpC5aq7NkwX5o6qRnA,36326
19
19
  execsql/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  execsql/data/execsql.conf.template,sha256=1a2g2Vga7s128wcu3ftIFRkHlKKtuvkuOHSD1XuNT7o,9404
21
21
  execsql/db/__init__.py,sha256=jTbuafuKOqYtXFR1wvCOoKK5Lr3l1uErfaIbIr6UywI,1063
22
- execsql/db/access.py,sha256=GcY5Pq_vXdp8Thzm6aSLg9vfp5koovGiYKXipQtRt50,19167
23
- execsql/db/base.py,sha256=BOfQFcs_cUpPZhLKRxQIeyHPKLtYAAvqDGnistC8dp0,32804
24
- execsql/db/dsn.py,sha256=ZkKQrRgNr8VilOhE7jzLIZKVhrmEL0Bt3BppegQ03KM,5486
22
+ execsql/db/access.py,sha256=pqxFzxF5yXBv_UzJEtp5YHNJy3yHqxLYCRzVLV4qolo,19404
23
+ execsql/db/base.py,sha256=m0xOGU-GAUU6SR1kF6LUnybaeX3fUgXqsofbzemyM28,35295
24
+ execsql/db/dsn.py,sha256=59OzMAuCIfHcdOZNarK9TlDzaBJjhZ1SFFMvyXlH6u8,6086
25
25
  execsql/db/duckdb.py,sha256=79lRzKRhw1Pjfqcrba27S4Oq8a8AbDO_d0XkaNKKPQo,3197
26
26
  execsql/db/factory.py,sha256=YHdgyqQYy16548O3fGyElLC5C7DdIgva4Z29OsDxXjs,5367
27
- execsql/db/firebird.py,sha256=l6oAx76CKggQPbXWNqpF-xftnAzfgQxU7cL44Jc4D4g,8983
28
- execsql/db/mysql.py,sha256=TEEZsYErBx8o2uw6HLymUpLx5TQupxdIHjuKIBwOytY,14504
29
- execsql/db/oracle.py,sha256=1_odb5xmlm8vjdJdQXz7SHm9dzIbZ5sxP_IxTklH3kA,12018
27
+ execsql/db/firebird.py,sha256=p_7RFWhFI7y5ukKCMXeDPE0wjeQ6dpO4IK6uz2dYjrc,9224
28
+ execsql/db/mysql.py,sha256=HOFziabEN-ZD97LIfTrfhQB_yXwcCi9ZsqPqt6LFDHk,17964
29
+ execsql/db/oracle.py,sha256=vYs1Oqym0LdAV5WQFdJFDesHlsx7RjsOaDyX0UTegPQ,12286
30
30
  execsql/db/postgres.py,sha256=UNzrXzMniEyT3Z7qjCA_HLEUY0PVr1cJShuhAxtl5l0,21241
31
- execsql/db/sqlite.py,sha256=Hy_ocodNY_MHvaRnr5fPsQ6bTcsyC1mi4afryaiKSqk,10890
32
- execsql/db/sqlserver.py,sha256=MxS2sVu83ILxZRkZWy2AbmUKsJorsE9z-xJ9PgA9Bss,7819
31
+ execsql/db/sqlite.py,sha256=xooU6bvD9Y3frRpnbyesE63r6E1fwEHkkcN1YD_UIUE,11519
32
+ execsql/db/sqlserver.py,sha256=6HtjLa__SlVyqbM7S80Wsipe-IFIDnzmYNg8BLvuQJM,9006
33
33
  execsql/debug/__init__.py,sha256=j6EGUR0dHzUhWN1mHHtf1-Lhjq3Sb1V-vmnq2Ztgj1M,178
34
34
  execsql/debug/repl.py,sha256=d-Pq4wBQU0rcvjXWqDkq_FOxL29vJ7VCP3xoG6TtXpE,22309
35
35
  execsql/exporters/__init__.py,sha256=-Cnji-OgodJV8ftcDcOyTof0kQMy9J5kKVC8GVFpc3o,670
36
- execsql/exporters/base.py,sha256=zHmvcIJ0Y7DP4Q2a-5msOoLzqiGW_8R98UX4XLYjoa0,6408
36
+ execsql/exporters/base.py,sha256=XTPenHl5TbmbZ3cfPYLVFirGNiVps3Kt3AQKFVKy6ss,6408
37
37
  execsql/exporters/delimited.py,sha256=GIEeennL_elvcZgq5oSvgxAKAgwr8ea3o5_M_pLmc4g,32341
38
- execsql/exporters/duckdb.py,sha256=Wc9I5uiV4MzmVQzCX-vgVHQUL7U3ZWdOkFVFWBv5SXM,2911
38
+ execsql/exporters/duckdb.py,sha256=R4WbvzBEIK1ptnIc8w6c7jcinG-cuuFYC85_NYCumH0,3146
39
39
  execsql/exporters/feather.py,sha256=Ie7DCheyAj5y3ktpaMN76Mu3rnTQ0biKcxmaJdcIWvg,4184
40
40
  execsql/exporters/html.py,sha256=BPTGYODiC5_5zaQsVkZ9QVAl67yfCWFTsjK0D-QOJkM,9717
41
41
  execsql/exporters/json.py,sha256=G9lyJcjgmMvymu_MoVrkSqx2H6JRN7qwA5UEomnPkVQ,4343
42
42
  execsql/exporters/latex.py,sha256=w_B83_5vKPe8uYxCWGdqvxwJeq0mw5zzKYDiAb7dbN0,4503
43
43
  execsql/exporters/markdown.py,sha256=_ZX3dikbtAb6qZxYeWxDZAPF0-cNKTPR7or5kTbD2ZU,4436
44
- execsql/exporters/ods.py,sha256=XnRc6unxVRYWSKhQThDsc6c5YvDZ4OX8xJovXK6qRY4,18880
44
+ execsql/exporters/ods.py,sha256=G9dotsua8V6LcEl-rxs3KZOr-U_Dw8KPyJ8i-BQRDpc,19358
45
45
  execsql/exporters/parquet.py,sha256=186vUTH1oVAQ0s_qayLzEQVsKKu3ijAkhYEI6tysXkg,1095
46
46
  execsql/exporters/pretty.py,sha256=tG7Yr4lwFMs3a0Jrsq6qsNNkE8Q7sMePr61SS5QMaTs,3447
47
47
  execsql/exporters/protocol.py,sha256=BxATgz0xKHbB2FpZBeNg7wZfIiCohhD1awlr3JCec0c,4372
48
48
  execsql/exporters/raw.py,sha256=hqO5XEv_Ab9KiphPvZ9sZEdxWTg-kyn8PH9V3qFksyo,2488
49
- execsql/exporters/sqlite.py,sha256=XA0ALLvy-r6Pz1lpOFkWWbvpSP9Hm1tHHiuo_BvPVDk,2686
50
- execsql/exporters/templates.py,sha256=T9nk7vJrlxiPGfOWGc79xqqDxK3TCYu0wXq48U02npw,5564
49
+ execsql/exporters/sqlite.py,sha256=WpiR6I42dWUzw6_BmN9Ihrx6TEfr_lKpnrrwLA9Aq7E,3074
50
+ execsql/exporters/templates.py,sha256=XlWwOVSVItexaQUkmTsWB_mff0t8cdaZ5ocgSU2HsAA,6014
51
51
  execsql/exporters/values.py,sha256=HIyud31aux_dbCphfKHEGeZB9fkIPE5PoGXQz817XIE,2520
52
- execsql/exporters/xls.py,sha256=OR0yni_OK-lmAUEa6vCd_tTzF61UFcmEvX6tgOduJCk,10886
53
- execsql/exporters/xlsx.py,sha256=PlQkpzckiNn4Dl_nUfnNv4PgHyrubyuroNPsIFngMCY,11489
52
+ execsql/exporters/xls.py,sha256=9H4Nf8VNwXPxc7Koq_pq-Izxi6zt2MxbsJ6Yxjao4u0,11094
53
+ execsql/exporters/xlsx.py,sha256=0f-Gdp8DyB3muUdH6tyiGFKGx9UymZ4fL3ja6H0sBjI,11853
54
54
  execsql/exporters/xml.py,sha256=lqcOM8uKDoCayU42BPSLNH1_2DIHU5D3LtQItREU90c,2564
55
55
  execsql/exporters/yaml.py,sha256=1Vuc6uMDuLTkCuXCfXWKz4gLkkAVdEXkLs4gEB_67Xo,3110
56
56
  execsql/exporters/zip.py,sha256=kr0X6VLE_ULGVQtMzfqZZSUmc1Qupxg9HbMOAvnTQvI,4890
@@ -63,62 +63,62 @@ execsql/importers/__init__.py,sha256=zZwdQxMaValCNqUrVdvaA7XPU3J8NmqVJ4uolNWY2iU
63
63
  execsql/importers/base.py,sha256=FGVz3ntN6xHL99rQixlQj3tAf570K_oU83UtbYE1lJg,4124
64
64
  execsql/importers/csv.py,sha256=GUVRP294vHlOlF8XNecPEzatUBOOFIqnrEV9cBQkiv0,4849
65
65
  execsql/importers/feather.py,sha256=g2B69d2uv9vmnXcmjFyTVsMP40LYEzFYkhk3gD26mGw,1900
66
- execsql/importers/json.py,sha256=Z7QJZQ9fyqaxFxjfqcfZoaoW2GSZt-DMqW5LZiEfyNs,4684
66
+ execsql/importers/json.py,sha256=fL47h09Zzx4Qw3TTQRQJbdPdD3qVMiU-kK9C7j1IQzg,5534
67
67
  execsql/importers/ods.py,sha256=VsxIkr7opBamB0PbSFmMWt7G11w8lLUH1k_kRwz28zw,2847
68
68
  execsql/importers/xls.py,sha256=IB-ShXw2zHJUWPUtMCDbkjxYue-hACyR66tKNOZqzSw,3685
69
69
  execsql/metacommands/__init__.py,sha256=6PE1rXfJzIpHCxIgbeokh6fY2cAe82KR04J6pzawVlE,12993
70
- execsql/metacommands/conditions.py,sha256=g1Ch8BZIHLK7L3pdMDtxIiPCnE2x1hdgAANGraIcfH8,29761
70
+ execsql/metacommands/conditions.py,sha256=5njexsBqSN_MNQdnw9Ra51BcS7ekACHNvBI2MXZF6_g,29995
71
71
  execsql/metacommands/connect.py,sha256=W24gYGmYDXNQyzBTsqWtl9-qbX2FS0v_c4s_OHj97mY,15327
72
72
  execsql/metacommands/control.py,sha256=btF9hP_jzTuTIODPK72CYF0v_oKYpwXpKLATt-Ti2kc,7988
73
73
  execsql/metacommands/data.py,sha256=u9D6F3ambIqXhEHVmFOI6RDrbmdXQ-FUiqw7aMGo5bQ,12135
74
74
  execsql/metacommands/debug.py,sha256=MeVXAob8ItEg2QzuSUkKDaQCEABnH6u0XcAwJzw36CE,13015
75
75
  execsql/metacommands/dispatch.py,sha256=DvpgpkX1yMWnJrVW8ir_o1xKgfZgXzlTt6IwP0Lwoek,87441
76
76
  execsql/metacommands/io.py,sha256=vlGBje5sgnqeilooMdhJDgSRIhysHy5_7LrKtik9Xjs,3011
77
- execsql/metacommands/io_export.py,sha256=L8XH36xusK7j5rS45Bf6AwvgiHyGCec4nRz3ukEUnfQ,13978
78
- execsql/metacommands/io_fileops.py,sha256=K7eHMAuCUEVpNITYnJhWaSmXtAnnx1ZaNIFnOwKtXzc,9456
79
- execsql/metacommands/io_import.py,sha256=faYpHpHFieOe66QqtfFSHOIFaG39lzpSnTpr17UUzuk,14775
77
+ execsql/metacommands/io_export.py,sha256=-7VDtUUQegwGRantw-NpdkI_9hwIKU-36ZvReIYC2QA,14285
78
+ execsql/metacommands/io_fileops.py,sha256=6yED22UlVNXcRHNxZTgna8HmwFcR8s4nt6epMGLMtHY,10139
79
+ execsql/metacommands/io_import.py,sha256=kUHIiI16WMuxXpqDMIRBc06KvI-_sYuYfJVNMTKOoAo,15706
80
80
  execsql/metacommands/io_write.py,sha256=RqOklmeGifu3lQgi_0glOoBWTY9FFIDlWIpOpb_hc3o,12789
81
81
  execsql/metacommands/prompt.py,sha256=LUl7doqKx8fLR0qt2lXbhdgNpdF1s6KZ6Ruitt10YnM,37483
82
82
  execsql/metacommands/script_ext.py,sha256=NShl29U9eI75_aL9WTSx8m4GjhCvMgJehzlES5M36cY,3693
83
83
  execsql/metacommands/system.py,sha256=5ETiWbkVDGsdwTldDaMM4rwY_Smd02wCWUROtf6XH_M,7385
84
84
  execsql/metacommands/upsert.py,sha256=wzoMpM8g49pEvU9GkHZ62fPvqV3w1UIUfxVA7HAsS_o,20317
85
85
  execsql/script/__init__.py,sha256=eGJPBDWj42aaId2lX_quSrqoKrvGwGElIrGDNCyoV1Y,3547
86
- execsql/script/ast.py,sha256=eJPDHdokPtq9RrUGipyU-S6cB-YcJOmVuTDBs--NgYI,20200
86
+ execsql/script/ast.py,sha256=TQ4_7Lfw1F8_k6ycdvMZdzwNafrZiljSrthVRWUsuIk,20585
87
87
  execsql/script/control.py,sha256=WqLy-HLPqHG3vEzYpKMiIJsD7LpORjyQuUWzFzcGz4w,2327
88
- execsql/script/engine.py,sha256=m2RBNtqTD4idhtSWF6eh1owM5Y6b80HUISVs1woNi90,19622
89
- execsql/script/executor.py,sha256=6O3KZsqcF83MLMma6AaEQfJmFVU6LeXLSSBuP92f1tE,35516
88
+ execsql/script/engine.py,sha256=woSTkoLOKaOpVqKzpAjPa0j7hs6ZpCFm172o6zJ_J3g,21363
89
+ execsql/script/executor.py,sha256=UTQ4k8EjxH5CdKYZ0E_l-0WyQ-i769mUJw6cJmMvSxI,36018
90
90
  execsql/script/parser.py,sha256=K-mgwuQ729KdmimOpEmb0OBzMyOvX3gxhBKLgr5P4VA,33697
91
- execsql/script/variables.py,sha256=7JhXNcW_2UfEofhTtDdFLyULxP67gt6q6IzE2ER_VHQ,14668
91
+ execsql/script/variables.py,sha256=t0BwrRuA8m1LYHGLkDPNbqW6QmudXroOFYsO0fwK2N0,16302
92
92
  execsql/utils/__init__.py,sha256=0uR6JwVJQRX3vceByNBduCAf5dd5assKjeqJUWvpZoA,278
93
- execsql/utils/auth.py,sha256=onXzNkNZQZxGC5w7eey06sjvAIAX_Lf9g7nUJtcsel0,7009
93
+ execsql/utils/auth.py,sha256=dnLie8jFxN_l7ZrrRufVuxGw92iG62DIVatIjlEb4pM,8717
94
94
  execsql/utils/crypto.py,sha256=KlT6lPk-v0-qQQfAMfWvT9Q6kRdCD3_5JVaLajNocKM,3051
95
95
  execsql/utils/datetime.py,sha256=rMCXAbvj6bxKCYzC97vrludO6PU5DYQ39buZ0smDC5A,3573
96
96
  execsql/utils/errors.py,sha256=C-9hlpJ7GM5gpDBdTsT4xFhK0OHNjonHgbq7fMl-Vvc,8577
97
- execsql/utils/fileio.py,sha256=1FQuYuSkVEgJHOc504oRH3owiSBjjB_tbfUzPmzGLZ8,25924
98
- execsql/utils/gui.py,sha256=h_7V2zYfp0l6C3Ft8QtUJAPgxCUrFkgIqwimz5s1bbQ,22821
97
+ execsql/utils/fileio.py,sha256=38Z0WBvfaMa624aw3jo9ZOSlUCsacIeJWOhQKYe9YlU,31012
98
+ execsql/utils/gui.py,sha256=kpJkvi8zblXFdO4PgsF8yE_gkOJrsDwWoQWmaDpjJEQ,23402
99
99
  execsql/utils/mail.py,sha256=MeSYjG9Qr8zdrEvkvg0C3YcLKaA5Op9xqeKbfvj-RLs,5500
100
100
  execsql/utils/numeric.py,sha256=xh02ANSRk3nUpQ-rtm66ILoMqoi7HtzCoRMIOT9U8QI,1570
101
101
  execsql/utils/regex.py,sha256=diEzTZqU_HHwVMadPAvN1Vgzhl7I03eVaEFGCXyGGL8,3770
102
102
  execsql/utils/strings.py,sha256=UQNjpRCEFa1UO6feU-M-9e24wWAvizs_iu_4fFusLxo,8516
103
103
  execsql/utils/timer.py,sha256=eDYf5VzCNFk7oo90InJucUm3XcBdhYMogjZMqeg9xzc,1899
104
- execsql2-2.17.3.data/data/execsql2_extras/README.md,sha256=sxwVyU0ZahCfANv56LahkyuM505kFjrMhe-1SvWE69E,4845
105
- execsql2-2.17.3.data/data/execsql2_extras/config_settings.sqlite,sha256=aY5cxR7Q7J6zJ4bC9lu5mHUrhy211Cq3MNKPQVCt02E,20480
106
- execsql2-2.17.3.data/data/execsql2_extras/example_config_prompt.sql,sha256=SY3Jxn1qcVm4kPW9xmmTfknHfvURXmeEYTbRjYrjGSw,7487
107
- execsql2-2.17.3.data/data/execsql2_extras/execsql.conf,sha256=1a2g2Vga7s128wcu3ftIFRkHlKKtuvkuOHSD1XuNT7o,9404
108
- execsql2-2.17.3.data/data/execsql2_extras/make_config_db.sql,sha256=WwyC6dK-Eh5CAVppiBCDHqiI1_wEI9U95Ytpr4lsZkg,8726
109
- execsql2-2.17.3.data/data/execsql2_extras/md_compare.sql,sha256=B8Wd7LZ0vnMY2qvA139JIEBkPObgRH2i5xj6PejTQt8,24092
110
- execsql2-2.17.3.data/data/execsql2_extras/md_glossary.sql,sha256=DJRHcU5NbFpxTTX-IwH3yRlsboj1q6BBGrUAHKn4Cuo,10796
111
- execsql2-2.17.3.data/data/execsql2_extras/md_upsert.sql,sha256=v_7GbWh_N1mBTmw3gvTrkagOVp2q0KmXvM8hE-DlFxY,112524
112
- execsql2-2.17.3.data/data/execsql2_extras/pg_compare.sql,sha256=9dWa8hnfy5dVJI-z2iGpd9JzQmI4j2ziMlEdpnr66ro,24352
113
- execsql2-2.17.3.data/data/execsql2_extras/pg_glossary.sql,sha256=pKjIIDsROAgJq2H-1qNEcRMAWManivcZ_AEVHzUUlic,9908
114
- execsql2-2.17.3.data/data/execsql2_extras/pg_upsert.sql,sha256=k7AFiGTLBy3nf-qO5QIaZrEYTAKvdxxU3JDLx9jqkzs,108315
115
- execsql2-2.17.3.data/data/execsql2_extras/script_template.sql,sha256=1Estacb_vm1FgK41k_G9nuduP1yiA-fQ1Kn4Z4mv5Ao,11153
116
- execsql2-2.17.3.data/data/execsql2_extras/ss_compare.sql,sha256=TsVxWm3cEpR5-EiMYXNhtaY0arSNeKZhsJdHdLA7xeI,24833
117
- execsql2-2.17.3.data/data/execsql2_extras/ss_glossary.sql,sha256=cLM7nN8JOIu9ZVP9oY9qdSK3hrnWJiDcX6nZmQQbQWI,13065
118
- execsql2-2.17.3.data/data/execsql2_extras/ss_upsert.sql,sha256=BCqmBykXBF-BpCgOFeG1qhf2XfScKsxPD17wd1hYfHw,120647
119
- execsql2-2.17.3.dist-info/METADATA,sha256=UWhhW9jJVLNkTsWgtLEEqq6SG5RzxjJzcF8K71vCuaA,21409
120
- execsql2-2.17.3.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
121
- execsql2-2.17.3.dist-info/entry_points.txt,sha256=sUOxkM-dN1eBGGpSpDLsAaE0yNXYQKWZAfxPOlMkQyk,90
122
- execsql2-2.17.3.dist-info/licenses/LICENSE.txt,sha256=LBdhuxejF8_bLCHZ2kWfmDXpDGUu914Gbd6_3JjCRe0,676
123
- execsql2-2.17.3.dist-info/licenses/NOTICE,sha256=McYzgxYav3U1OaVsY4Su1sfBrfmplpRdA9b6-gCDQCg,342
124
- execsql2-2.17.3.dist-info/RECORD,,
104
+ execsql2-2.18.0.data/data/execsql2_extras/README.md,sha256=sxwVyU0ZahCfANv56LahkyuM505kFjrMhe-1SvWE69E,4845
105
+ execsql2-2.18.0.data/data/execsql2_extras/config_settings.sqlite,sha256=aY5cxR7Q7J6zJ4bC9lu5mHUrhy211Cq3MNKPQVCt02E,20480
106
+ execsql2-2.18.0.data/data/execsql2_extras/example_config_prompt.sql,sha256=SY3Jxn1qcVm4kPW9xmmTfknHfvURXmeEYTbRjYrjGSw,7487
107
+ execsql2-2.18.0.data/data/execsql2_extras/execsql.conf,sha256=1a2g2Vga7s128wcu3ftIFRkHlKKtuvkuOHSD1XuNT7o,9404
108
+ execsql2-2.18.0.data/data/execsql2_extras/make_config_db.sql,sha256=WwyC6dK-Eh5CAVppiBCDHqiI1_wEI9U95Ytpr4lsZkg,8726
109
+ execsql2-2.18.0.data/data/execsql2_extras/md_compare.sql,sha256=qYYVAjSeHZzjszxV3Bv6bg8Ckbq2kMHl87_gh4sywMU,24140
110
+ execsql2-2.18.0.data/data/execsql2_extras/md_glossary.sql,sha256=hkZ2Onn57LAKKsuXxzhR8tPtcWXkmWEQkwPE58-Tm2k,10796
111
+ execsql2-2.18.0.data/data/execsql2_extras/md_upsert.sql,sha256=_CAK4BzEboRXTNy03SJR-oOjcEdSNMuRBPL6noWUptY,112560
112
+ execsql2-2.18.0.data/data/execsql2_extras/pg_compare.sql,sha256=1zJd4hVUKHR0tncc2qTBC9B4qVV4Us2ITkJpsjN3tMw,24352
113
+ execsql2-2.18.0.data/data/execsql2_extras/pg_glossary.sql,sha256=IKuwna-_8b20ljSkXZruuiQigrCpo7ueQdUqd1MXiuI,9908
114
+ execsql2-2.18.0.data/data/execsql2_extras/pg_upsert.sql,sha256=HpPJtTHvpEjQy03j-3iPxDEOHMRkudOg7O4D4YR38UI,108315
115
+ execsql2-2.18.0.data/data/execsql2_extras/script_template.sql,sha256=2J35ddZPguJ-vwTsz83wErv0jiWUyJcdW_JM0mNKDXA,11155
116
+ execsql2-2.18.0.data/data/execsql2_extras/ss_compare.sql,sha256=j1qVNUPXQsEU7-DoVgDJCGcE0EuIl7whLBT3fgeiMAo,24833
117
+ execsql2-2.18.0.data/data/execsql2_extras/ss_glossary.sql,sha256=2gLxv34xzKt0vy7hSzJH7a9JiMC3ETrv9MofxQwAibU,13065
118
+ execsql2-2.18.0.data/data/execsql2_extras/ss_upsert.sql,sha256=G_8rQ0VzuKIZHWs24O_WrfzpC5S27R1JsL-bFBR3SUQ,117730
119
+ execsql2-2.18.0.dist-info/METADATA,sha256=4ww8XW7Ujq-834kd1N2PMyF8YRmlNsz6Bb5TC_c2SEw,21651
120
+ execsql2-2.18.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
121
+ execsql2-2.18.0.dist-info/entry_points.txt,sha256=sUOxkM-dN1eBGGpSpDLsAaE0yNXYQKWZAfxPOlMkQyk,90
122
+ execsql2-2.18.0.dist-info/licenses/LICENSE.txt,sha256=LBdhuxejF8_bLCHZ2kWfmDXpDGUu914Gbd6_3JjCRe0,676
123
+ execsql2-2.18.0.dist-info/licenses/NOTICE,sha256=McYzgxYav3U1OaVsY4Su1sfBrfmplpRdA9b6-gCDQCg,342
124
+ execsql2-2.18.0.dist-info/RECORD,,