Skip to content

Commit 2191deb

Browse files
revert update agate for int (#8478) (#8481)
(cherry picked from commit 4d3c6d9) Co-authored-by: Michelle Ark <[email protected]>
1 parent 03a5231 commit 2191deb

File tree

5 files changed

+10
-53
lines changed

5 files changed

+10
-53
lines changed

.changes/unreleased/Fixes-20230803-093502.yaml

Lines changed: 0 additions & 6 deletions
This file was deleted.

core/dbt/clients/agate_helper.py

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,6 @@
1212
BOM = BOM_UTF8.decode("utf-8") # '\ufeff'
1313

1414

15-
class Integer(agate.data_types.DataType):
16-
def cast(self, d):
17-
if type(d) == int:
18-
return d
19-
else:
20-
raise agate.exceptions.CastError('Can not parse value "%s" as Integer.' % d)
21-
22-
def jsonify(self, d):
23-
return d
24-
25-
2615
class Number(agate.data_types.Number):
2716
# undo the change in https://github.com/wireservice/agate/pull/733
2817
# i.e. do not cast True and False to numeric 1 and 0
@@ -58,7 +47,6 @@ def build_type_tester(
5847
) -> agate.TypeTester:
5948

6049
types = [
61-
Integer(null_values=("null", "")),
6250
Number(null_values=("null", "")),
6351
agate.data_types.Date(null_values=("null", ""), date_format="%Y-%m-%d"),
6452
agate.data_types.DateTime(null_values=("null", ""), datetime_format="%Y-%m-%d %H:%M:%S"),

tests/functional/show/fixtures.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,6 @@
22
select * from {{ ref('sample_seed') }}
33
"""
44

5-
models__sample_number_model = """
6-
select
7-
cast(1.0 as int) as float_to_int_field,
8-
3.0 as float_field,
9-
4.3 as float_with_dec_field,
10-
5 as int_field
11-
"""
12-
135
models__second_model = """
146
select
157
sample_num as col_one,

tests/functional/show/test_show.py

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
models__second_ephemeral_model,
77
seeds__sample_seed,
88
models__sample_model,
9-
models__sample_number_model,
109
models__second_model,
1110
models__ephemeral_model,
1211
schema_yml,
@@ -20,7 +19,6 @@ class BaseTestShow:
2019
def models(self):
2120
return {
2221
"sample_model.sql": models__sample_model,
23-
"sample_number_model.sql": models__sample_number_model,
2422
"second_model.sql": models__second_model,
2523
"ephemeral_model.sql": models__ephemeral_model,
2624
"sql_header.sql": models__sql_header,
@@ -73,21 +71,6 @@ def test_select_single_model_json(self, project):
7371
assert "sample_bool" in log_output
7472

7573

76-
class TestSelectNumerics(BaseTestShow):
77-
def test_numeric_values(self, project):
78-
run_dbt(["build"])
79-
(results, log_output) = run_dbt_and_capture(
80-
["show", "--select", "sample_number_model", "--output", "json"]
81-
)
82-
assert "Previewing node 'sample_number_model'" not in log_output
83-
assert "1.0" not in log_output
84-
assert "1" in log_output
85-
assert "3.0" in log_output
86-
assert "4.3" in log_output
87-
assert "5" in log_output
88-
assert "5.0" not in log_output
89-
90-
9174
class TestInlinePass(BaseTestShow):
9275
def test_inline_pass(self, project):
9376
run_dbt(["build"])

tests/unit/test_agate_helper.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -121,37 +121,37 @@ def test_datetime_formats(self):
121121
self.assertEqual(tbl[0][0], expected)
122122

123123
def test_merge_allnull(self):
124-
t1 = agate_helper.table_from_rows([(1, "a", None), (2, "b", None)], ("a", "b", "c"))
125-
t2 = agate_helper.table_from_rows([(3, "c", None), (4, "d", None)], ("a", "b", "c"))
124+
t1 = agate.Table([(1, "a", None), (2, "b", None)], ("a", "b", "c"))
125+
t2 = agate.Table([(3, "c", None), (4, "d", None)], ("a", "b", "c"))
126126
result = agate_helper.merge_tables([t1, t2])
127127
self.assertEqual(result.column_names, ("a", "b", "c"))
128-
assert isinstance(result.column_types[0], agate_helper.Integer)
128+
assert isinstance(result.column_types[0], agate.data_types.Number)
129129
assert isinstance(result.column_types[1], agate.data_types.Text)
130130
assert isinstance(result.column_types[2], agate.data_types.Number)
131131
self.assertEqual(len(result), 4)
132132

133133
def test_merge_mixed(self):
134-
t1 = agate_helper.table_from_rows([(1, "a", None), (2, "b", None)], ("a", "b", "c"))
135-
t2 = agate_helper.table_from_rows([(3, "c", "dog"), (4, "d", "cat")], ("a", "b", "c"))
136-
t3 = agate_helper.table_from_rows([(3, "c", None), (4, "d", None)], ("a", "b", "c"))
134+
t1 = agate.Table([(1, "a", None), (2, "b", None)], ("a", "b", "c"))
135+
t2 = agate.Table([(3, "c", "dog"), (4, "d", "cat")], ("a", "b", "c"))
136+
t3 = agate.Table([(3, "c", None), (4, "d", None)], ("a", "b", "c"))
137137

138138
result = agate_helper.merge_tables([t1, t2])
139139
self.assertEqual(result.column_names, ("a", "b", "c"))
140-
assert isinstance(result.column_types[0], agate_helper.Integer)
140+
assert isinstance(result.column_types[0], agate.data_types.Number)
141141
assert isinstance(result.column_types[1], agate.data_types.Text)
142142
assert isinstance(result.column_types[2], agate.data_types.Text)
143143
self.assertEqual(len(result), 4)
144144

145145
result = agate_helper.merge_tables([t2, t3])
146146
self.assertEqual(result.column_names, ("a", "b", "c"))
147-
assert isinstance(result.column_types[0], agate_helper.Integer)
147+
assert isinstance(result.column_types[0], agate.data_types.Number)
148148
assert isinstance(result.column_types[1], agate.data_types.Text)
149149
assert isinstance(result.column_types[2], agate.data_types.Text)
150150
self.assertEqual(len(result), 4)
151151

152152
result = agate_helper.merge_tables([t1, t2, t3])
153153
self.assertEqual(result.column_names, ("a", "b", "c"))
154-
assert isinstance(result.column_types[0], agate_helper.Integer)
154+
assert isinstance(result.column_types[0], agate.data_types.Number)
155155
assert isinstance(result.column_types[1], agate.data_types.Text)
156156
assert isinstance(result.column_types[2], agate.data_types.Text)
157157
self.assertEqual(len(result), 6)
@@ -191,7 +191,7 @@ def test_nocast_bool_01(self):
191191
self.assertEqual(len(tbl), len(result_set))
192192

193193
assert isinstance(tbl.column_types[0], agate.data_types.Boolean)
194-
assert isinstance(tbl.column_types[1], agate_helper.Integer)
194+
assert isinstance(tbl.column_types[1], agate.data_types.Number)
195195

196196
expected = [
197197
[True, Decimal(1)],

0 commit comments

Comments
 (0)