adapter_extensions 0.3.0 → 0.3.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/CHANGELOG +4 -1
- data/lib/adapter_extensions/connection_adapters/abstract_adapter.rb +13 -0
- data/lib/adapter_extensions/connection_adapters/mysql_adapter.rb +9 -0
- data/lib/adapter_extensions/connection_adapters/sqlserver_adapter.rb +10 -1
- data/lib/adapter_extensions/version.rb +1 -1
- metadata +5 -5
data/CHANGELOG
CHANGED
@@ -13,4 +13,7 @@
|
|
13
13
|
0.3.0 - March 8, 2007
|
14
14
|
* PostgreSQL adapter included
|
15
15
|
* Added tests for bulk loading
|
16
|
-
* bulk_load method now handles table missing and file missing as error cases
|
16
|
+
* bulk_load method now handles table missing and file missing as error cases
|
17
|
+
|
18
|
+
0.3.1 - May 4, 2007
|
19
|
+
* Added support for modifying SELECT statements to add an INSERT INTO.
|
@@ -18,6 +18,19 @@ module ActiveRecord #:nodoc:
|
|
18
18
|
do_bulk_load(file, table_name, options)
|
19
19
|
end
|
20
20
|
|
21
|
+
# SQL select into statement constructs a new table from the results
|
22
|
+
# of a select. It is used to select data from a table and create a new
|
23
|
+
# table with its result set at the same time. Note that this method
|
24
|
+
# name does not necessarily match the implementation. E.g. MySQL's
|
25
|
+
# version of this is 'CREATE TABLE ... AS SELECT ...'
|
26
|
+
def support_select_into_table?
|
27
|
+
false
|
28
|
+
end
|
29
|
+
|
30
|
+
def add_select_into_table(new_table_name, sql_query)
|
31
|
+
raise NotImplementedError, "add_select_into_table is an abstract method"
|
32
|
+
end
|
33
|
+
|
21
34
|
protected
|
22
35
|
|
23
36
|
# for subclasses to implement
|
@@ -4,6 +4,15 @@ module ActiveRecord #:nodoc:
|
|
4
4
|
# Adds new functionality to ActiveRecord MysqlAdapter.
|
5
5
|
class MysqlAdapter < AbstractAdapter
|
6
6
|
|
7
|
+
def support_select_into_table?
|
8
|
+
true
|
9
|
+
end
|
10
|
+
|
11
|
+
# Inserts an INTO table_name clause to the sql_query.
|
12
|
+
def add_select_into_table(new_table_name, sql_query)
|
13
|
+
"CREATE TABLE #{new_table_name} " + sql_query
|
14
|
+
end
|
15
|
+
|
7
16
|
protected
|
8
17
|
# Call +bulk_load+, as that method wraps this method.
|
9
18
|
#
|
@@ -3,6 +3,15 @@ module ActiveRecord #:nodoc:
|
|
3
3
|
module ConnectionAdapters #:nodoc:
|
4
4
|
# Adds new functionality to ActiveRecord SQLServerAdapter.
|
5
5
|
class SQLServerAdapter < AbstractAdapter
|
6
|
+
def support_select_into_table?
|
7
|
+
true
|
8
|
+
end
|
9
|
+
|
10
|
+
# Inserts an INTO table_name clause to the sql_query.
|
11
|
+
def add_select_into_table(new_table_name, sql_query)
|
12
|
+
sql_query.sub(/FROM/i, "INTO #{new_table_name} FROM")
|
13
|
+
end
|
14
|
+
|
6
15
|
protected
|
7
16
|
# Call +bulk_load+, as that method wraps this method.
|
8
17
|
#
|
@@ -16,7 +25,7 @@ module ActiveRecord #:nodoc:
|
|
16
25
|
# * <tt>:delimited_by</tt> -- The field delimiter
|
17
26
|
# * <tt>:enclosed_by</tt> -- The field enclosure
|
18
27
|
def do_bulk_load(file, table_name, options={})
|
19
|
-
env_name =
|
28
|
+
env_name = options[:env] || RAILS_ENV
|
20
29
|
config = ActiveRecord::Base.configurations[env_name]
|
21
30
|
puts "Loading table \"#{table_name}\" from file \"#{filename}\""
|
22
31
|
cmd = "bcp \"#{config['database']}.dbo.#{table_name}\" in " +
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.
|
2
|
+
rubygems_version: 0.9.2
|
3
3
|
specification_version: 1
|
4
4
|
name: adapter_extensions
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.3.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.3.1
|
7
|
+
date: 2007-05-04 00:00:00 -04:00
|
8
8
|
summary: Extensions to Rails ActiveRecord adapters.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -34,13 +34,13 @@ files:
|
|
34
34
|
- LICENSE
|
35
35
|
- Rakefile
|
36
36
|
- lib/adapter_extensions
|
37
|
-
- lib/adapter_extensions.rb
|
38
37
|
- lib/adapter_extensions/connection_adapters
|
39
|
-
- lib/adapter_extensions/version.rb
|
40
38
|
- lib/adapter_extensions/connection_adapters/abstract_adapter.rb
|
41
39
|
- lib/adapter_extensions/connection_adapters/mysql_adapter.rb
|
42
40
|
- lib/adapter_extensions/connection_adapters/postgresql_adapter.rb
|
43
41
|
- lib/adapter_extensions/connection_adapters/sqlserver_adapter.rb
|
42
|
+
- lib/adapter_extensions/version.rb
|
43
|
+
- lib/adapter_extensions.rb
|
44
44
|
test_files: []
|
45
45
|
|
46
46
|
rdoc_options:
|