sqlmesh 0.205.1.dev1__py3-none-any.whl → 0.205.1.dev2__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.
sqlmesh/_version.py CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.205.1.dev1'
21
- __version_tuple__ = version_tuple = (0, 205, 1, 'dev1')
20
+ __version__ = version = '0.205.1.dev2'
21
+ __version_tuple__ = version_tuple = (0, 205, 1, 'dev2')
@@ -142,3 +142,56 @@ class DuckDBEngineAdapter(LogicalMergeMixin, GetCurrentCatalogFromFunctionMixin,
142
142
  exp.cast(col, "DOUBLE"),
143
143
  f"DECIMAL(38, {precision})",
144
144
  )
145
+
146
+ def _create_table(
147
+ self,
148
+ table_name_or_schema: t.Union[exp.Schema, TableName],
149
+ expression: t.Optional[exp.Expression],
150
+ exists: bool = True,
151
+ replace: bool = False,
152
+ columns_to_types: t.Optional[t.Dict[str, exp.DataType]] = None,
153
+ table_description: t.Optional[str] = None,
154
+ column_descriptions: t.Optional[t.Dict[str, str]] = None,
155
+ table_kind: t.Optional[str] = None,
156
+ **kwargs: t.Any,
157
+ ) -> None:
158
+ catalog = self.get_current_catalog()
159
+ catalog_type_tuple = self.fetchone(
160
+ exp.select("type")
161
+ .from_("duckdb_databases()")
162
+ .where(exp.column("database_name").eq(catalog))
163
+ )
164
+ catalog_type = catalog_type_tuple[0] if catalog_type_tuple else None
165
+
166
+ partitioned_by_exps = None
167
+ if catalog_type == "ducklake":
168
+ partitioned_by_exps = kwargs.pop("partitioned_by", None)
169
+
170
+ super()._create_table(
171
+ table_name_or_schema,
172
+ expression,
173
+ exists,
174
+ replace,
175
+ columns_to_types,
176
+ table_description,
177
+ column_descriptions,
178
+ table_kind,
179
+ **kwargs,
180
+ )
181
+
182
+ if partitioned_by_exps:
183
+ # Schema object contains column definitions, so we extract Table
184
+ table_name = (
185
+ table_name_or_schema.this
186
+ if isinstance(table_name_or_schema, exp.Schema)
187
+ else table_name_or_schema
188
+ )
189
+ table_name_str = (
190
+ table_name.sql(dialect=self.dialect)
191
+ if isinstance(table_name, exp.Table)
192
+ else table_name
193
+ )
194
+ partitioned_by_str = ", ".join(
195
+ expr.sql(dialect=self.dialect) for expr in partitioned_by_exps
196
+ )
197
+ self.execute(f"ALTER TABLE {table_name_str} SET PARTITIONED BY ({partitioned_by_str});")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlmesh
3
- Version: 0.205.1.dev1
3
+ Version: 0.205.1.dev2
4
4
  Summary: Next-generation data transformation framework
5
5
  Author-email: "TobikoData Inc." <engineering@tobikodata.com>
6
6
  License: Apache License
@@ -1,5 +1,5 @@
1
1
  sqlmesh/__init__.py,sha256=QjwaamJIdW7voXoS880yAx7tHm-Im4_mqGA-XJgafos,7631
2
- sqlmesh/_version.py,sha256=tth2MVBeqXMMLsKf3o6rPWlnx9ss84VG0QeefLDidqc,528
2
+ sqlmesh/_version.py,sha256=wvHRk-Wl7LeAzSpg3e0vfUHDMdJ5DH63UYCfl1wffow,528
3
3
  sqlmesh/magics.py,sha256=bEzYqXHcM0P3CjyUZ1O9arlmXAdLAhoglKbQ29fD9AE,41842
4
4
  sqlmesh/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  sqlmesh/cicd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -64,7 +64,7 @@ sqlmesh/core/engine_adapter/base_postgres.py,sha256=DOsOdCJyQAVfA9S0GznuH0J1bonM
64
64
  sqlmesh/core/engine_adapter/bigquery.py,sha256=hkEbCiWYy6qS9VHwOZ67yn1t50apWOoV8mn2tetjIVE,50809
