activerecord_execute_raw 0.1.0 → 0.1.1

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.
data/README.rdoc CHANGED
@@ -7,6 +7,11 @@ this is a problem if you are inserting millions of rows
7
7
  activerecord_execute_raw creates a connection.execute_raw() method which bypasses the
8
8
  id fetch
9
9
 
10
+ == Install
11
+
12
+ gem source --add http://gemcutter.org
13
+ gem install activerecord_execute_raw
14
+
10
15
  == Note on Patches/Pull Requests
11
16
 
12
17
  * Fork the project.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -1,24 +1,2 @@
1
- # ActiveRecord::ConnectionAdapters::JdbcAdapter always fetches inserted ids
2
- # after executing an insert statement through connection.execute() . this
3
- # is a problem when millions of rows are inserted
4
-
5
- # define a base method so we don't need to care about whether
6
- # we are actually using jdbc or not
7
- class ActiveRecord::ConnectionAdapters::AbstractAdapter
8
- def execute_raw(sql, name = nil)
9
- execute(sql, name)
10
- end
11
- end
12
-
13
- # then override the base method on the JdbcAdapter
14
- class ActiveRecord::ConnectionAdapters::JdbcAdapter
15
- def execute_raw(sql, name = nil)
16
- log(sql, name) do
17
- if ActiveRecord::ConnectionAdapters::JdbcConnection::select?(sql)
18
- @connection.execute_query(sql)
19
- else
20
- @connection.execute_update(sql)
21
- end
22
- end
23
- end
24
- end
1
+ require 'active_record'
2
+ require 'activerecord_execute_raw/execute_raw'
@@ -0,0 +1,28 @@
1
+ # ActiveRecord::ConnectionAdapters::JdbcAdapter always fetches inserted ids
2
+ # after executing an insert statement through connection.execute() . this
3
+ # is a problem when millions of rows are inserted
4
+
5
+ # define a base method so we don't need to care about whether
6
+ # we are actually using jdbc or not
7
+ module ActiveRecord
8
+ module ConnectionAdapters
9
+ class AbstractAdapter
10
+ def execute_raw(sql, name = nil)
11
+ execute(sql, name)
12
+ end
13
+ end
14
+
15
+ # then override the base method on the JdbcAdapter
16
+ class JdbcAdapter < AbstractAdapter
17
+ def execute_raw(sql, name = nil)
18
+ log(sql, name) do
19
+ if ActiveRecord::ConnectionAdapters::JdbcConnection::select?(sql)
20
+ @connection.execute_query(sql)
21
+ else
22
+ @connection.execute_update(sql)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  $LOAD_PATH.unshift(File.dirname(__FILE__))
2
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
- require 'activerecord_execute_raw'
3
+ require 'activerecord_execute_raw/execute_raw'
4
4
  require 'spec'
5
5
  require 'spec/autorun'
6
6
 
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord_execute_raw
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 1
9
+ version: 0.1.1
5
10
  platform: ruby
6
11
  authors:
7
12
  - mccraig mccraig of the clan mccraig
@@ -9,29 +14,35 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2010-02-19 00:00:00 +00:00
17
+ date: 2010-03-11 00:00:00 +00:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: rspec
17
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - ">="
22
26
  - !ruby/object:Gem::Version
27
+ segments:
28
+ - 1
29
+ - 2
30
+ - 9
23
31
  version: 1.2.9
24
- version:
32
+ type: :development
33
+ version_requirements: *id001
25
34
  - !ruby/object:Gem::Dependency
26
35
  name: yard
27
- type: :development
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
30
38
  requirements:
31
39
  - - ">="
32
40
  - !ruby/object:Gem::Version
41
+ segments:
42
+ - 0
33
43
  version: "0"
34
- version:
44
+ type: :development
45
+ version_requirements: *id002
35
46
  description: |-
36
47
  ActiveRecord-JDBC fetches ids of inserted records when you call connection.execute(). this
37
48
  gem adds a connection.execute_raw() method which does not fetch inserted ids
@@ -51,6 +62,7 @@ files:
51
62
  - Rakefile
52
63
  - VERSION
53
64
  - lib/activerecord_execute_raw.rb
65
+ - lib/activerecord_execute_raw/execute_raw.rb
54
66
  - spec/activerecord_execute_raw_spec.rb
55
67
  - spec/spec.opts
56
68
  - spec/spec_helper.rb
@@ -67,18 +79,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
67
79
  requirements:
68
80
  - - ">="
69
81
  - !ruby/object:Gem::Version
82
+ segments:
83
+ - 0
70
84
  version: "0"
71
- version:
72
85
  required_rubygems_version: !ruby/object:Gem::Requirement
73
86
  requirements:
74
87
  - - ">="
75
88
  - !ruby/object:Gem::Version
89
+ segments:
90
+ - 0
76
91
  version: "0"
77
- version:
78
92
  requirements: []
79
93
 
80
94
  rubyforge_project:
81
- rubygems_version: 1.3.5
95
+ rubygems_version: 1.3.6
82
96
  signing_key:
83
97
  specification_version: 3
84
98
  summary: execute raw sql on db from ActiveRecord [without fetching inserted ids as done by ActiveRecord-JDBC]