arel_extensions 1.1.4 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c605fff28ecad52dbb7519c17ea982844ecad5fc
4
- data.tar.gz: ad640c79367460a9b06ce89bffd6ef587ec1f30d
3
+ metadata.gz: a8255cb9ebee4b9aded4f23486b0ef143651fecc
4
+ data.tar.gz: 5d45081246d1b3221d2e29c6f55b39ba886b20cd
5
5
  SHA512:
6
- metadata.gz: f113a241aec0ab76d42be635e1db174f82c02e2f8bdb0f5320a02b92b84b9d237f8ac1c2da27411a8ced881bdd752cf61f7d60224eca2e62683befde0f90ec74
7
- data.tar.gz: a60110f2acf2d1b46b2a576d2800fe1718b923c307e1691e960153c6cf72db8cce65e932fc5bac397af413b0dd1a8499a067522ad00080e76a34094837ec2a43
6
+ metadata.gz: 81631cd7e514add0be52d774c9be37c22dfa8304d73eb9ba79fd4b5b034eb69e9c1f8c7e40a18ee34183a34c5b0d86bca118c34cc76bba2765bca2886cebc858
7
+ data.tar.gz: afa3c43c1ec75118dc8c2ee24973973872a7b291b938e6a8a4cd9554c099c4abe067eb9d59f9b1d79f16946548f6b25ac1e01ea540caf7008c90d7240a5da59f
@@ -1,3 +1,3 @@
1
1
  module ArelExtensions
2
- VERSION = "1.1.4".freeze
2
+ VERSION = "1.1.5".freeze
3
3
  end
@@ -1,68 +1,65 @@
1
1
  module ArelExtensions
2
- module Visitors
3
- if Arel::VERSION.to_i < 7
4
- class Arel::Visitors::Oracle12 < Arel::Visitors::Oracle
5
-
2
+ module Visitors
3
+ class Arel::Visitors::Oracle12 < Arel::Visitors::Oracle
6
4
 
7
- def visit_Arel_Nodes_SelectStatement(o, collector)
8
- # Oracle does not allow LIMIT clause with select for update
9
- if o.limit && o.lock
10
- raise ArgumentError, <<-MSG
11
- 'Combination of limit and lock is not supported.
12
- because generated SQL statements
13
- `SELECT FOR UPDATE and FETCH FIRST n ROWS` generates ORA-02014.`
14
- MSG
15
- end
16
- super
17
- end
5
+ def visit_Arel_Nodes_SelectStatement(o, collector)
6
+ # Oracle does not allow LIMIT clause with select for update
7
+ if o.limit && o.lock
8
+ raise ArgumentError, <<-MSG
9
+ 'Combination of limit and lock is not supported.
10
+ because generated SQL statements
11
+ `SELECT FOR UPDATE and FETCH FIRST n ROWS` generates ORA-02014.`
12
+ MSG
13
+ end
14
+ super
15
+ end
18
16
 
19
- def visit_Arel_Nodes_SelectOptions(o, collector)
20
- collector = maybe_visit o.offset, collector
21
- collector = maybe_visit o.limit, collector
22
- maybe_visit o.lock, collector
23
- end
17
+ def visit_Arel_Nodes_SelectOptions(o, collector)
18
+ collector = maybe_visit o.offset, collector
19
+ collector = maybe_visit o.limit, collector
20
+ maybe_visit o.lock, collector
21
+ end
24
22
 
25
- def visit_Arel_Nodes_Limit(o, collector)
26
- collector << "FETCH FIRST "
27
- collector = visit o.expr, collector
28
- collector << " ROWS ONLY"
29
- end
23
+ def visit_Arel_Nodes_Limit(o, collector)
24
+ collector << "FETCH FIRST "
25
+ collector = visit o.expr, collector
26
+ collector << " ROWS ONLY"
27
+ end
30
28
 
31
- def visit_Arel_Nodes_Offset(o, collector)
32
- collector << "OFFSET "
33
- visit o.expr, collector
34
- collector << " ROWS"
35
- end
29
+ def visit_Arel_Nodes_Offset(o, collector)
30
+ collector << "OFFSET "
31
+ visit o.expr, collector
32
+ collector << " ROWS"
33
+ end
36
34
 
37
- def visit_Arel_Nodes_Except(o, collector)
38
- collector << "( "
39
- collector = infix_value o, collector, " MINUS "
40
- collector << " )"
41
- end
35
+ def visit_Arel_Nodes_Except(o, collector)
36
+ collector << "( "
37
+ collector = infix_value o, collector, " MINUS "
38
+ collector << " )"
39
+ end
42
40
 
43
- def visit_Arel_Nodes_UpdateStatement(o, collector)
44
- # Oracle does not allow ORDER BY/LIMIT in UPDATEs.
45
- if o.orders.any? && o.limit.nil?
46
- # However, there is no harm in silently eating the ORDER BY clause if no LIMIT has been provided,
47
- # otherwise let the user deal with the error
48
- o = o.dup
49
- o.orders = []
50
- end
41
+ def visit_Arel_Nodes_UpdateStatement(o, collector)
42
+ # Oracle does not allow ORDER BY/LIMIT in UPDATEs.
43
+ if o.orders.any? && o.limit.nil?
44
+ # However, there is no harm in silently eating the ORDER BY clause if no LIMIT has been provided,
45
+ # otherwise let the user deal with the error
46
+ o = o.dup
47
+ o.orders = []
48
+ end
51
49
 
52
- super
53
- end
50
+ super
51
+ end
54
52
 
55
- def visit_Arel_Nodes_BindParam(o, collector)
56
- collector.add_bind(o.value) { |i| ":a#{i}" }
57
- end
53
+ def visit_Arel_Nodes_BindParam(o, collector)
54
+ collector.add_bind(o.value) { |i| ":a#{i}" }
55
+ end
58
56
 
59
- def is_distinct_from(o, collector)
60
- collector << "DECODE("
61
- collector = visit [o.left, o.right, 0, 1], collector
62
- collector << ")"
63
- end
57
+ def is_distinct_from(o, collector)
58
+ collector << "DECODE("
59
+ collector = visit [o.left, o.right, 0, 1], collector
60
+ collector << ")"
61
+ end
64
62
 
65
- end
66
63
  end
67
64
  end
68
65
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arel_extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yann Azoury