soda-postgres 4.24.0__tar.gz → 4.26.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.
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: soda-postgres
3
- Version: 4.24.0
3
+ Version: 4.26.0
4
4
  Summary: Soda Postgres V4
5
5
  Author-email: "Soda Data N.V." <info@soda.io>
6
6
  License: Proprietary
7
7
  Requires-Python: >=3.10
8
- Requires-Dist: soda-core==4.24.0
8
+ Requires-Dist: soda-core==4.26.0
9
9
  Requires-Dist: psycopg[binary]>=3.2
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "soda-postgres"
3
- version = "4.24.0"
3
+ version = "4.26.0"
4
4
  description = "Soda Postgres V4"
5
5
  requires-python = ">=3.10"
6
6
  license = {text = "Proprietary"}
@@ -8,7 +8,7 @@ authors = [
8
8
  {name = "Soda Data N.V.", email = "info@soda.io"}
9
9
  ]
10
10
  dependencies = [
11
- "soda-core==4.24.0",
11
+ "soda-core==4.26.0",
12
12
  "psycopg[binary]>=3.2",
13
13
  ]
14
14
 
@@ -1,6 +1,6 @@
1
1
  from logging import Logger
2
2
  from numbers import Number
3
- from typing import Optional
3
+ from typing import Any, Optional, Tuple
4
4
 
5
5
  from soda_core.common.data_source_connection import DataSourceConnection
6
6
  from soda_core.common.data_source_impl import DataSourceImpl
@@ -353,6 +353,8 @@ class PostgresSqlDialect(SqlDialect, sqlglot_dialect="postgres"):
353
353
  COLUMN("nspname", table_alias="n").AS("table_schema"),
354
354
  COLUMN("relname", table_alias="c").AS("table_name"),
355
355
  RAW_SQL(self.relkind_table_type_sql_expression()),
356
+ # The column's typmod makes format_type keep type parameters, as in character(4) or numeric(10,2).
357
+ RAW_SQL('pg_catalog.format_type(a.atttypid, a.atttypmod) AS "source_data_type"'),
356
358
  ]
357
359
  )
358
360
 
@@ -427,6 +429,9 @@ class PostgresSqlDialect(SqlDialect, sqlglot_dialect="postgres"):
427
429
  def build_columns_metadata_query_str(self, table_namespace: DataSourceNamespace, table_name: str) -> str:
428
430
  return self._build_pg_columns_metadata_query(table_namespace, table_name=table_name)
429
431
 
432
+ def extract_source_data_type(self, row: Tuple[Any, ...], columns: list[Tuple[Any, ...]]) -> str:
433
+ return row[self.extract_column_index("source_data_type", columns)]
434
+
430
435
  def build_all_columns_metadata_query_str(
431
436
  self, table_namespace: DataSourceNamespace, table_names: list[str] | None = None
432
437
  ) -> str:
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: soda-postgres
3
- Version: 4.24.0
3
+ Version: 4.26.0
4
4
  Summary: Soda Postgres V4
5
5
  Author-email: "Soda Data N.V." <info@soda.io>
6
6
  License: Proprietary
7
7
  Requires-Python: >=3.10
8
- Requires-Dist: soda-core==4.24.0
8
+ Requires-Dist: soda-core==4.26.0
9
9
  Requires-Dist: psycopg[binary]>=3.2
@@ -1,2 +1,2 @@
1
- soda-core==4.24.0
1
+ soda-core==4.26.0
2
2
  psycopg[binary]>=3.2
File without changes