Skip to content

Commit 6e8dbab

Browse files
committed
misc local changes
1 parent f7208da commit 6e8dbab

4 files changed

Lines changed: 27 additions & 15 deletions

File tree

src/QueryOperators.jl

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ function as(new_name_model_row::Pair{Symbol, <: SourceCode}; options...)
66
end
77

88
@code_instead QueryOperators.drop SourceCode Integer
9-
@translate ::typeof(QueryOperators.drop) :OFFSET
9+
@translate_default ::typeof(QueryOperators.drop) :OFFSET
1010

1111
@code_instead QueryOperators.filter SourceCode Any Expr
1212
function translate_dispatch(::typeof(QueryOperators.filter), iterator, call, call_expression; options...)
@@ -16,6 +16,14 @@ function translate_dispatch(::typeof(QueryOperators.filter), iterator, call, cal
1616
)
1717
end
1818

19+
@code_instead QueryOperators.groupby SourceCode Any Expr Any Expr
20+
function translate_dispatch(::typeof(QueryOperators.groupby), ungrouped, group_function, group_function_expression, map_selector, map_function_expression; options...)
21+
SQLExpression(Symbol("GROUP BY"),
22+
translate(ungrouped; options...),
23+
translate(group_function(model_row(ungrouped)).code; options...)
24+
)
25+
end
26+
1927
@code_instead QueryOperators.join SourceCode SourceCode Any Expr Any Expr Any Expr
2028
function translate_dispatch(::typeof(QueryOperators.join), source1, source2, key1, key1_expression, key2, key2_expression, combine, combine_expression; options...)
2129
model_row_1 = model_row(source1; other = true)
@@ -88,7 +96,7 @@ function translate_dispatch(::typeof(QueryOperators.map), select_table, call, ca
8896
end
8997

9098
@code_instead QueryOperators.take SourceCode Any
91-
@translate ::typeof(QueryOperators.take) :LIMIT
99+
@translate_default ::typeof(QueryOperators.take) :LIMIT
92100

93101
@code_instead QueryOperators.unique SourceCode Any Expr
94102
function translate_dispatch(::typeof(QueryOperators.unique), repeated, key_function, key_function_expression; options...)

src/library.jl

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
@code_instead (==) SourceCode Any
22
@code_instead (==) Any SourceCode
33
@code_instead (==) SourceCode SourceCode
4-
@translate ::typeof(==) :(=)
4+
@translate_default ::typeof(==) :(=)
55

66
@code_instead (!=) SourceCode Any
77
@code_instead (!=) Any SourceCode
88
@code_instead (!=) SourceCode SourceCode
9-
@translate ::typeof(!=) Symbol("<>")
9+
@translate_default ::typeof(!=) Symbol("<>")
1010

1111
@code_instead (!) SourceCode
12-
@translate ::typeof(!) :NOT
12+
@translate_default ::typeof(!) :NOT
1313

1414
@code_instead (&) SourceCode Any
1515
@code_instead (&) Any SourceCode
1616
@code_instead (&) SourceCode SourceCode
17-
@translate ::typeof(&) :AND
17+
@translate_default ::typeof(&) :AND
1818

1919
@code_instead (|) SourceCode Any
2020
@code_instead (|) Any SourceCode
2121
@code_instead (|) SourceCode SourceCode
22-
@translate ::typeof(|) :OR
22+
@translate_default ::typeof(|) :OR
2323

2424
@code_instead coalesce SourceCode Vararg{Any}
25-
@translate ::typeof(coalesce) :COALESCE
25+
@translate_default ::typeof(coalesce) :COALESCE
2626

2727
function get_column(source_row, column_name)
2828
SourceCode(source_row.source, Expr(:call, getproperty, source_row, column_name))
@@ -82,25 +82,25 @@ export if_else
8282
@code_instead if_else SourceCode Any SourceCode
8383
@code_instead if_else SourceCode SourceCode Any
8484
@code_instead if_else SourceCode SourceCode SourceCode
85-
@translate ::typeof(if_else) :IF
85+
@translate_default ::typeof(if_else) :IF
8686

8787
@code_instead in SourceCode Any
8888
@code_instead in Any SourceCode
8989
@code_instead in SourceCode SourceCode
90-
@translate ::typeof(in) :IN
90+
@translate_default ::typeof(in) :IN
9191

9292
@code_instead isequal SourceCode Any
9393
@code_instead isequal Any SourceCode
9494
@code_instead isequal SourceCode SourceCode
95-
@translate ::typeof(isequal) Symbol("IS NOT DISTINCT FROM")
95+
@translate_default ::typeof(isequal) Symbol("IS NOT DISTINCT FROM")
9696

9797
@code_instead isless SourceCode Any
9898
@code_instead isless Any SourceCode
9999
@code_instead isless SourceCode SourceCode
100-
@translate ::typeof(isless) :<
100+
@translate_default ::typeof(isless) :<
101101

102102
@code_instead ismissing SourceCode
103-
@translate ::typeof(ismissing) Symbol("IS NULL")
103+
@translate_default ::typeof(ismissing) Symbol("IS NULL")
104104

105105
@code_instead occursin AbstractString SourceCode
106106
@code_instead occursin Regex SourceCode
@@ -116,7 +116,7 @@ translate_dispatch(::typeof(occursin), needle::Regex, haystack; options...) =
116116
translate(haystack; options...),
117117
replace(replace(needle.pattern, r"(?<!\\)\.\*" => "%"), r"(?<!\\)\." => "_")
118118
)
119-
@translate ::typeof(occursin) :LIKE
119+
@translate_default ::typeof(occursin) :LIKE
120120

121121
@code_instead startswith SourceCode Any
122122
@code_instead startswith Any SourceCode

src/translate.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,6 @@ function translate_default(location, function_type, SQL_call)
8787
result
8888
end
8989

90-
macro translate(a_function, SQL_call)
90+
macro translate_default(a_function, SQL_call)
9191
translate_default(__source__, a_function, SQL_call) |> esc
9292
end

test/runtests.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,8 @@ database2 = Database(SQLite.DB(filename))
5252
DataTable |>
5353
length == 347
5454

55+
# database.Track |>
56+
# @groupby(_.AlbumId) |>
57+
# @map({AlbumId = key(_), Count = length(_)})
58+
5559
end

0 commit comments

Comments
 (0)