sequel_load_data_infile 0.0.1 → 0.0.2
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/VERSION +1 -1
- data/lib/sequel/load_data_infile.rb +3 -2
- data/sequel_load_data_infile.gemspec +64 -0
- data/spec/load_data_infile_expression_spec.rb +2 -2
- metadata +5 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
@@ -90,7 +90,7 @@ module Sequel
|
|
90
90
|
end
|
91
91
|
|
92
92
|
def format_column(column)
|
93
|
-
if binary_columns.include?(column)
|
93
|
+
if binary_columns.include?(column.to_s)
|
94
94
|
"@#{column}"
|
95
95
|
elsif column.to_s[0..0] == "@"
|
96
96
|
column
|
@@ -106,7 +106,8 @@ module Sequel
|
|
106
106
|
|
107
107
|
def set_columns
|
108
108
|
binary_columns.inject({}) do |hash, column|
|
109
|
-
hash[column.to_sym] = :unhex
|
109
|
+
hash[column.to_sym] = Sequel.function(:unhex,
|
110
|
+
Sequel.lit("@#{column}"))
|
110
111
|
hash
|
111
112
|
end.merge(@set)
|
112
113
|
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = "sequel_load_data_infile"
|
8
|
+
s.version = "0.0.2"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Roland Swingler"]
|
12
|
+
s.date = "2013-06-05"
|
13
|
+
s.description = "Provides LOAD DATA INFILE support for mysql datasets"
|
14
|
+
s.email = "roland.swingler@gmail.com"
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE.txt",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
".rspec",
|
22
|
+
"Gemfile",
|
23
|
+
"LICENSE.txt",
|
24
|
+
"README.rdoc",
|
25
|
+
"Rakefile",
|
26
|
+
"VERSION",
|
27
|
+
"lib/sequel/load_data_infile.rb",
|
28
|
+
"sequel_load_data_infile.gemspec",
|
29
|
+
"spec/db_connections.yml.dist",
|
30
|
+
"spec/load_data_infile_expression_spec.rb",
|
31
|
+
"spec/load_data_infile_spec.rb",
|
32
|
+
"spec/spec_helper.rb"
|
33
|
+
]
|
34
|
+
s.homepage = "http://github.com/knaveofdiamonds/sequel_load_data_infile"
|
35
|
+
s.licenses = ["MIT"]
|
36
|
+
s.require_paths = ["lib"]
|
37
|
+
s.rubygems_version = "1.8.24"
|
38
|
+
s.summary = "Provides LOAD DATA INFILE support for mysql datasets"
|
39
|
+
|
40
|
+
if s.respond_to? :specification_version then
|
41
|
+
s.specification_version = 3
|
42
|
+
|
43
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
44
|
+
s.add_runtime_dependency(%q<sequel>, [">= 0"])
|
45
|
+
s.add_development_dependency(%q<mysql>, ["= 2.8.1"])
|
46
|
+
s.add_development_dependency(%q<rspec>, ["~> 2"])
|
47
|
+
s.add_development_dependency(%q<bundler>, [">= 0"])
|
48
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
|
49
|
+
else
|
50
|
+
s.add_dependency(%q<sequel>, [">= 0"])
|
51
|
+
s.add_dependency(%q<mysql>, ["= 2.8.1"])
|
52
|
+
s.add_dependency(%q<rspec>, ["~> 2"])
|
53
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
54
|
+
s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
|
55
|
+
end
|
56
|
+
else
|
57
|
+
s.add_dependency(%q<sequel>, [">= 0"])
|
58
|
+
s.add_dependency(%q<mysql>, ["= 2.8.1"])
|
59
|
+
s.add_dependency(%q<rspec>, ["~> 2"])
|
60
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
61
|
+
s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
@@ -53,7 +53,7 @@ describe Sequel::LoadDataInfileExpression do
|
|
53
53
|
|
54
54
|
it "can set column values" do
|
55
55
|
sql = described_class.new("bar.csv", :foo, ['@bar', 'quux'],
|
56
|
-
:set => {:bar => :unhex.
|
56
|
+
:set => {:bar => Sequel.function(:unhex, Sequel.lit("@bar")),
|
57
57
|
:etl_batch_id => 3}).
|
58
58
|
to_sql(TEST_DB)
|
59
59
|
|
@@ -64,7 +64,7 @@ describe Sequel::LoadDataInfileExpression do
|
|
64
64
|
|
65
65
|
it "unhexes binary columns automatically via set" do
|
66
66
|
TEST_DB.stub(:schema).and_return([[:bar, {:type => :blob}]])
|
67
|
-
sql = described_class.new("bar.csv", :foo, [
|
67
|
+
sql = described_class.new("bar.csv", :foo, [:bar, :quux]).to_sql(TEST_DB)
|
68
68
|
sql.should include("(@bar,`quux`)")
|
69
69
|
sql.should include("SET `bar` = unhex(@bar)")
|
70
70
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sequel_load_data_infile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-05
|
12
|
+
date: 2013-06-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sequel
|
@@ -107,6 +107,7 @@ files:
|
|
107
107
|
- Rakefile
|
108
108
|
- VERSION
|
109
109
|
- lib/sequel/load_data_infile.rb
|
110
|
+
- sequel_load_data_infile.gemspec
|
110
111
|
- spec/db_connections.yml.dist
|
111
112
|
- spec/load_data_infile_expression_spec.rb
|
112
113
|
- spec/load_data_infile_spec.rb
|
@@ -126,7 +127,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
126
127
|
version: '0'
|
127
128
|
segments:
|
128
129
|
- 0
|
129
|
-
hash:
|
130
|
+
hash: 2675046782985477919
|
130
131
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
132
|
none: false
|
132
133
|
requirements:
|
@@ -135,7 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
136
|
version: '0'
|
136
137
|
requirements: []
|
137
138
|
rubyforge_project:
|
138
|
-
rubygems_version: 1.8.
|
139
|
+
rubygems_version: 1.8.24
|
139
140
|
signing_key:
|
140
141
|
specification_version: 3
|
141
142
|
summary: Provides LOAD DATA INFILE support for mysql datasets
|