Skip to content
This repository was archived by the owner on May 17, 2024. It is now read-only.

Commit 7db4f45

Browse files
author
Sergey Vasilyev
committed
Fix precision fetching for DataBricks
1 parent 8f55fb4 commit 7db4f45

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

data_diff/databases/databricks.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ def query_table_schema(self, path: DbPath) -> Dict[str, RawColumnInfo]:
158158

159159
d = {
160160
r.COLUMN_NAME: RawColumnInfo(
161-
column_name=r.COLUMN_NAME, data_type=r.TYPE_NAME, datetime_precision=r.DECIMAL_DIGITS
161+
column_name=r.COLUMN_NAME, data_type=r.TYPE_NAME, numeric_precision=r.DECIMAL_DIGITS
162162
)
163163
for r in rows
164164
}
@@ -194,7 +194,7 @@ def _process_table_schema(
194194
info = attrs.evolve(info, numeric_scale=0)
195195

196196
elif issubclass(type_cls, Float):
197-
numeric_precision = math.ceil(info[2] / math.log(2, 10))
197+
numeric_precision = math.ceil(info.numeric_precision / math.log(2, 10))
198198
info = attrs.evolve(info, numeric_precision=numeric_precision)
199199

200200
elif issubclass(type_cls, Decimal):
@@ -207,7 +207,14 @@ def _process_table_schema(
207207
)
208208

209209
elif issubclass(type_cls, Timestamp):
210-
info = attrs.evolve(info, datetime_precision=info.datetime_precision)
210+
info = attrs.evolve(
211+
info,
212+
datetime_precision=info.numeric_precision,
213+
numeric_precision=None,
214+
)
215+
216+
else:
217+
info = attrs.evolve(info, numeric_precision=None)
211218

212219
resulted_rows.append(info)
213220

0 commit comments

Comments
 (0)