execsql2 2.18.1__tar.gz → 2.19.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 (373) hide show
  1. {execsql2-2.18.1 → execsql2-2.19.0}/.gitignore +1 -0
  2. {execsql2-2.18.1 → execsql2-2.19.0}/CHANGELOG.md +91 -146
  3. {execsql2-2.18.1 → execsql2-2.19.0}/PKG-INFO +13 -4
  4. {execsql2-2.18.1 → execsql2-2.19.0}/README.md +7 -1
  5. {execsql2-2.18.1 → execsql2-2.19.0}/SECURITY.md +2 -2
  6. {execsql2-2.18.1 → execsql2-2.19.0}/docs/about/divergence.md +27 -18
  7. {execsql2-2.18.1 → execsql2-2.19.0}/docs/reference/configuration.md +18 -0
  8. {execsql2-2.18.1 → execsql2-2.19.0}/docs/reference/metacommands.md +19 -9
  9. {execsql2-2.18.1 → execsql2-2.19.0}/docs/reference/substitution_vars.md +2 -2
  10. {execsql2-2.18.1 → execsql2-2.19.0}/pyproject.toml +6 -4
  11. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/cli/run.py +46 -17
  12. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/data/execsql.conf.template +34 -2
  13. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/db/access.py +0 -6
  14. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/db/base.py +0 -13
  15. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/db/mysql.py +0 -6
  16. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/db/oracle.py +0 -6
  17. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/db/sqlserver.py +0 -6
  18. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/debug/repl.py +117 -35
  19. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/feather.py +10 -9
  20. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/format.py +23 -4
  21. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/importers/base.py +3 -4
  22. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/importers/xls.py +6 -1
  23. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/__init__.py +2 -2
  24. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/data.py +1 -0
  25. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/script/executor.py +2 -6
  26. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/script/parser.py +49 -12
  27. {execsql2-2.18.1 → execsql2-2.19.0}/templates/example_config_prompt.sql +1 -1
  28. {execsql2-2.18.1 → execsql2-2.19.0}/templates/execsql.conf +34 -2
  29. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_feather.py +71 -7
  30. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_breakpoint.py +31 -25
  31. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_metacommands.py +3 -2
  32. {execsql2-2.18.1 → execsql2-2.19.0}/tests/security/test_zip_bomb.py +55 -0
  33. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_ast_parser.py +266 -8
  34. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_debug_repl.py +159 -40
  35. {execsql2-2.18.1 → execsql2-2.19.0}/uv.lock +11 -5
  36. {execsql2-2.18.1 → execsql2-2.19.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  37. {execsql2-2.18.1 → execsql2-2.19.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  38. {execsql2-2.18.1 → execsql2-2.19.0}/.github/dependabot.yml +0 -0
  39. {execsql2-2.18.1 → execsql2-2.19.0}/.github/workflows/ci-cd.yml +0 -0
  40. {execsql2-2.18.1 → execsql2-2.19.0}/.pre-commit-config.yaml +0 -0
  41. {execsql2-2.18.1 → execsql2-2.19.0}/.pre-commit-hooks.yaml +0 -0
  42. {execsql2-2.18.1 → execsql2-2.19.0}/.python-version +0 -0
  43. {execsql2-2.18.1 → execsql2-2.19.0}/.readthedocs.yaml +0 -0
  44. {execsql2-2.18.1 → execsql2-2.19.0}/CONTRIBUTING.md +0 -0
  45. {execsql2-2.18.1 → execsql2-2.19.0}/LICENSE.txt +0 -0
  46. {execsql2-2.18.1 → execsql2-2.19.0}/NOTICE +0 -0
  47. {execsql2-2.18.1 → execsql2-2.19.0}/docs/about/contributors.md +0 -0
  48. {execsql2-2.18.1 → execsql2-2.19.0}/docs/about/copyright.md +0 -0
  49. {execsql2-2.18.1 → execsql2-2.19.0}/docs/api/cli.md +0 -0
  50. {execsql2-2.18.1 → execsql2-2.19.0}/docs/api/db.md +0 -0
  51. {execsql2-2.18.1 → execsql2-2.19.0}/docs/api/exporters.md +0 -0
  52. {execsql2-2.18.1 → execsql2-2.19.0}/docs/api/importers.md +0 -0
  53. {execsql2-2.18.1 → execsql2-2.19.0}/docs/api/index.md +0 -0
  54. {execsql2-2.18.1 → execsql2-2.19.0}/docs/api/metacommands.md +0 -0
  55. {execsql2-2.18.1 → execsql2-2.19.0}/docs/dev/adding_db_adapters.md +0 -0
  56. {execsql2-2.18.1 → execsql2-2.19.0}/docs/dev/adding_exporters.md +0 -0
  57. {execsql2-2.18.1 → execsql2-2.19.0}/docs/dev/adding_importers.md +0 -0
  58. {execsql2-2.18.1 → execsql2-2.19.0}/docs/dev/adding_metacommands.md +0 -0
  59. {execsql2-2.18.1 → execsql2-2.19.0}/docs/dev/architecture.md +0 -0
  60. {execsql2-2.18.1 → execsql2-2.19.0}/docs/getting-started/installation.md +0 -0
  61. {execsql2-2.18.1 → execsql2-2.19.0}/docs/getting-started/requirements.md +0 -0
  62. {execsql2-2.18.1 → execsql2-2.19.0}/docs/getting-started/syntax.md +0 -0
  63. {execsql2-2.18.1 → execsql2-2.19.0}/docs/guides/debugging.md +0 -0
  64. {execsql2-2.18.1 → execsql2-2.19.0}/docs/guides/documentation.md +0 -0
  65. {execsql2-2.18.1 → execsql2-2.19.0}/docs/guides/encoding.md +0 -0
  66. {execsql2-2.18.1 → execsql2-2.19.0}/docs/guides/examples.md +0 -0
  67. {execsql2-2.18.1 → execsql2-2.19.0}/docs/guides/formatter.md +0 -0
  68. {execsql2-2.18.1 → execsql2-2.19.0}/docs/guides/logging.md +0 -0
  69. {execsql2-2.18.1 → execsql2-2.19.0}/docs/guides/sql_syntax.md +0 -0
  70. {execsql2-2.18.1 → execsql2-2.19.0}/docs/guides/usage.md +0 -0
  71. {execsql2-2.18.1 → execsql2-2.19.0}/docs/guides/using_scripts.md +0 -0
  72. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/Compare_planets.png +0 -0
  73. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/actions.png +0 -0
  74. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/actions2.png +0 -0
  75. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/checkboxes.png +0 -0
  76. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/connect.b64 +0 -0
  77. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/connect.png +0 -0
  78. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/create_conf.png +0 -0
  79. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/data_error1_screenshot.jpg +0 -0
  80. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/entry_form.png +0 -0
  81. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/execsql_console.png +0 -0
  82. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/execsql_logo_01.png +0 -0
  83. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/fatals.png +0 -0
  84. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/logo_small.png +0 -0
  85. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/pause_terminal.png +0 -0
  86. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/pause_terminal_sm.b64 +0 -0
  87. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/pause_terminal_sm.png +0 -0
  88. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/prompt_compare.png +0 -0
  89. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/set_build_commands.jpg +0 -0
  90. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/unit_conversions.b64 +0 -0
  91. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/unit_conversions_029.png +0 -0
  92. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/unmatched.png +0 -0
  93. {execsql2-2.18.1 → execsql2-2.19.0}/docs/images/vim_execsql_highlight.png +0 -0
  94. {execsql2-2.18.1 → execsql2-2.19.0}/docs/index.md +0 -0
  95. {execsql2-2.18.1 → execsql2-2.19.0}/docs/reference/security.md +0 -0
  96. {execsql2-2.18.1 → execsql2-2.19.0}/extras/plugin-template/README.md +0 -0
  97. {execsql2-2.18.1 → execsql2-2.19.0}/extras/plugin-template/pyproject.toml +0 -0
  98. {execsql2-2.18.1 → execsql2-2.19.0}/extras/plugin-template/src/execsql_plugin_YOURNAME/__init__.py +0 -0
  99. {execsql2-2.18.1 → execsql2-2.19.0}/extras/plugin-template/tests/test_plugin.py.example +0 -0
  100. {execsql2-2.18.1 → execsql2-2.19.0}/extras/vscode-execsql/README.md +0 -0
  101. {execsql2-2.18.1 → execsql2-2.19.0}/extras/vscode-execsql/package.json +0 -0
  102. {execsql2-2.18.1 → execsql2-2.19.0}/extras/vscode-execsql/syntaxes/execsql.tmLanguage.json +0 -0
  103. {execsql2-2.18.1 → execsql2-2.19.0}/justfile +0 -0
  104. {execsql2-2.18.1 → execsql2-2.19.0}/scripts/generate_vscode_grammar.py +0 -0
  105. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/__init__.py +0 -0
  106. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/__main__.py +0 -0
  107. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/api.py +0 -0
  108. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/cli/__init__.py +0 -0
  109. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/cli/dsn.py +0 -0
  110. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/cli/help.py +0 -0
  111. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/cli/lint.py +0 -0
  112. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/config.py +0 -0
  113. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/data/__init__.py +0 -0
  114. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/db/__init__.py +0 -0
  115. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/db/dsn.py +0 -0
  116. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/db/duckdb.py +0 -0
  117. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/db/factory.py +0 -0
  118. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/db/firebird.py +0 -0
  119. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/db/postgres.py +0 -0
  120. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/db/sqlite.py +0 -0
  121. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/debug/__init__.py +0 -0
  122. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exceptions.py +0 -0
  123. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/__init__.py +0 -0
  124. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/base.py +0 -0
  125. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/delimited.py +0 -0
  126. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/duckdb.py +0 -0
  127. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/html.py +0 -0
  128. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/json.py +0 -0
  129. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/latex.py +0 -0
  130. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/markdown.py +0 -0
  131. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/ods.py +0 -0
  132. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/parquet.py +0 -0
  133. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/pretty.py +0 -0
  134. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/protocol.py +0 -0
  135. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/raw.py +0 -0
  136. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/sqlite.py +0 -0
  137. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/templates.py +0 -0
  138. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/values.py +0 -0
  139. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/xls.py +0 -0
  140. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/xlsx.py +0 -0
  141. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/xml.py +0 -0
  142. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/yaml.py +0 -0
  143. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/exporters/zip.py +0 -0
  144. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/gui/__init__.py +0 -0
  145. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/gui/base.py +0 -0
  146. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/gui/console.py +0 -0
  147. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/gui/desktop.py +0 -0
  148. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/gui/tui.py +0 -0
  149. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/importers/__init__.py +0 -0
  150. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/importers/csv.py +0 -0
  151. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/importers/feather.py +0 -0
  152. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/importers/json.py +0 -0
  153. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/importers/ods.py +0 -0
  154. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/conditions.py +0 -0
  155. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/connect.py +0 -0
  156. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/control.py +0 -0
  157. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/debug.py +0 -0
  158. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/dispatch.py +0 -0
  159. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/io.py +0 -0
  160. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/io_export.py +0 -0
  161. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/io_fileops.py +0 -0
  162. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/io_import.py +0 -0
  163. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/io_write.py +0 -0
  164. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/prompt.py +0 -0
  165. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/script_ext.py +0 -0
  166. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/system.py +0 -0
  167. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/metacommands/upsert.py +0 -0
  168. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/models.py +0 -0
  169. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/parser.py +0 -0
  170. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/plugins.py +0 -0
  171. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/py.typed +0 -0
  172. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/script/__init__.py +0 -0
  173. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/script/ast.py +0 -0
  174. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/script/control.py +0 -0
  175. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/script/engine.py +0 -0
  176. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/script/variables.py +0 -0
  177. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/state.py +0 -0
  178. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/types.py +0 -0
  179. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/utils/__init__.py +0 -0
  180. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/utils/auth.py +0 -0
  181. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/utils/crypto.py +0 -0
  182. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/utils/datetime.py +0 -0
  183. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/utils/errors.py +0 -0
  184. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/utils/fileio.py +0 -0
  185. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/utils/gui.py +0 -0
  186. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/utils/mail.py +0 -0
  187. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/utils/numeric.py +0 -0
  188. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/utils/regex.py +0 -0
  189. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/utils/strings.py +0 -0
  190. {execsql2-2.18.1 → execsql2-2.19.0}/src/execsql/utils/timer.py +0 -0
  191. {execsql2-2.18.1 → execsql2-2.19.0}/templates/README.md +0 -0
  192. {execsql2-2.18.1 → execsql2-2.19.0}/templates/config_settings.sqlite +0 -0
  193. {execsql2-2.18.1 → execsql2-2.19.0}/templates/make_config_db.sql +0 -0
  194. {execsql2-2.18.1 → execsql2-2.19.0}/templates/md_compare.sql +0 -0
  195. {execsql2-2.18.1 → execsql2-2.19.0}/templates/md_glossary.sql +0 -0
  196. {execsql2-2.18.1 → execsql2-2.19.0}/templates/md_upsert.sql +0 -0
  197. {execsql2-2.18.1 → execsql2-2.19.0}/templates/pg_compare.sql +0 -0
  198. {execsql2-2.18.1 → execsql2-2.19.0}/templates/pg_glossary.sql +0 -0
  199. {execsql2-2.18.1 → execsql2-2.19.0}/templates/pg_upsert.sql +0 -0
  200. {execsql2-2.18.1 → execsql2-2.19.0}/templates/script_template.sql +0 -0
  201. {execsql2-2.18.1 → execsql2-2.19.0}/templates/ss_compare.sql +0 -0
  202. {execsql2-2.18.1 → execsql2-2.19.0}/templates/ss_glossary.sql +0 -0
  203. {execsql2-2.18.1 → execsql2-2.19.0}/templates/ss_upsert.sql +0 -0
  204. {execsql2-2.18.1 → execsql2-2.19.0}/tests/__init__.py +0 -0
  205. {execsql2-2.18.1 → execsql2-2.19.0}/tests/cli/__init__.py +0 -0
  206. {execsql2-2.18.1 → execsql2-2.19.0}/tests/cli/test_cli.py +0 -0
  207. {execsql2-2.18.1 → execsql2-2.19.0}/tests/cli/test_cli_e2e.py +0 -0
  208. {execsql2-2.18.1 → execsql2-2.19.0}/tests/cli/test_cli_run.py +0 -0
  209. {execsql2-2.18.1 → execsql2-2.19.0}/tests/cli/test_lint.py +0 -0
  210. {execsql2-2.18.1 → execsql2-2.19.0}/tests/cli/test_ping.py +0 -0
  211. {execsql2-2.18.1 → execsql2-2.19.0}/tests/cli/test_profile.py +0 -0
  212. {execsql2-2.18.1 → execsql2-2.19.0}/tests/conftest.py +0 -0
  213. {execsql2-2.18.1 → execsql2-2.19.0}/tests/db/__init__.py +0 -0
  214. {execsql2-2.18.1 → execsql2-2.19.0}/tests/db/test_access_windows.py +0 -0
  215. {execsql2-2.18.1 → execsql2-2.19.0}/tests/db/test_base.py +0 -0
  216. {execsql2-2.18.1 → execsql2-2.19.0}/tests/db/test_db_adapters_mocked.py +0 -0
  217. {execsql2-2.18.1 → execsql2-2.19.0}/tests/db/test_db_adapters_mocked_extra.py +0 -0
  218. {execsql2-2.18.1 → execsql2-2.19.0}/tests/db/test_dsn.py +0 -0
  219. {execsql2-2.18.1 → execsql2-2.19.0}/tests/db/test_duckdb.py +0 -0
  220. {execsql2-2.18.1 → execsql2-2.19.0}/tests/db/test_factory.py +0 -0
  221. {execsql2-2.18.1 → execsql2-2.19.0}/tests/db/test_mysql_case_folding.py +0 -0
  222. {execsql2-2.18.1 → execsql2-2.19.0}/tests/db/test_mysql_inprocess.py +0 -0
  223. {execsql2-2.18.1 → execsql2-2.19.0}/tests/db/test_postgres.py +0 -0
  224. {execsql2-2.18.1 → execsql2-2.19.0}/tests/db/test_postgres_inprocess.py +0 -0
  225. {execsql2-2.18.1 → execsql2-2.19.0}/tests/db/test_sqlite.py +0 -0
  226. {execsql2-2.18.1 → execsql2-2.19.0}/tests/db/test_sqlite_extra.py +0 -0
  227. {execsql2-2.18.1 → execsql2-2.19.0}/tests/db/test_sqlserver_inprocess.py +0 -0
  228. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/__init__.py +0 -0
  229. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_base.py +0 -0
  230. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_db.py +0 -0
  231. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_delimited.py +0 -0
  232. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_duckdb_exporter.py +0 -0
  233. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_exporters.py +0 -0
  234. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_html_extended.py +0 -0
  235. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_html_latex.py +0 -0
  236. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_json.py +0 -0
  237. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_json_extended.py +0 -0
  238. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_latex_extended.py +0 -0
  239. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_markdown.py +0 -0
  240. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_ods.py +0 -0
  241. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_ods_export.py +0 -0
  242. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_parquet.py +0 -0
  243. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_pretty_extended.py +0 -0
  244. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_raw_extended.py +0 -0
  245. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_sqlite_exporter.py +0 -0
  246. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_templates.py +0 -0
  247. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_templates_extended.py +0 -0
  248. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_values_extended.py +0 -0
  249. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_xls_xlsx.py +0 -0
  250. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_xlsx.py +0 -0
  251. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_xml.py +0 -0
  252. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_yaml.py +0 -0
  253. {execsql2-2.18.1 → execsql2-2.19.0}/tests/exporters/test_zip.py +0 -0
  254. {execsql2-2.18.1 → execsql2-2.19.0}/tests/gui/__init__.py +0 -0
  255. {execsql2-2.18.1 → execsql2-2.19.0}/tests/gui/test_backends.py +0 -0
  256. {execsql2-2.18.1 → execsql2-2.19.0}/tests/gui/test_backends_extended.py +0 -0
  257. {execsql2-2.18.1 → execsql2-2.19.0}/tests/gui/test_compare_stats.py +0 -0
  258. {execsql2-2.18.1 → execsql2-2.19.0}/tests/gui/test_compute_row_diffs.py +0 -0
  259. {execsql2-2.18.1 → execsql2-2.19.0}/tests/gui/test_desktop_dialogs.py +0 -0
  260. {execsql2-2.18.1 → execsql2-2.19.0}/tests/gui/test_tui_pilot.py +0 -0
  261. {execsql2-2.18.1 → execsql2-2.19.0}/tests/gui/test_tui_pilot_complex.py +0 -0
  262. {execsql2-2.18.1 → execsql2-2.19.0}/tests/gui/test_utils_gui_extended.py +0 -0
  263. {execsql2-2.18.1 → execsql2-2.19.0}/tests/importers/__init__.py +0 -0
  264. {execsql2-2.18.1 → execsql2-2.19.0}/tests/importers/test_base_extended.py +0 -0
  265. {execsql2-2.18.1 → execsql2-2.19.0}/tests/importers/test_csv_edge_cases.py +0 -0
  266. {execsql2-2.18.1 → execsql2-2.19.0}/tests/importers/test_csv_importer.py +0 -0
  267. {execsql2-2.18.1 → execsql2-2.19.0}/tests/importers/test_feather_importer.py +0 -0
  268. {execsql2-2.18.1 → execsql2-2.19.0}/tests/importers/test_json_importer.py +0 -0
  269. {execsql2-2.18.1 → execsql2-2.19.0}/tests/importers/test_ods_importer.py +0 -0
  270. {execsql2-2.18.1 → execsql2-2.19.0}/tests/importers/test_xls_importer.py +0 -0
  271. {execsql2-2.18.1 → execsql2-2.19.0}/tests/integration/__init__.py +0 -0
  272. {execsql2-2.18.1 → execsql2-2.19.0}/tests/integration/conftest.py +0 -0
  273. {execsql2-2.18.1 → execsql2-2.19.0}/tests/integration/test_dsn.py +0 -0
  274. {execsql2-2.18.1 → execsql2-2.19.0}/tests/integration/test_duckdb.py +0 -0
  275. {execsql2-2.18.1 → execsql2-2.19.0}/tests/integration/test_mysql.py +0 -0
  276. {execsql2-2.18.1 → execsql2-2.19.0}/tests/integration/test_postgres.py +0 -0
  277. {execsql2-2.18.1 → execsql2-2.19.0}/tests/integration/test_sqlite.py +0 -0
  278. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/__init__.py +0 -0
  279. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_assert.py +0 -0
  280. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_conditions_extra.py +0 -0
  281. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_connect.py +0 -0
  282. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_io_export.py +0 -0
  283. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_io_import.py +0 -0
  284. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_metacommands_connect.py +0 -0
  285. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_metacommands_data.py +0 -0
  286. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_metacommands_extended.py +0 -0
  287. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_metacommands_fileops_extra.py +0 -0
  288. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_metacommands_io.py +0 -0
  289. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_metacommands_io_write_extra.py +0 -0
  290. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_metacommands_script_ext.py +0 -0
  291. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_metacommands_system.py +0 -0
  292. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_metacommands_system_extra.py +0 -0
  293. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_pg_upsert.py +0 -0
  294. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_prompt.py +0 -0
  295. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_row_count.py +0 -0
  296. {execsql2-2.18.1 → execsql2-2.19.0}/tests/metacommands/test_show_scripts.py +0 -0
  297. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/__init__.py +0 -0
  298. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/audit_lint_bad.sql +0 -0
  299. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/audit_smoke/sample.json +0 -0
  300. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/audit_smoke/sample.jsonl +0 -0
  301. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/audit_smoke.sql +0 -0
  302. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/config_runtime.sql +0 -0
  303. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/control_flow.sql +0 -0
  304. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/counters_and_locals.sql +0 -0
  305. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/error_handling.sql +0 -0
  306. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/import_options/has_comments.csv +0 -0
  307. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/import_options.sql +0 -0
  308. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/includes/helper.sql +0 -0
  309. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/includes.sql +0 -0
  310. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/io_formats.sql +0 -0
  311. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/io_roundtrip.sql +0 -0
  312. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/multi_db.sql +0 -0
  313. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/parquet_feather_roundtrip.sql +0 -0
  314. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/parse_only/parse_tree.sql +0 -0
  315. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/predicates.sql +0 -0
  316. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/scripts.sql +0 -0
  317. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/smoke.sql +0 -0
  318. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/subroutine_loops.sql +0 -0
  319. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/subvars_advanced.sql +0 -0
  320. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/template_export/greeting.tmpl +0 -0
  321. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/template_export.sql +0 -0
  322. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/timer.sql +0 -0
  323. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/transactions.sql +0 -0
  324. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/write_create_table.sql +0 -0
  325. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/fixtures/xlsx_ods_roundtrip.sql +0 -0
  326. {execsql2-2.18.1 → execsql2-2.19.0}/tests/scripts/test_sql_scripts.py +0 -0
  327. {execsql2-2.18.1 → execsql2-2.19.0}/tests/security/__init__.py +0 -0
  328. {execsql2-2.18.1 → execsql2-2.19.0}/tests/security/test_env_detection.py +0 -0
  329. {execsql2-2.18.1 → execsql2-2.19.0}/tests/security/test_expansion_bomb.py +0 -0
  330. {execsql2-2.18.1 → execsql2-2.19.0}/tests/security/test_import_regex_hardening.py +0 -0
  331. {execsql2-2.18.1 → execsql2-2.19.0}/tests/security/test_log_redaction.py +0 -0
  332. {execsql2-2.18.1 → execsql2-2.19.0}/tests/security/test_odbc_injection.py +0 -0
  333. {execsql2-2.18.1 → execsql2-2.19.0}/tests/security/test_path_containment.py +0 -0
  334. {execsql2-2.18.1 → execsql2-2.19.0}/tests/security/test_substitution_injection.py +0 -0
  335. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_api.py +0 -0
  336. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_api_extended.py +0 -0
  337. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_ast.py +0 -0
  338. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_bundled_templates.py +0 -0
  339. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_config.py +0 -0
  340. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_config_data.py +0 -0
  341. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_config_extended.py +0 -0
  342. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_engine.py +0 -0
  343. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_error_messages.py +0 -0
  344. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_exceptions.py +0 -0
  345. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_executor.py +0 -0
  346. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_executor_inprocess.py +0 -0
  347. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_format.py +0 -0
  348. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_mail.py +0 -0
  349. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_models.py +0 -0
  350. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_package.py +0 -0
  351. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_parser.py +0 -0
  352. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_parser_params.py +0 -0
  353. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_plugins.py +0 -0
  354. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_registry.py +0 -0
  355. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_script.py +0 -0
  356. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_state.py +0 -0
  357. {execsql2-2.18.1 → execsql2-2.19.0}/tests/test_types.py +0 -0
  358. {execsql2-2.18.1 → execsql2-2.19.0}/tests/utils/__init__.py +0 -0
  359. {execsql2-2.18.1 → execsql2-2.19.0}/tests/utils/test_auth.py +0 -0
  360. {execsql2-2.18.1 → execsql2-2.19.0}/tests/utils/test_auth_extra.py +0 -0
  361. {execsql2-2.18.1 → execsql2-2.19.0}/tests/utils/test_crypto.py +0 -0
  362. {execsql2-2.18.1 → execsql2-2.19.0}/tests/utils/test_datetime.py +0 -0
  363. {execsql2-2.18.1 → execsql2-2.19.0}/tests/utils/test_encodedfile_context.py +0 -0
  364. {execsql2-2.18.1 → execsql2-2.19.0}/tests/utils/test_errors.py +0 -0
  365. {execsql2-2.18.1 → execsql2-2.19.0}/tests/utils/test_errors_extra.py +0 -0
  366. {execsql2-2.18.1 → execsql2-2.19.0}/tests/utils/test_fileio.py +0 -0
  367. {execsql2-2.18.1 → execsql2-2.19.0}/tests/utils/test_fileio_extra.py +0 -0
  368. {execsql2-2.18.1 → execsql2-2.19.0}/tests/utils/test_numeric.py +0 -0
  369. {execsql2-2.18.1 → execsql2-2.19.0}/tests/utils/test_regex.py +0 -0
  370. {execsql2-2.18.1 → execsql2-2.19.0}/tests/utils/test_strings.py +0 -0
  371. {execsql2-2.18.1 → execsql2-2.19.0}/tests/utils/test_timer.py +0 -0
  372. {execsql2-2.18.1 → execsql2-2.19.0}/tests/utils/test_timer_extra.py +0 -0
  373. {execsql2-2.18.1 → execsql2-2.19.0}/zensical.toml +0 -0
@@ -51,3 +51,4 @@ CLAUDE.md
51
51
  AUDIT.md
52
52
  DOC_AUDIT.md
53
53
  PROMPTS.md
54
+ audit/