activerecord_execute_raw 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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]