arel 2.1.2 → 2.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +7 -1
- data/Manifest.txt +7 -0
- data/arel.gemspec +2 -2
- data/lib/arel.rb +1 -1
- data/lib/arel/nodes/ascending.rb +23 -0
- data/lib/arel/nodes/descending.rb +23 -0
- data/lib/arel/visitors/informix.rb +33 -0
- metadata +10 -7
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -21,9 +21,11 @@ lib/arel/insert_manager.rb
|
|
21
21
|
lib/arel/math.rb
|
22
22
|
lib/arel/nodes.rb
|
23
23
|
lib/arel/nodes/and.rb
|
24
|
+
lib/arel/nodes/ascending.rb
|
24
25
|
lib/arel/nodes/binary.rb
|
25
26
|
lib/arel/nodes/count.rb
|
26
27
|
lib/arel/nodes/delete_statement.rb
|
28
|
+
lib/arel/nodes/descending.rb
|
27
29
|
lib/arel/nodes/equality.rb
|
28
30
|
lib/arel/nodes/function.rb
|
29
31
|
lib/arel/nodes/in.rb
|
@@ -59,6 +61,7 @@ lib/arel/visitors.rb
|
|
59
61
|
lib/arel/visitors/depth_first.rb
|
60
62
|
lib/arel/visitors/dot.rb
|
61
63
|
lib/arel/visitors/ibm_db.rb
|
64
|
+
lib/arel/visitors/informix.rb
|
62
65
|
lib/arel/visitors/join_sql.rb
|
63
66
|
lib/arel/visitors/mssql.rb
|
64
67
|
lib/arel/visitors/mysql.rb
|
@@ -72,10 +75,13 @@ lib/arel/visitors/where_sql.rb
|
|
72
75
|
test/attributes/test_attribute.rb
|
73
76
|
test/helper.rb
|
74
77
|
test/nodes/test_as.rb
|
78
|
+
test/nodes/test_ascending.rb
|
75
79
|
test/nodes/test_bin.rb
|
76
80
|
test/nodes/test_count.rb
|
77
81
|
test/nodes/test_delete_statement.rb
|
82
|
+
test/nodes/test_descending.rb
|
78
83
|
test/nodes/test_equality.rb
|
84
|
+
test/nodes/test_infix_operation.rb
|
79
85
|
test/nodes/test_insert_statement.rb
|
80
86
|
test/nodes/test_named_function.rb
|
81
87
|
test/nodes/test_node.rb
|
@@ -99,6 +105,7 @@ test/test_update_manager.rb
|
|
99
105
|
test/visitors/test_depth_first.rb
|
100
106
|
test/visitors/test_dot.rb
|
101
107
|
test/visitors/test_ibm_db.rb
|
108
|
+
test/visitors/test_informix.rb
|
102
109
|
test/visitors/test_join_sql.rb
|
103
110
|
test/visitors/test_mssql.rb
|
104
111
|
test/visitors/test_mysql.rb
|
data/arel.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{arel}
|
5
|
-
s.version = "2.1.
|
5
|
+
s.version = "2.1.3.20110627095956"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = [%q{Aaron Patterson}, %q{Bryan Halmkamp}, %q{Emilio Tagua}, %q{Nick Kallen}]
|
@@ -17,7 +17,7 @@ with it, focusing on innovative object and collection modeling as opposed to
|
|
17
17
|
database compatibility and query generation.}
|
18
18
|
s.email = [%q{aaron@tenderlovemaking.com}, %q{bryan@brynary.com}, %q{miloops@gmail.com}, %q{nick@example.org}]
|
19
19
|
s.extra_rdoc_files = [%q{History.txt}, %q{MIT-LICENSE.txt}, %q{Manifest.txt}, %q{README.markdown}]
|
20
|
-
s.files = [%q{.autotest}, %q{.gemtest}, %q{History.txt}, %q{MIT-LICENSE.txt}, %q{Manifest.txt}, %q{README.markdown}, %q{Rakefile}, %q{arel.gemspec}, %q{lib/arel.rb}, %q{lib/arel/alias_predication.rb}, %q{lib/arel/attributes.rb}, %q{lib/arel/attributes/attribute.rb}, %q{lib/arel/compatibility/wheres.rb}, %q{lib/arel/crud.rb}, %q{lib/arel/delete_manager.rb}, %q{lib/arel/deprecated.rb}, %q{lib/arel/expression.rb}, %q{lib/arel/expressions.rb}, %q{lib/arel/factory_methods.rb}, %q{lib/arel/insert_manager.rb}, %q{lib/arel/math.rb}, %q{lib/arel/nodes.rb}, %q{lib/arel/nodes/and.rb}, %q{lib/arel/nodes/binary.rb}, %q{lib/arel/nodes/count.rb}, %q{lib/arel/nodes/delete_statement.rb}, %q{lib/arel/nodes/equality.rb}, %q{lib/arel/nodes/function.rb}, %q{lib/arel/nodes/in.rb}, %q{lib/arel/nodes/infix_operation.rb}, %q{lib/arel/nodes/inner_join.rb}, %q{lib/arel/nodes/insert_statement.rb}, %q{lib/arel/nodes/join_source.rb}, %q{lib/arel/nodes/named_function.rb}, %q{lib/arel/nodes/node.rb}, %q{lib/arel/nodes/ordering.rb}, %q{lib/arel/nodes/outer_join.rb}, %q{lib/arel/nodes/select_core.rb}, %q{lib/arel/nodes/select_statement.rb}, %q{lib/arel/nodes/sql_literal.rb}, %q{lib/arel/nodes/string_join.rb}, %q{lib/arel/nodes/table_alias.rb}, %q{lib/arel/nodes/terminal.rb}, %q{lib/arel/nodes/unary.rb}, %q{lib/arel/nodes/unqualified_column.rb}, %q{lib/arel/nodes/update_statement.rb}, %q{lib/arel/nodes/values.rb}, %q{lib/arel/nodes/with.rb}, %q{lib/arel/order_predications.rb}, %q{lib/arel/predications.rb}, %q{lib/arel/relation.rb}, %q{lib/arel/select_manager.rb}, %q{lib/arel/sql/engine.rb}, %q{lib/arel/sql_literal.rb}, %q{lib/arel/table.rb}, %q{lib/arel/tree_manager.rb}, %q{lib/arel/update_manager.rb}, %q{lib/arel/visitors.rb}, %q{lib/arel/visitors/depth_first.rb}, %q{lib/arel/visitors/dot.rb}, %q{lib/arel/visitors/ibm_db.rb}, %q{lib/arel/visitors/join_sql.rb}, %q{lib/arel/visitors/mssql.rb}, %q{lib/arel/visitors/mysql.rb}, %q{lib/arel/visitors/oracle.rb}, %q{lib/arel/visitors/order_clauses.rb}, %q{lib/arel/visitors/postgresql.rb}, %q{lib/arel/visitors/sqlite.rb}, %q{lib/arel/visitors/to_sql.rb}, %q{lib/arel/visitors/visitor.rb}, %q{lib/arel/visitors/where_sql.rb}, %q{test/attributes/test_attribute.rb}, %q{test/helper.rb}, %q{test/nodes/test_as.rb}, %q{test/nodes/test_bin.rb}, %q{test/nodes/test_count.rb}, %q{test/nodes/test_delete_statement.rb}, %q{test/nodes/test_equality.rb}, %q{test/nodes/test_insert_statement.rb}, %q{test/nodes/test_named_function.rb}, %q{test/nodes/test_node.rb}, %q{test/nodes/test_not.rb}, %q{test/nodes/test_or.rb}, %q{test/nodes/test_select_core.rb}, %q{test/nodes/test_select_statement.rb}, %q{test/nodes/test_sql_literal.rb}, %q{test/nodes/test_sum.rb}, %q{test/nodes/test_update_statement.rb}, %q{test/support/fake_record.rb}, %q{test/test_activerecord_compat.rb}, %q{test/test_attributes.rb}, %q{test/test_crud.rb}, %q{test/test_delete_manager.rb}, %q{test/test_factory_methods.rb}, %q{test/test_insert_manager.rb}, %q{test/test_select_manager.rb}, %q{test/test_table.rb}, %q{test/test_update_manager.rb}, %q{test/visitors/test_depth_first.rb}, %q{test/visitors/test_dot.rb}, %q{test/visitors/test_ibm_db.rb}, %q{test/visitors/
|
20
|
+
s.files = [%q{.autotest}, %q{.gemtest}, %q{History.txt}, %q{MIT-LICENSE.txt}, %q{Manifest.txt}, %q{README.markdown}, %q{Rakefile}, %q{arel.gemspec}, %q{lib/arel.rb}, %q{lib/arel/alias_predication.rb}, %q{lib/arel/attributes.rb}, %q{lib/arel/attributes/attribute.rb}, %q{lib/arel/compatibility/wheres.rb}, %q{lib/arel/crud.rb}, %q{lib/arel/delete_manager.rb}, %q{lib/arel/deprecated.rb}, %q{lib/arel/expression.rb}, %q{lib/arel/expressions.rb}, %q{lib/arel/factory_methods.rb}, %q{lib/arel/insert_manager.rb}, %q{lib/arel/math.rb}, %q{lib/arel/nodes.rb}, %q{lib/arel/nodes/and.rb}, %q{lib/arel/nodes/ascending.rb}, %q{lib/arel/nodes/binary.rb}, %q{lib/arel/nodes/count.rb}, %q{lib/arel/nodes/delete_statement.rb}, %q{lib/arel/nodes/descending.rb}, %q{lib/arel/nodes/equality.rb}, %q{lib/arel/nodes/function.rb}, %q{lib/arel/nodes/in.rb}, %q{lib/arel/nodes/infix_operation.rb}, %q{lib/arel/nodes/inner_join.rb}, %q{lib/arel/nodes/insert_statement.rb}, %q{lib/arel/nodes/join_source.rb}, %q{lib/arel/nodes/named_function.rb}, %q{lib/arel/nodes/node.rb}, %q{lib/arel/nodes/ordering.rb}, %q{lib/arel/nodes/outer_join.rb}, %q{lib/arel/nodes/select_core.rb}, %q{lib/arel/nodes/select_statement.rb}, %q{lib/arel/nodes/sql_literal.rb}, %q{lib/arel/nodes/string_join.rb}, %q{lib/arel/nodes/table_alias.rb}, %q{lib/arel/nodes/terminal.rb}, %q{lib/arel/nodes/unary.rb}, %q{lib/arel/nodes/unqualified_column.rb}, %q{lib/arel/nodes/update_statement.rb}, %q{lib/arel/nodes/values.rb}, %q{lib/arel/nodes/with.rb}, %q{lib/arel/order_predications.rb}, %q{lib/arel/predications.rb}, %q{lib/arel/relation.rb}, %q{lib/arel/select_manager.rb}, %q{lib/arel/sql/engine.rb}, %q{lib/arel/sql_literal.rb}, %q{lib/arel/table.rb}, %q{lib/arel/tree_manager.rb}, %q{lib/arel/update_manager.rb}, %q{lib/arel/visitors.rb}, %q{lib/arel/visitors/depth_first.rb}, %q{lib/arel/visitors/dot.rb}, %q{lib/arel/visitors/ibm_db.rb}, %q{lib/arel/visitors/informix.rb}, %q{lib/arel/visitors/join_sql.rb}, %q{lib/arel/visitors/mssql.rb}, %q{lib/arel/visitors/mysql.rb}, %q{lib/arel/visitors/oracle.rb}, %q{lib/arel/visitors/order_clauses.rb}, %q{lib/arel/visitors/postgresql.rb}, %q{lib/arel/visitors/sqlite.rb}, %q{lib/arel/visitors/to_sql.rb}, %q{lib/arel/visitors/visitor.rb}, %q{lib/arel/visitors/where_sql.rb}, %q{test/attributes/test_attribute.rb}, %q{test/helper.rb}, %q{test/nodes/test_as.rb}, %q{test/nodes/test_ascending.rb}, %q{test/nodes/test_bin.rb}, %q{test/nodes/test_count.rb}, %q{test/nodes/test_delete_statement.rb}, %q{test/nodes/test_descending.rb}, %q{test/nodes/test_equality.rb}, %q{test/nodes/test_infix_operation.rb}, %q{test/nodes/test_insert_statement.rb}, %q{test/nodes/test_named_function.rb}, %q{test/nodes/test_node.rb}, %q{test/nodes/test_not.rb}, %q{test/nodes/test_or.rb}, %q{test/nodes/test_select_core.rb}, %q{test/nodes/test_select_statement.rb}, %q{test/nodes/test_sql_literal.rb}, %q{test/nodes/test_sum.rb}, %q{test/nodes/test_update_statement.rb}, %q{test/support/fake_record.rb}, %q{test/test_activerecord_compat.rb}, %q{test/test_attributes.rb}, %q{test/test_crud.rb}, %q{test/test_delete_manager.rb}, %q{test/test_factory_methods.rb}, %q{test/test_insert_manager.rb}, %q{test/test_select_manager.rb}, %q{test/test_table.rb}, %q{test/test_update_manager.rb}, %q{test/visitors/test_depth_first.rb}, %q{test/visitors/test_dot.rb}, %q{test/visitors/test_ibm_db.rb}, %q{test/visitors/test_informix.rb}, %q{test/visitors/test_join_sql.rb}, %q{test/visitors/test_mssql.rb}, %q{test/visitors/test_mysql.rb}, %q{test/visitors/test_oracle.rb}, %q{test/visitors/test_postgres.rb}, %q{test/visitors/test_sqlite.rb}, %q{test/visitors/test_to_sql.rb}]
|
21
21
|
s.homepage = %q{http://github.com/rails/arel}
|
22
22
|
s.rdoc_options = [%q{--main}, %q{README.markdown}]
|
23
23
|
s.require_paths = [%q{lib}]
|
data/lib/arel.rb
CHANGED
@@ -0,0 +1,33 @@
|
|
1
|
+
module Arel
|
2
|
+
module Visitors
|
3
|
+
class Informix < Arel::Visitors::ToSql
|
4
|
+
private
|
5
|
+
def visit_Arel_Nodes_SelectStatement o
|
6
|
+
[
|
7
|
+
"SELECT",
|
8
|
+
(visit(o.offset) if o.offset),
|
9
|
+
(visit(o.limit) if o.limit),
|
10
|
+
o.cores.map { |x| visit_Arel_Nodes_SelectCore x }.join,
|
11
|
+
("ORDER BY #{o.orders.map { |x| visit x }.join(', ')}" unless o.orders.empty?),
|
12
|
+
(visit(o.lock) if o.lock),
|
13
|
+
].compact.join ' '
|
14
|
+
end
|
15
|
+
def visit_Arel_Nodes_SelectCore o
|
16
|
+
[
|
17
|
+
"#{o.projections.map { |x| visit x }.join ', '}",
|
18
|
+
("FROM #{visit o.froms}" if o.froms),
|
19
|
+
("WHERE #{o.wheres.map { |x| visit x }.join ' AND ' }" unless o.wheres.empty?),
|
20
|
+
("GROUP BY #{o.groups.map { |x| visit x }.join ', ' }" unless o.groups.empty?),
|
21
|
+
(visit(o.having) if o.having),
|
22
|
+
].compact.join ' '
|
23
|
+
end
|
24
|
+
def visit_Arel_Nodes_Offset o
|
25
|
+
"SKIP #{visit o.expr}"
|
26
|
+
end
|
27
|
+
def visit_Arel_Nodes_Limit o
|
28
|
+
"LIMIT #{visit o.expr}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: arel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 13
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 2.1.
|
9
|
+
- 3
|
10
|
+
version: 2.1.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Aaron Patterson
|
@@ -82,9 +82,11 @@ files:
|
|
82
82
|
- lib/arel/math.rb
|
83
83
|
- lib/arel/nodes.rb
|
84
84
|
- lib/arel/nodes/and.rb
|
85
|
+
- lib/arel/nodes/ascending.rb
|
85
86
|
- lib/arel/nodes/binary.rb
|
86
87
|
- lib/arel/nodes/count.rb
|
87
88
|
- lib/arel/nodes/delete_statement.rb
|
89
|
+
- lib/arel/nodes/descending.rb
|
88
90
|
- lib/arel/nodes/equality.rb
|
89
91
|
- lib/arel/nodes/function.rb
|
90
92
|
- lib/arel/nodes/in.rb
|
@@ -120,6 +122,7 @@ files:
|
|
120
122
|
- lib/arel/visitors/depth_first.rb
|
121
123
|
- lib/arel/visitors/dot.rb
|
122
124
|
- lib/arel/visitors/ibm_db.rb
|
125
|
+
- lib/arel/visitors/informix.rb
|
123
126
|
- lib/arel/visitors/join_sql.rb
|
124
127
|
- lib/arel/visitors/mssql.rb
|
125
128
|
- lib/arel/visitors/mysql.rb
|
@@ -133,10 +136,13 @@ files:
|
|
133
136
|
- test/attributes/test_attribute.rb
|
134
137
|
- test/helper.rb
|
135
138
|
- test/nodes/test_as.rb
|
139
|
+
- test/nodes/test_ascending.rb
|
136
140
|
- test/nodes/test_bin.rb
|
137
141
|
- test/nodes/test_count.rb
|
138
142
|
- test/nodes/test_delete_statement.rb
|
143
|
+
- test/nodes/test_descending.rb
|
139
144
|
- test/nodes/test_equality.rb
|
145
|
+
- test/nodes/test_infix_operation.rb
|
140
146
|
- test/nodes/test_insert_statement.rb
|
141
147
|
- test/nodes/test_named_function.rb
|
142
148
|
- test/nodes/test_node.rb
|
@@ -160,6 +166,7 @@ files:
|
|
160
166
|
- test/visitors/test_depth_first.rb
|
161
167
|
- test/visitors/test_dot.rb
|
162
168
|
- test/visitors/test_ibm_db.rb
|
169
|
+
- test/visitors/test_informix.rb
|
163
170
|
- test/visitors/test_join_sql.rb
|
164
171
|
- test/visitors/test_mssql.rb
|
165
172
|
- test/visitors/test_mysql.rb
|
@@ -167,10 +174,6 @@ files:
|
|
167
174
|
- test/visitors/test_postgres.rb
|
168
175
|
- test/visitors/test_sqlite.rb
|
169
176
|
- test/visitors/test_to_sql.rb
|
170
|
-
- test/nodes/test_ascending.rb
|
171
|
-
- test/nodes/test_descending.rb
|
172
|
-
- test/nodes/test_infix_operation.rb
|
173
|
-
- test/visitors/test_informix.rb
|
174
177
|
homepage: http://github.com/rails/arel
|
175
178
|
licenses: []
|
176
179
|
|