65
65
  sqlmesh/core/engine_adapter/clickhouse.py,sha256=LoPdm_s_s-ZxS1XJPA3Et0iOHeJ1LgqTAFbwBdiqE7A,34912
66
66
  sqlmesh/core/engine_adapter/databricks.py,sha256=8ZExPIeT3dDh9MTJW8udvmh9LiY-f9HkRAN1Q5Qebhs,14541
67
- sqlmesh/core/engine_adapter/duckdb.py,sha256=TlSFSWNzUfjGdhuMyCi1CLwhBaEKyNKtasub9OsYwrc,5199
67
+ sqlmesh/core/engine_adapter/duckdb.py,sha256=bv1kfcaDtYlAtJBjxxfteG-dIf31-6r-NipfgtNbFKQ,7133
68
68
  sqlmesh/core/engine_adapter/mixins.py,sha256=2f6I97iRoeEX2c_BB5Pu8ruIrozwtCZPrxN3a-ANBr8,22495
69
69
  sqlmesh/core/engine_adapter/mssql.py,sha256=N-l9RReP45hg9CNKCQTrg4BmwKtN-v9xK68JJW-xYc8,17647
70
70
  sqlmesh/core/engine_adapter/mysql.py,sha256=lVC-siXZK3iSfqCmBjZNw8uy09Z8la8v8_oUZ-E2OwI,6966
@@ -285,7 +285,7 @@ sqlmesh/utils/pydantic.py,sha256=o_NsXbIpDqNpUA1Uc5xF0ZzoXQYYB0DfHwdRxBwXPNk,120
285
285
  sqlmesh/utils/rich.py,sha256=cwQ5nJ6sgz64xHtoh6_ec7ReV5YpsOGhMtUJnwoRfEI,3549
286
286
  sqlmesh/utils/windows.py,sha256=r7Yin4WEwbvH7sKA3hOJtRsclmscNuBeCklCfVPvtQs,611
287
287
  sqlmesh/utils/yaml.py,sha256=hvo5lmybYLcIx4p6CQwufS8X4MbwS60lEBnCmYJCXmU,2336
288
- sqlmesh-0.205.1.dev1.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
288
+ sqlmesh-0.205.1.dev2.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
289
289
  web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
290
290
  web/client/dist/index.html,sha256=SXykdSRNgrT1k6I2dPZPEfpxPjIsi8-yVFijt-naSA4,5472
291
291
  web/client/dist/assets/Audits-Jm353fhk.js,sha256=ry6b5IKT3hLAfD5C3T2BqxulfauEV0n0YZ2vsP4eQ_U,1041
@@ -403,8 +403,8 @@ web/server/api/endpoints/models.py,sha256=kwj0s7uve3iZSMfmjkoPVMFMeY1sD0peTeyrWf
403
403
  web/server/api/endpoints/modules.py,sha256=8hqqgonGay_mJmpCw0IdbjsPhWlQH2VLdKAqha-myac,468
404
404
  web/server/api/endpoints/plan.py,sha256=bbbY50W_2MsZSTxOHWMKz0tbIm75nsRSlPy8GI2fg9Q,9306
405
405
  web/server/api/endpoints/table_diff.py,sha256=SCy3-pr5x6bEEiOaZGCDbiHQhpgxwmnz3Acqa2Ie6jI,2090
406
- sqlmesh-0.205.1.dev1.dist-info/METADATA,sha256=Z2_xpnduvQnYcoyTFEHntixMW5L1eZgmrEc7hXYqXzA,26678
407
- sqlmesh-0.205.1.dev1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
408
- sqlmesh-0.205.1.dev1.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
409
- sqlmesh-0.205.1.dev1.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
410
- sqlmesh-0.205.1.dev1.dist-info/RECORD,,
406
+ sqlmesh-0.205.1.dev2.dist-info/METADATA,sha256=7JQ7ZryNVEC5WdKjb65YNQXcEoQYNeamH_6ECqJ4X1M,26678
407
+ sqlmesh-0.205.1.dev2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
408
+ sqlmesh-0.205.1.dev2.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
409
+ sqlmesh-0.205.1.dev2.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
410
+ sqlmesh-0.205.1.dev2.dist-info/RECORD,,