teradata-ar 0.0.4 → 0.0.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: 498cdd551375bd432cdf0d6f76c5dbdb3fe8ce1b
4
- data.tar.gz: 9f092600d613e3d31c3fc9b935e08cde84488d9e
3
+ metadata.gz: 642c08f0dfc24fcf52e1d80d8b76edfe12fc175d
4
+ data.tar.gz: f0a46868de692361c46174ce05cca0afe16ddfd3
5
5
  SHA512:
6
- metadata.gz: 125abcaa7940d177e0c8c8a06d92d0dbdb171df1d67fdd9a4a3a46c7972c4cf439f52d017cb8c018a2891c3a527e0f52f71ee55a07d4979fd3a02b049c79639d
7
- data.tar.gz: 43539430c99e2c2270e21a61c2699b10733ac01baaae1b060e3f39cb6a366102a98d5ce46b546e3a9cf84f885c60f7711670827706ade859cf1dbcff9daf2285
6
+ metadata.gz: 2a749f6cd096c7701da4bf62bf0987d135f40d3700ebc518455f21db82d49f9901475da3d997c47c882199c17be773f3e99fb4ad957058f015a6c3d820ded5a8
7
+ data.tar.gz: 1a8b0478ba42b0cb3c9dc9120007621f9ff0bf0e65951eeab1fd8d14a349d8609dd7e41eef248128bd02973171fd244fa9a687e047e8d77730a0cd2c35a7d39d
@@ -1,5 +1,6 @@
1
1
  require 'active_record/connection_adapters/abstract_adapter'
2
2
  require 'arel/visitors/bind_visitor'
3
+ require 'teradata/ar/version'
3
4
 
4
5
  #gem 'teradata-cli', :path => '~/projects/teradata-cli'
5
6
  require 'teradata-cli'
@@ -44,6 +45,15 @@ module ActiveRecord
44
45
  "TOP #{o.expr}"
45
46
  end
46
47
 
48
+ def visit_Arel_Nodes_NotEqual o
49
+ right = o.right
50
+ if right.nil?
51
+ "#{visit o.left} IS NOT NULL"
52
+ else
53
+ "#{visit o.left} <> #{visit right}"
54
+ end
55
+ end
56
+
47
57
  end
48
58
 
49
59
  def initialize(logger, logon_string, config)
@@ -62,6 +72,10 @@ module ActiveRecord
62
72
  'teradata'
63
73
  end
64
74
 
75
+ def version
76
+ Teradata::Ar::VERSION
77
+ end
78
+
65
79
  def connect
66
80
  @connection = TeradataCli::Connection.open(@logon_string)
67
81
  end
@@ -221,6 +235,17 @@ module ActiveRecord
221
235
  end
222
236
  end
223
237
 
238
+ def supports_explain?
239
+ true
240
+ end
241
+
242
+ def explain(arel, binds = [])
243
+ sql = "EXPLAIN #{to_sql(arel, binds)}"
244
+ raw_result = exec_query(sql)
245
+ rows = raw_result.map { |hash| hash.values }
246
+ rows.join("\n")
247
+ end
248
+
224
249
  end
225
250
  end
226
251
  end
@@ -1,5 +1,5 @@
1
1
  module Teradata
2
2
  module Ar
3
- VERSION = "0.0.4"
3
+ VERSION = "0.0.5"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teradata-ar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Giuseppe Privitera
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-16 00:00:00.000000000 Z
11
+ date: 2013-10-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler