collate-data-diff 0.11.11__tar.gz → 0.11.12__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 (53) hide show
  1. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/PKG-INFO +1 -1
  2. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/mssql.py +8 -5
  3. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/pyproject.toml +1 -1
  4. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/LICENSE +0 -0
  5. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/README.md +0 -0
  6. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/__init__.py +0 -0
  7. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/__main__.py +0 -0
  8. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/abcs/__init__.py +0 -0
  9. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/abcs/compiler.py +0 -0
  10. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/abcs/database_types.py +0 -0
  11. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/cloud/__init__.py +0 -0
  12. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/cloud/data_source.py +0 -0
  13. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/cloud/datafold_api.py +0 -0
  14. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/config.py +0 -0
  15. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/__init__.py +0 -0
  16. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/_connect.py +0 -0
  17. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/base.py +0 -0
  18. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/bigquery.py +0 -0
  19. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/clickhouse.py +0 -0
  20. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/databricks.py +0 -0
  21. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/duckdb.py +0 -0
  22. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/mysql.py +0 -0
  23. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/oracle.py +0 -0
  24. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/postgresql.py +0 -0
  25. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/presto.py +0 -0
  26. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/redshift.py +0 -0
  27. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/snowflake.py +0 -0
  28. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/trino.py +0 -0
  29. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/databases/vertica.py +0 -0
  30. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/dbt.py +0 -0
  31. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/dbt_config_validators.py +0 -0
  32. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/dbt_parser.py +0 -0
  33. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/diff_tables.py +0 -0
  34. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/errors.py +0 -0
  35. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/format.py +0 -0
  36. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/hashdiff_tables.py +0 -0
  37. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/info_tree.py +0 -0
  38. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/joindiff_tables.py +0 -0
  39. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/lexicographic_space.py +0 -0
  40. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/parse_time.py +0 -0
  41. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/py.typed +0 -0
  42. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/queries/__init__.py +0 -0
  43. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/queries/api.py +0 -0
  44. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/queries/ast_classes.py +0 -0
  45. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/queries/base.py +0 -0
  46. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/queries/extras.py +0 -0
  47. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/query_utils.py +0 -0
  48. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/schema.py +0 -0
  49. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/table_segment.py +0 -0
  50. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/thread_utils.py +0 -0
  51. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/tracking.py +0 -0
  52. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/utils.py +0 -0
  53. {collate_data_diff-0.11.11 → collate_data_diff-0.11.12}/data_diff/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: collate-data-diff
3
- Version: 0.11.11
3
+ Version: 0.11.12
4
4
  Summary: Command-line tool and Python library to efficiently diff rows across two different databases.
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -200,14 +200,17 @@ class MsSQL(ThreadedDatabase):
200
200
  def select_table_schema(self, path: DbPath) -> str:
201
201
  """Provide SQL for selecting the table schema as (name, type, date_prec, num_prec)"""
202
202
  database, schema, name = self._normalize_table_path(path)
203
- info_schema_path = ["information_schema", "columns"]
203
+ # Metadata identifiers follow the catalog collation, so use their canonical case for case-sensitive catalogs.
204
+ info_schema_path = ["INFORMATION_SCHEMA", "COLUMNS"]
204
205
  if database:
205
- info_schema_path.insert(0, self.dialect.quote(database))
206
+ info_schema_path.insert(0, database)
207
+ quoted_info_schema_path = ".".join(self.dialect.quote(identifier) for identifier in info_schema_path)
206
208
 
207
209
  return (
208
- "SELECT column_name, data_type, datetime_precision, numeric_precision, numeric_scale, collation_name "
209
- f"FROM {'.'.join(info_schema_path)} "
210
- f"WHERE table_name = '{name}' AND table_schema = '{schema}'"
210
+ "SELECT [COLUMN_NAME], [DATA_TYPE], [DATETIME_PRECISION], [NUMERIC_PRECISION], [NUMERIC_SCALE], "
211
+ "[COLLATION_NAME] "
212
+ f"FROM {quoted_info_schema_path} "
213
+ f"WHERE [TABLE_NAME] = '{name}' AND [TABLE_SCHEMA] = '{schema}'"
211
214
  )
212
215
 
213
216
  def _normalize_table_path(self, path: DbPath) -> DbPath:
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "collate-data-diff"
3
- version = "0.11.11"
3
+ version = "0.11.12"
4
4
  description = "Command-line tool and Python library to efficiently diff rows across two different databases."
5
5
  authors = ["Collate <info@getcollate.io>", "Datafold <data-diff@datafold.com>"]
6
6
  license = "MIT"