Skip to content

Commit

Permalink
refactor(sql): use trivial compilation
Browse files Browse the repository at this point in the history
  • Loading branch information
kszucs committed Apr 29, 2024
1 parent 8df106f commit 4339259
Show file tree
Hide file tree
Showing 201 changed files with 3,513 additions and 4,482 deletions.
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
SELECT
`t0`.`id`,
`t0`.`bool_col`,
`t0`.`tinyint_col`,
`t0`.`smallint_col`,
`t0`.`int_col`,
`t0`.`bigint_col`,
`t0`.`float_col`,
`t0`.`double_col`,
`t0`.`date_string_col`,
`t0`.`string_col`,
`t0`.`timestamp_col`,
`t0`.`year`,
`t0`.`month`
*
FROM `functional_alltypes` AS `t0`
WHERE
`t0`.`string_col` IS NOT DISTINCT FROM 'a'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,34 @@
WITH `t1` AS (
WITH `t4` AS (
SELECT
CAST(`t0`.`file_date` AS DATE) AS `file_date`,
`t0`.`PARTITIONTIME`,
`t0`.`val`,
`t0`.`val` * 2 AS `XYZ`
FROM `unbound_table` AS `t0`
WHERE
`t0`.`PARTITIONTIME` < DATE(2017, 1, 1)
AND CAST(`t0`.`file_date` AS DATE) < DATE(2017, 1, 1)
`t3`.`file_date`,
`t3`.`PARTITIONTIME`,
`t3`.`val`,
`t3`.`val` * 2 AS `XYZ`
FROM (
SELECT
*
FROM (
SELECT
CAST(`t1`.`file_date` AS DATE) AS `file_date`,
`t1`.`PARTITIONTIME`,
`t1`.`val`
FROM (
SELECT
*
FROM `unbound_table` AS `t0`
WHERE
`t0`.`PARTITIONTIME` < DATE(2017, 1, 1)
) AS `t1`
) AS `t2`
WHERE
`t2`.`file_date` < DATE(2017, 1, 1)
) AS `t3`
)
SELECT
`t3`.`file_date`,
`t3`.`PARTITIONTIME`,
`t3`.`val`,
`t3`.`XYZ`
FROM `t1` AS `t3`
INNER JOIN `t1` AS `t4`
`t6`.`file_date`,
`t6`.`PARTITIONTIME`,
`t6`.`val`,
`t6`.`XYZ`
FROM `t4` AS `t6`
INNER JOIN `t4` AS `t7`
ON TRUE
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
SELECT
"t0"."id",
"t0"."bool_col",
"t0"."tinyint_col",
"t0"."smallint_col",
"t0"."int_col",
"t0"."bigint_col",
"t0"."float_col",
"t0"."double_col",
"t0"."date_string_col",
"t0"."string_col",
"t0"."timestamp_col",
"t0"."year",
"t0"."month"
*
FROM "functional_alltypes" AS "t0"
WHERE
"t0"."string_col" IN ('foo', 'bar')
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
SELECT
"t0"."id",
"t0"."bool_col",
"t0"."tinyint_col",
"t0"."smallint_col",
"t0"."int_col",
"t0"."bigint_col",
"t0"."float_col",
"t0"."double_col",
"t0"."date_string_col",
"t0"."string_col",
"t0"."timestamp_col",
"t0"."year",
"t0"."month"
*
FROM "functional_alltypes" AS "t0"
WHERE
NOT (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ SELECT
) + 3) AS "abc"
FROM (
SELECT
"t0"."key",
"t0"."value"
*
FROM "t0" AS "t0"
WHERE
"t0"."value" = 42
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ SELECT
) + 3) AS "foo"
FROM (
SELECT
"t0"."key",
"t0"."value"
*
FROM "t0" AS "t0"
WHERE
"t0"."value" = 42
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,7 @@ SELECT
SUM("t1"."float_col") AS "Sum(float_col)"
FROM (
SELECT
"t0"."id",
"t0"."bool_col",
"t0"."tinyint_col",
"t0"."smallint_col",
"t0"."int_col",
"t0"."bigint_col",
"t0"."float_col",
"t0"."double_col",
"t0"."date_string_col",
"t0"."string_col",
"t0"."timestamp_col",
"t0"."year",
"t0"."month"
*
FROM "functional_alltypes" AS "t0"
WHERE
"t0"."int_col" > 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,7 @@ FROM (
SUM("t1"."float_col") AS "total"
FROM (
SELECT
"t0"."id",
"t0"."bool_col",
"t0"."tinyint_col",
"t0"."smallint_col",
"t0"."int_col",
"t0"."bigint_col",
"t0"."float_col",
"t0"."double_col",
"t0"."date_string_col",
"t0"."string_col",
"t0"."timestamp_col",
"t0"."year",
"t0"."month"
*
FROM "functional_alltypes" AS "t0"
WHERE
"t0"."int_col" > 0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
SELECT
"t0"."id",
"t0"."bool_col",
"t0"."tinyint_col",
"t0"."smallint_col",
"t0"."int_col",
"t0"."bigint_col",
"t0"."float_col",
"t0"."double_col",
"t0"."date_string_col",
"t0"."string_col",
"t0"."timestamp_col",
"t0"."year",
"t0"."month"
*
FROM "functional_alltypes" AS "t0"
WHERE
"t0"."float_col" > 0 AND "t0"."int_col" < (
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
SELECT
"t0"."id",
"t0"."bool_col",
"t0"."tinyint_col",
"t0"."smallint_col",
"t0"."int_col",
"t0"."bigint_col",
"t0"."float_col",
"t0"."double_col",
"t0"."date_string_col",
"t0"."string_col",
"t0"."timestamp_col",
"t0"."year",
"t0"."month"
*
FROM "functional_alltypes" AS "t0"
WHERE
"t0"."int_col" > 0 AND "t0"."float_col" BETWEEN 0 AND 1
Original file line number Diff line number Diff line change
@@ -1,9 +1,19 @@
SELECT
"t0"."id",
ST_ASEWKB("t0"."geo_point") AS "geo_point",
ST_ASEWKB("t0"."geo_linestring") AS "geo_linestring",
ST_ASEWKB("t0"."geo_polygon") AS "geo_polygon",
ST_ASEWKB("t0"."geo_multipolygon") AS "geo_multipolygon",
ST_Y("t0"."geo_point") AS "Location_Latitude",
ST_Y("t0"."geo_point") AS "Latitude"
FROM "geo" AS "t0"
"t1"."id",
ST_ASEWKB("t1"."geo_point") AS "geo_point",
ST_ASEWKB("t1"."geo_linestring") AS "geo_linestring",
ST_ASEWKB("t1"."geo_polygon") AS "geo_polygon",
ST_ASEWKB("t1"."geo_multipolygon") AS "geo_multipolygon",
"t1"."Location_Latitude",
"t1"."Latitude"
FROM (
SELECT
"t0"."id",
"t0"."geo_point",
"t0"."geo_linestring",
"t0"."geo_polygon",
"t0"."geo_multipolygon",
ST_Y("t0"."geo_point") AS "Location_Latitude",
ST_Y("t0"."geo_point") AS "Latitude"
FROM "geo" AS "t0"
) AS "t1"
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
SELECT
ST_ASEWKB(ST_ENDPOINT("t0"."geo_linestring")) AS "GeoEndPoint(geo_linestring)"
FROM "geo" AS "t0"
ST_ASEWKB("t1"."GeoEndPoint(geo_linestring)") AS "GeoEndPoint(geo_linestring)"
FROM (
SELECT
ST_ENDPOINT("t0"."geo_linestring") AS "GeoEndPoint(geo_linestring)"
FROM "geo" AS "t0"
) AS "t1"
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
SELECT
ST_ASEWKB(ST_STARTPOINT("t0"."geo_linestring")) AS "GeoStartPoint(geo_linestring)"
FROM "geo" AS "t0"
ST_ASEWKB("t1"."GeoStartPoint(geo_linestring)") AS "GeoStartPoint(geo_linestring)"
FROM (
SELECT
ST_STARTPOINT("t0"."geo_linestring") AS "GeoStartPoint(geo_linestring)"
FROM "geo" AS "t0"
) AS "t1"
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
SELECT
ST_ASEWKB(ST_SETSRID("t0"."geo_point", 4326)) AS "GeoSetSRID(geo_point, 4326)"
FROM "geo" AS "t0"
ST_ASEWKB("t1"."GeoSetSRID(geo_point, 4326)") AS "GeoSetSRID(geo_point, 4326)"
FROM (
SELECT
ST_SETSRID("t0"."geo_point", 4326) AS "GeoSetSRID(geo_point, 4326)"
FROM "geo" AS "t0"
) AS "t1"
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
SELECT
ST_ASEWKB("t0"."geo_linestring") AS "geo_linestring"
FROM "geo" AS "t0"
ST_ASEWKB("t1"."geo_linestring") AS "geo_linestring"
FROM (
SELECT
"t0"."geo_linestring"
FROM "geo" AS "t0"
) AS "t1"
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
SELECT
ST_ASEWKB("t0"."geo_multipolygon") AS "geo_multipolygon"
FROM "geo" AS "t0"
ST_ASEWKB("t1"."geo_multipolygon") AS "geo_multipolygon"
FROM (
SELECT
"t0"."geo_multipolygon"
FROM "geo" AS "t0"
) AS "t1"
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
SELECT
ST_ASEWKB("t0"."geo_point") AS "geo_point"
FROM "geo" AS "t0"
ST_ASEWKB("t1"."geo_point") AS "geo_point"
FROM (
SELECT
"t0"."geo_point"
FROM "geo" AS "t0"
) AS "t1"
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
SELECT
ST_ASEWKB("t0"."geo_polygon") AS "geo_polygon"
FROM "geo" AS "t0"
ST_ASEWKB("t1"."geo_polygon") AS "geo_polygon"
FROM (
SELECT
"t0"."geo_polygon"
FROM "geo" AS "t0"
) AS "t1"
33 changes: 16 additions & 17 deletions ibis/backends/sql/compiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -1107,25 +1107,24 @@ def _cleanup_names(self, exprs: Mapping[str, sge.Expression]):
else:
yield value.as_(name, quoted=self.quoted, copy=False)

def visit_Select(self, op, *, parent, selections, predicates, sort_keys):
# if we've constructed a useless projection return the parent relation
if not selections and not predicates and not sort_keys:
return parent

result = parent

if selections:
result = sg.select(*self._cleanup_names(selections), copy=False).from_(
result, copy=False
)

if predicates:
result = result.where(*predicates, copy=False)
def visit_Project(self, op, *, parent, values):
return sg.select(*self._cleanup_names(values), copy=False).from_(
parent, copy=False
)

if sort_keys:
result = result.order_by(*sort_keys, copy=False)
def visit_Filter(self, op, *, parent, predicates):
return (
sg.select(STAR, copy=False)
.from_(parent, copy=False)
.where(*predicates, copy=False)
)

return result
def visit_Sort(self, op, *, parent, keys):
return (
sg.select(STAR, copy=False)
.from_(parent, copy=False)
.order_by(*keys, copy=False)
)

def visit_DummyTable(self, op, *, values):
return sg.select(*self._cleanup_names(values), copy=False)
Expand Down
Loading

0 comments on commit 4339259

Please sign in to comment.