teradata-ar 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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