ddl_parser 0.0.15 → 0.0.16

Sign up to get free protection for your applications and to get access to all the features.
@@ -32,6 +32,12 @@ class DDLParser::Translator::Column
32
32
  rescue
33
33
  raise "DataType CHAR length wrong format #{@column_hash[:data_type].inspect}"
34
34
  end
35
+ when :varchar
36
+ begin
37
+ @column_hash[:data_type][:varchar][:length][:integer].to_i
38
+ rescue
39
+ raise "DataType VARCHAR length wrong format #{@column_hash[:data_type].inspect}"
40
+ end
35
41
  else
36
42
  nil
37
43
  end
@@ -1,3 +1,3 @@
1
1
  module DDLParser
2
- VERSION = '0.0.15'
2
+ VERSION = '0.0.16'
3
3
  end
@@ -106,7 +106,7 @@ EOF
106
106
  end
107
107
  it 'parses index_option with reverse scans' do
108
108
  sql = 'allow reverse scans'
109
- parser.index_option.parse(sql).should include(:index_option => {:reverse_scans_property=>"allow reverse scans"})
109
+ parser.index_option.parse(sql)[:index_option].should include(:reverse_scans_property => 'allow reverse scans')
110
110
  end
111
111
  end
112
112
  context 'create_index_statement' do
@@ -163,7 +163,7 @@ EOF
163
163
  result.should include(:index_name => 'cost_invoice_1')
164
164
  result.should include(:table_name => 'cost_invoice')
165
165
  result.should include(:field => 'doc_no')
166
- result.should include(:index_option => {:reverse_scans_property=>"allow reverse scans"})
166
+ result[:index_option].should include(:reverse_scans_property => 'allow reverse scans')
167
167
 
168
168
  end
169
169
  it 'without reverse scan' do
@@ -204,8 +204,7 @@ EOF
204
204
  result.should include(:index_name => 'pl_trigger_i2')
205
205
  result.should include(:table_name => 'pl_trigger')
206
206
  result.should include(:field => 'unique_no')
207
- result.should include(:index_option => {:reverse_scans_property=>"allow reverse scans"})
208
-
207
+ result[:index_option].should include(:reverse_scans_property => 'allow reverse scans')
209
208
 
210
209
  end
211
210
  it 'live example' do
@@ -30,6 +30,15 @@ describe 'DDLParser::Translator::Column' do
30
30
  )
31
31
  }
32
32
 
33
+
34
+ let(:varchar_column) {
35
+ DDLParser::Translator::Column.new(
36
+ {:field=> 'varchar_field',
37
+ :data_type=>{:varchar=>{:length=>{:integer=> '255'}}},
38
+ :options=> [{:default_clause=>[{:string => "'foobar'"}]}]}
39
+ )
40
+ }
41
+
33
42
  let(:decimal_column) {
34
43
  DDLParser::Translator::Column.new(
35
44
  {:field=> 'decimal_field',
@@ -70,12 +79,14 @@ describe 'DDLParser::Translator::Column' do
70
79
  it 'should return data_type' do
71
80
  int_column.data_type.should == :int
72
81
  char_column.data_type.should == :char
82
+ varchar_column.data_type.should == :varchar
73
83
  decimal_column.data_type.should == :decimal
74
84
  end
75
85
 
76
86
  it 'should return length' do
77
87
  int_column.length.should == nil
78
88
  char_column.length.should == 4
89
+ varchar_column.length.should == 255
79
90
  decimal_column.length.should == 15.2
80
91
  end
81
92
 
@@ -9,14 +9,13 @@ describe 'DDLParser::Translator::CreateIndexHeader' do
9
9
  :index_table=> 'on test_table',
10
10
  :table_name=> 'test_table',
11
11
  :object_property=> 'unique',
12
- :option_reverse_scans=>'allow reverse scans'
12
+ :index_option => {:reverse_scans_property=>'allow reverse scans'}
13
13
  }, {}])
14
14
  }
15
15
 
16
16
  let(:index_name_test) {
17
17
  DDLParser::Translator::CreateIndexHeader.new({:field=> 'test_index'})
18
18
 
19
- # DDLParser::Translator::Column.new({:field=> 'int_field', :data_type=> 'int', :options=> ''})
20
19
  }
21
20
 
22
21
  let(:table_name) {
@@ -33,7 +32,7 @@ it 'should return name' do
33
32
  unique_no_column.index_name.should == 'test_index'
34
33
  unique_no_column.table_name.should == 'test_table'
35
34
  unique_no_column.object_property.should == 'unique'
36
- unique_no_column.option_reverse_scans.should == 'N'
35
+ unique_no_column.option_reverse_scans.should == 'Y'
37
36
  end
38
37
 
39
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddl_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.15
4
+ version: 0.0.16
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: 2014-10-08 00:00:00.000000000 Z
12
+ date: 2014-10-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: parslet
@@ -158,3 +158,4 @@ test_files:
158
158
  - spec/ddl_parser/translator/index_column_spec.rb
159
159
  - spec/ddl_parser/translator/index_header_spec.rb
160
160
  - spec/spec_helper.rb
161
+ has_rdoc: