ddl_parser 0.0.3 → 0.0.4

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.
@@ -1,119 +1,119 @@
1
- require "spec_helper"
1
+ require_relative '../../../../spec/spec_helper'
2
2
 
3
3
  describe DDLParser::DDL::DB2::Parser do
4
4
  let(:parser) { DDLParser::DDL::DB2::Parser.new }
5
5
 
6
- context "building blocks" do
6
+ context 'building blocks' do
7
7
 
8
- it "parses arglist" do
9
- parser.arglist.parse("a").should == {:item=>"a"}
10
- parser.arglist.parse("a,b,c").should == [{:item=>"a"}, {:item=>"b"}, {:item=>"c"}]
11
- parser.arglist.parse("a, b, c").should == [{:item=>"a"}, {:item=>"b"}, {:item=>"c"}]
8
+ it 'parses arglist' do
9
+ parser.arglist.parse('a').should == {:item=> 'a'}
10
+ parser.arglist.parse('a,b,c').should == [{:item=> 'a'}, {:item=> 'b'}, {:item=> 'c'}]
11
+ parser.arglist.parse('a, b, c').should == [{:item=> 'a'}, {:item=> 'b'}, {:item=> 'c'}]
12
12
  end
13
13
 
14
14
  end
15
15
 
16
- context "column options parsing" do
17
- it "parses not null" do
18
- expect(parser.column_options).to parse("not null")
16
+ context 'column options parsing' do
17
+ it 'parses not null' do
18
+ expect(parser.column_options).to parse('not null')
19
19
  end
20
20
 
21
- it "parses default values" do
22
- expect(parser.column_options).to parse("default 1")
23
- expect(parser.column_options).to parse("with default 1")
24
- expect(parser.column_options).to parse("default current timestamp")
21
+ it 'parses default values' do
22
+ expect(parser.column_options).to parse('default 1')
23
+ expect(parser.column_options).to parse('with default 1')
24
+ expect(parser.column_options).to parse('default current timestamp')
25
25
  expect(parser.column_options).to parse("default 'foobar'")
26
- expect(parser.column_options).to parse("default max(foo)")
26
+ expect(parser.column_options).to parse('default max(foo)')
27
27
 
28
28
  expect(
29
- parser.column_options.parse("default 1")
30
- ).to eq([{:default_clause=>[{:integer=>"1"}]}])
29
+ parser.column_options.parse('default 1')
30
+ ).to eq([{:default_clause=>[{:integer=> '1'}]}])
31
31
  end
32
32
 
33
- it "parses generated by" do
34
- sql = "generated by default as identity (start with 1 increment by 1 cache 20 )"
33
+ it 'parses generated by' do
34
+ sql = 'generated by default as identity (start with 1 increment by 1 cache 20 )'
35
35
  begin
36
36
  result = parser.column_options.parse(sql.downcase)
37
37
  rescue Parslet::ParseFailed => error
38
38
  puts error.cause.ascii_tree
39
39
  end
40
- result.should == [{:identity=>{:start_value=>{:integer=>"1"},
41
- :increment_value=>{:integer=>"1"},
42
- :cache_value=>{:integer=>"20"}}}]
40
+ result.should == [{:identity=>{:start_value=>{:integer=> '1'},
41
+ :increment_value=>{:integer=> '1'},
42
+ :cache_value=>{:integer=> '20'}}}]
43
43
  end
44
44
 
45
- it "parses identity" do
46
- expect(parser.column_options).to parse("as identity (start with 500, increment by 1)")
45
+ it 'parses identity' do
46
+ expect(parser.column_options).to parse('as identity (start with 500, increment by 1)')
47
47
  expect(
48
- parser.column_options.parse("as identity (start with 500, increment by 1)")
49
- ).to eq([{:identity=>{:start_value=>{:integer=>"500"}, :increment_value=>{:integer=>"1"}}}])
48
+ parser.column_options.parse('as identity (start with 500, increment by 1)')
49
+ ).to eq([{:identity=>{:start_value=>{:integer=> '500'}, :increment_value=>{:integer=> '1'}}}])
50
50
  end
51
51
 
52
- it "parses multible" do
53
- expect(parser.column_options).to parse("not null as identity (start with 500, increment by 1)")
52
+ it 'parses multible' do
53
+ expect(parser.column_options).to parse('not null as identity (start with 500, increment by 1)')
54
54
 
55
- result = parser.column_options.parse("not null as identity (start with 500, increment by 1)")
55
+ result = parser.column_options.parse('not null as identity (start with 500, increment by 1)')
56
56
  result.first.should include(:column_option)
57
57
  result.last.should include(:identity)
58
58
  end
59
59
 
60
60
  end
61
61
 
62
- context "constraint" do
63
- it "parses primary key" do
64
- sql = "primary key (id)"
65
- parser.primary_key.parse(sql).should == {:primary_key=>{:item=>"id"}}
62
+ context 'constraint' do
63
+ it 'parses primary key' do
64
+ sql = 'primary key (id)'
65
+ parser.primary_key.parse(sql).should == {:primary_key=>{:item=> 'id'}}
66
66
  end
67
67
 
68
- it "parses composed primary key" do
69
- sql = "primary key (id,foo)"
70
- parser.primary_key.parse(sql).should == {:primary_key=>[{:item=>"id"}, {:item=>"foo"}]}
68
+ it 'parses composed primary key' do
69
+ sql = 'primary key (id,foo)'
70
+ parser.primary_key.parse(sql).should == {:primary_key=>[{:item=> 'id'}, {:item=> 'foo'}]}
71
71
  end
72
72
 
73
- it "parses unique" do
74
- sql = "constraint emp_act_uniq unique (empno,projno,actno)"
73
+ it 'parses unique' do
74
+ sql = 'constraint emp_act_uniq unique (empno,projno,actno)'
75
75
 
76
- parser.constraint.parse(sql).should == {:constraint=>{:column_name=>"emp_act_uniq",
77
- :constraint_type=>"unique",
78
- :constraint_arglist=>[{:item=>"empno"},
79
- {:item=>"projno"},
80
- {:item=>"actno"}]}}
76
+ parser.constraint.parse(sql).should == {:constraint=>{:column_name=> 'emp_act_uniq',
77
+ :constraint_type=> 'unique',
78
+ :constraint_arglist=>[{:item=> 'empno'},
79
+ {:item=> 'projno'},
80
+ {:item=> 'actno'}]}}
81
81
  end
82
82
 
83
- it "parses foreign key" do
84
- sql = "constraint fk_act_proj foreign key (projno) references project (projno) on delete cascade"
83
+ it 'parses foreign key' do
84
+ sql = 'constraint fk_act_proj foreign key (projno) references project (projno) on delete cascade'
85
85
  begin
86
86
  result = parser.constraint.parse(sql)
87
87
  rescue Parslet::ParseFailed => error
88
88
  puts error.cause.ascii_tree
89
89
  end
90
- result.should == {:constraint=>{:column_name=>"fk_act_proj",
91
- :constraint_type=>"foreign key",
92
- :constraint_arglist=>{:item=>"projno"},
93
- :reference_arglist=>{:item=>"projno"}}}
90
+ result.should == {:constraint=>{:column_name=> 'fk_act_proj',
91
+ :constraint_type=> 'foreign key',
92
+ :constraint_arglist=>{:item=> 'projno'},
93
+ :reference_arglist=>{:item=> 'projno'}}}
94
94
  end
95
95
 
96
96
  end
97
97
 
98
- context "column definition" do
99
- it "parses char not null" do
100
- sql = "deptno char(3) not null"
98
+ context 'column definition' do
99
+ it 'parses char not null' do
100
+ sql = 'deptno char(3) not null'
101
101
  parser.column_definition.parse(sql).should == {:column => {
102
- :field=>"deptno",
103
- :data_type=>{:char=>{:length=>{:integer=>"3"}}},
104
- :options=>[{:column_option=>"not null"}]
102
+ :field=> 'deptno',
103
+ :data_type=>{:char=>{:length=>{:integer=> '3'}}},
104
+ :options=>[{:column_option=> 'not null'}]
105
105
  }
106
106
  }
107
107
 
108
108
  end
109
- it "parses char not null - x" do
110
- sql = "BUDGET_AMOUNT_IN_CO DECIMAL(15,2) NOT NULL DEFAULT 0"
109
+ it 'parses char not null - x' do
110
+ sql = 'BUDGET_AMOUNT_IN_CO DECIMAL(15,2) NOT NULL DEFAULT 0'
111
111
  parser.column_definition.parse(sql.downcase).should == {:column => {
112
- :field=>"budget_amount_in_co",
112
+ :field=> 'budget_amount_in_co',
113
113
  :data_type=>{:decimal=>{:precision=>
114
- {:total=>{:integer=>"15"},
115
- :scale=>{:integer=>"2"}}}},
116
- :options=>[{:column_option=>"not null"}, {:default_clause=>[{:integer=>"0"}]}]
114
+ {:total=>{:integer=> '15'},
115
+ :scale=>{:integer=> '2'}}}},
116
+ :options=>[{:column_option=> 'not null'}, {:default_clause=>[{:integer=> '0'}]}]
117
117
  }
118
118
  }
119
119
 
@@ -121,55 +121,55 @@ describe DDLParser::DDL::DB2::Parser do
121
121
 
122
122
  end
123
123
 
124
- context "element list" do
125
- it "parses one element" do
126
- sql = "(deptno char(3) not null)"
127
- parser.element_list.parse(sql).should == {:elements => {:column=>{:field=>"deptno",
128
- :data_type=>{:char=>{:length=>{:integer=>"3"}}},
129
- :options=>[{:column_option=>"not null"}]}}}
124
+ context 'element list' do
125
+ it 'parses one element' do
126
+ sql = '(deptno char(3) not null)'
127
+ parser.element_list.parse(sql).should == {:elements => {:column=>{:field=> 'deptno',
128
+ :data_type=>{:char=>{:length=>{:integer=> '3'}}},
129
+ :options=>[{:column_option=> 'not null'}]}}}
130
130
  end
131
131
 
132
- it "parses two element" do
133
- sql = "(field1 char(1) not null, field2 char(2))"
134
- parser.element_list.parse(sql).should == {:elements => [{:column=>{:field=>"field1",
135
- :data_type=>{:char=>{:length=>{:integer=>"1"}}},
136
- :options=>[{:column_option=>"not null"}]}},
137
- {:column=>{:field=>"field2",
138
- :data_type=>{:char=>{:length=>{:integer=>"2"}}},
139
- :options=>""}}]}
132
+ it 'parses two element' do
133
+ sql = '(field1 char(1) not null, field2 char(2))'
134
+ parser.element_list.parse(sql).should == {:elements => [{:column=>{:field=> 'field1',
135
+ :data_type=>{:char=>{:length=>{:integer=> '1'}}},
136
+ :options=>[{:column_option=> 'not null'}]}},
137
+ {:column=>{:field=> 'field2',
138
+ :data_type=>{:char=>{:length=>{:integer=> '2'}}},
139
+ :options=> ''}}]}
140
140
  end
141
141
 
142
- it "parses with new lines" do
142
+ it 'parses with new lines' do
143
143
  sql = <<EOF
144
144
  (
145
145
  DEPTNO CHAR(3) NOT NULL,
146
146
  DEPTNAME VARCHAR(36) NOT NULL
147
147
  )
148
148
  EOF
149
- parser.element_list.parse(sql.downcase).should == {:elements => [{:column=>{:field=>"deptno",
150
- :data_type=>{:char=>{:length=>{:integer=>"3"}}},
151
- :options=>[{:column_option=>"not null"}]}},
152
- {:column=>{:field=>"deptname",
153
- :data_type=>{:varchar=>{:length=>{:integer=>"36"}}},
154
- :options=>[{:column_option=>"not null"}]}}]}
149
+ parser.element_list.parse(sql.downcase).should == {:elements => [{:column=>{:field=> 'deptno',
150
+ :data_type=>{:char=>{:length=>{:integer=> '3'}}},
151
+ :options=>[{:column_option=> 'not null'}]}},
152
+ {:column=>{:field=> 'deptname',
153
+ :data_type=>{:varchar=>{:length=>{:integer=> '36'}}},
154
+ :options=>[{:column_option=> 'not null'}]}}]}
155
155
 
156
156
  end
157
157
  end
158
158
 
159
- context "create table" do
160
- it "parses simple create" do
161
- expect(parser.create_table_statement).to parse("create table foobar")
162
- expect(parser.create_table_statement).not_to parse("create table ")
159
+ context 'create table' do
160
+ it 'parses simple create' do
161
+ expect(parser.create_table_statement).to parse('create table foobar')
162
+ expect(parser.create_table_statement).not_to parse('create table ')
163
163
 
164
- parser.create_table_statement.parse("create table foobar").should == {:operation=>"create table", :table_name => "foobar"}
164
+ parser.create_table_statement.parse('create table foobar').should == {:operation=> 'create table', :table_name => 'foobar'}
165
165
  end
166
166
  end
167
167
 
168
168
 
169
169
 
170
- context "simple statements" do
170
+ context 'simple statements' do
171
171
 
172
- it "parses Example 1"do
172
+ it 'parses Example 1' do
173
173
  sql = <<EOF
174
174
  CREATE TABLE TDEPT
175
175
  (DEPTNO CHAR(3) NOT NULL,
@@ -178,44 +178,44 @@ EOF
178
178
  ADMRDEPT DECIMAL(3,1) NOT NULL)
179
179
  IN DEPARTX
180
180
  EOF
181
- parser.create_table.parse(sql.downcase).should == {:operation=>"create table",
182
- :table_name=>"tdept",
181
+ parser.create_table.parse(sql.downcase).should == {:operation=> 'create table',
182
+ :table_name=> 'tdept',
183
183
  :elements => [
184
- {:column=>{:field=>"deptno",
185
- :data_type=>{:char=>{:length=>{:integer=>"3"}}},
186
- :options=>[{:column_option=>"not null"}]}},
187
- {:column=>{:field=>"deptname",
188
- :data_type=>{:varchar=>{:length=>{:integer=>"36"}}},
189
- :options=>[{:column_option=>"not null"}]}},
190
- {:column=>{:field=>"mgrno",
191
- :data_type=>"int",
192
- :options=>""}},
193
- {:column=>{:field=>"admrdept",
194
- :data_type=>{:decimal=>{:precision=>{:total=>{:integer=>"3"}, :scale=>{:integer=>"1"}}}},
195
- :options=>[{:column_option=>"not null"}]}}
184
+ {:column=>{:field=> 'deptno',
185
+ :data_type=>{:char=>{:length=>{:integer=> '3'}}},
186
+ :options=>[{:column_option=> 'not null'}]}},
187
+ {:column=>{:field=> 'deptname',
188
+ :data_type=>{:varchar=>{:length=>{:integer=> '36'}}},
189
+ :options=>[{:column_option=> 'not null'}]}},
190
+ {:column=>{:field=> 'mgrno',
191
+ :data_type=> 'int',
192
+ :options=> ''}},
193
+ {:column=>{:field=> 'admrdept',
194
+ :data_type=>{:decimal=>{:precision=>{:total=>{:integer=> '3'}, :scale=>{:integer=> '1'}}}},
195
+ :options=>[{:column_option=> 'not null'}]}}
196
196
  ]}
197
197
  end
198
198
 
199
- it "parses with primary key" do
199
+ it 'parses with primary key' do
200
200
  sql = <<EOF
201
201
  CREATE TABLE TEST
202
202
  (ID INT,
203
203
  PRIMARY KEY (ID))
204
204
  EOF
205
- parser.create_table.parse(sql.downcase).should == {:operation=>"create table",
206
- :table_name=>"test",
205
+ parser.create_table.parse(sql.downcase).should == {:operation=> 'create table',
206
+ :table_name=> 'test',
207
207
  :elements=>[
208
- {:column => {:field=>"id", :data_type=>"int", :options=>""}},
209
- {:primary_key=>{:item=>"id"}}
208
+ {:column => {:field=> 'id', :data_type=> 'int', :options=> ''}},
209
+ {:primary_key=>{:item=> 'id'}}
210
210
  ]
211
211
  }
212
212
  end
213
213
 
214
214
  end
215
215
 
216
- context "full statements" do
216
+ context 'full statements' do
217
217
 
218
- it "parses Example 2" do
218
+ it 'parses Example 2' do
219
219
  sql = <<EOF
220
220
  CREATE TABLE PROJ
221
221
  (PROJNO CHAR(6) NOT NULL,
@@ -231,7 +231,7 @@ EOF
231
231
  expect(parser).to parse(sql.downcase)
232
232
  end
233
233
 
234
- it "parses Example 3" do
234
+ it 'parses Example 3' do
235
235
  sql = <<EOF
236
236
  CREATE TABLE EMPLOYEE_SALARY
237
237
  (DEPTNO CHAR(3) NOT NULL,
@@ -242,8 +242,8 @@ EOF
242
242
  expect(parser).to parse(sql.downcase)
243
243
  end
244
244
 
245
- it "parses Example 6" do
246
- pending "we do not support CHECK statements"
245
+ it 'parses Example 6' do
246
+ pending 'we do not support CHECK statements'
247
247
  sql = <<EOF
248
248
  CREATE TABLE EMPLOYEE
249
249
  (ID SMALLINT NOT NULL,
@@ -261,14 +261,13 @@ EOF
261
261
  EOF
262
262
  begin
263
263
  result = parser.parse(sql.downcase)
264
- rescue Parslet::ParseFailed => error
265
- puts error.cause.ascii_tree
264
+ # rescue Parslet::ParseFailed => error
265
+ # puts error.cause.ascii_tree
266
266
  end
267
- result.should == [{:operation=>"create table", :table_name=>"emp_act"}]
268
-
267
+ result.should == [{:operation=> 'create table', :table_name=> 'emp_act'}]
269
268
  end
270
269
 
271
- it "parses Example 11" do
270
+ it 'parses Example 11' do
272
271
  sql = <<EOF
273
272
  CREATE TABLE EMP_ACT
274
273
  (EMPNO CHAR(6) NOT NULL,
@@ -288,45 +287,45 @@ EOF
288
287
  rescue Parslet::ParseFailed => error
289
288
  puts error.cause.ascii_tree
290
289
  end
291
- result.should == {:operation=>"create table",
292
- :table_name=>"emp_act",
290
+ result.should == {:operation=> 'create table',
291
+ :table_name=> 'emp_act',
293
292
  :elements => [
294
293
  {:column=>
295
- {:field=>"empno",
296
- :data_type=>{:char=>{:length=>{:integer=>"6"}}},
297
- :options=>[{:column_option=>"not null"}]}},
294
+ {:field=> 'empno',
295
+ :data_type=>{:char=>{:length=>{:integer=> '6'}}},
296
+ :options=>[{:column_option=> 'not null'}]}},
298
297
  {:column=>
299
- {:field=>"projno",
300
- :data_type=>{:char=>{:length=>{:integer=>"6"}}},
301
- :options=>[{:column_option=>"not null"}]}},
298
+ {:field=> 'projno',
299
+ :data_type=>{:char=>{:length=>{:integer=> '6'}}},
300
+ :options=>[{:column_option=> 'not null'}]}},
302
301
  {:column=>
303
- {:field=>"actno",
304
- :data_type=>"smallint",
305
- :options=>[{:column_option=>"not null"}]}},
302
+ {:field=> 'actno',
303
+ :data_type=> 'smallint',
304
+ :options=>[{:column_option=> 'not null'}]}},
306
305
  {:column=>
307
- {:field=>"emptime",
306
+ {:field=> 'emptime',
308
307
  :data_type=>
309
308
  {:decimal=>
310
309
  {:precision=>
311
- {:total=>{:integer=>"5"}, :scale=>{:integer=>"2"}}}},
312
- :options=>""}},
313
- {:column=>{:field=>"emstdate", :data_type=>"date", :options=>""}},
314
- {:column=>{:field=>"emendate", :data_type=>"date", :options=>""}},
310
+ {:total=>{:integer=> '5'}, :scale=>{:integer=> '2'}}}},
311
+ :options=> ''}},
312
+ {:column=>{:field=> 'emstdate', :data_type=> 'date', :options=> ''}},
313
+ {:column=>{:field=> 'emendate', :data_type=> 'date', :options=> ''}},
315
314
  {:constraint=>
316
- {:column_name=>"emp_act_uniq",
317
- :constraint_type=>"unique",
315
+ {:column_name=> 'emp_act_uniq',
316
+ :constraint_type=> 'unique',
318
317
  :constraint_arglist=>
319
- [{:item=>"empno"}, {:item=>"projno"}, {:item=>"actno"}]}},
318
+ [{:item=> 'empno'}, {:item=> 'projno'}, {:item=> 'actno'}]}},
320
319
  {:constraint=>
321
- {:column_name=>"fk_act_proj",
322
- :constraint_type=>"foreign key",
323
- :constraint_arglist=>{:item=>"projno"},
324
- :reference_arglist=>{:item=>"projno"}}}
320
+ {:column_name=> 'fk_act_proj',
321
+ :constraint_type=> 'foreign key',
322
+ :constraint_arglist=>{:item=> 'projno'},
323
+ :reference_arglist=>{:item=> 'projno'}}}
325
324
  ]}
326
325
 
327
326
  end
328
327
 
329
- it "parses Example 12" do
328
+ it 'parses Example 12' do
330
329
  sql = <<EOF
331
330
  CREATE TABLE HOCKEY_GOALS
332
331
  ( BY_PLAYER VARCHAR(30) NOT NULL,
@@ -341,17 +340,17 @@ EOF
341
340
  rescue Parslet::ParseFailed => error
342
341
  puts error.cause.ascii_tree
343
342
  end
344
- result.should == {:operation=>"create table", :table_name=>"hockey_goals",
343
+ result.should == {:operation=> 'create table', :table_name=> 'hockey_goals',
345
344
  :elements => [
346
- {:column=>{:field=>"by_player", :data_type=>{:varchar=>{:length=>{:integer=>"30"}}}, :options=>[{:column_option=>"not null"}]}},
347
- {:column=>{:field=>"by_team", :data_type=>{:varchar=>{:length=>{:integer=>"30"}}}, :options=>[{:column_option=>"not null"}]}},
348
- {:column=>{:field=>"against_player", :data_type=>{:varchar=>{:length=>{:integer=>"30"}}}, :options=>[{:column_option=>"not null"}]}},
349
- {:column=>{:field=>"against_team", :data_type=>{:varchar=>{:length=>{:integer=>"30"}}}, :options=>[{:column_option=>"not null"}]}},
350
- {:column=>{:field=>"date_of_goal", :data_type=>"date", :options=>[{:column_option=>"not null"}]}},
351
- {:column=>{:field=>"description", :data_type=>{:clob=>{:length=>{:integer=>"5000"}}}, :options=>""}}]}
345
+ {:column=>{:field=> 'by_player', :data_type=>{:varchar=>{:length=>{:integer=> '30'}}}, :options=>[{:column_option=> 'not null'}]}},
346
+ {:column=>{:field=> 'by_team', :data_type=>{:varchar=>{:length=>{:integer=> '30'}}}, :options=>[{:column_option=> 'not null'}]}},
347
+ {:column=>{:field=> 'against_player', :data_type=>{:varchar=>{:length=>{:integer=> '30'}}}, :options=>[{:column_option=> 'not null'}]}},
348
+ {:column=>{:field=> 'against_team', :data_type=>{:varchar=>{:length=>{:integer=> '30'}}}, :options=>[{:column_option=> 'not null'}]}},
349
+ {:column=>{:field=> 'date_of_goal', :data_type=> 'date', :options=>[{:column_option=> 'not null'}]}},
350
+ {:column=>{:field=> 'description', :data_type=>{:clob=>{:length=>{:integer=> '5000'}}}, :options=> ''}}]}
352
351
  end
353
352
 
354
- it "parses Example 16" do
353
+ it 'parses Example 16' do
355
354
  sql = <<EOF
356
355
  CREATE TABLE DEPT
357
356
  (DEPTNO SMALLINT NOT NULL
@@ -369,31 +368,31 @@ EOF
369
368
  puts error.cause.ascii_tree
370
369
  end
371
370
 
372
- result.should == {:operation=>"create table",
373
- :table_name=>"dept",
371
+ result.should == {:operation=> 'create table',
372
+ :table_name=> 'dept',
374
373
  :elements => [
375
- {:column=>{:field=>"deptno",
376
- :data_type=>"smallint",
377
- :options=>[{:column_option=>"not null"},
378
- {:identity=>{:start_value=>{:integer=>"500"}, :increment_value=>{:integer=>"1"}}}]}},
379
- {:column=>{:field=>"deptname",
380
- :data_type=>{:varchar=>{:length=>{:integer=>"36"}}},
381
- :options=>[{:column_option=>"not null"}]}},
382
- {:column=>{:field=>"mgrno",
383
- :data_type=>{:char=>{:length=>{:integer=>"6"}}},
384
- :options=>""}},
385
- {:column=>{:field=>"admrdept",
386
- :data_type=>"smallint",
387
- :options=>[{:column_option=>"not null"}]}},
388
- {:column=>{:field=>"location",
389
- :data_type=>{:char=>{:length=>{:integer=>"30"}}},
390
- :options=>""}}]}
374
+ {:column=>{:field=> 'deptno',
375
+ :data_type=> 'smallint',
376
+ :options=>[{:column_option=> 'not null'},
377
+ {:identity=>{:start_value=>{:integer=> '500'}, :increment_value=>{:integer=> '1'}}}]}},
378
+ {:column=>{:field=> 'deptname',
379
+ :data_type=>{:varchar=>{:length=>{:integer=> '36'}}},
380
+ :options=>[{:column_option=> 'not null'}]}},
381
+ {:column=>{:field=> 'mgrno',
382
+ :data_type=>{:char=>{:length=>{:integer=> '6'}}},
383
+ :options=> ''}},
384
+ {:column=>{:field=> 'admrdept',
385
+ :data_type=> 'smallint',
386
+ :options=>[{:column_option=> 'not null'}]}},
387
+ {:column=>{:field=> 'location',
388
+ :data_type=>{:char=>{:length=>{:integer=> '30'}}},
389
+ :options=> ''}}]}
391
390
  end
392
391
 
393
392
  end
394
393
 
395
- context "real dsv examples" do
396
- it "parses Example 16" do
394
+ context 'real dsv examples' do
395
+ it 'parses Example 16' do
397
396
 
398
397
  sql = <<EOF
399
398
  Create table USER (USER_RW CHAR(4) NOT NULL,
@@ -418,8 +417,8 @@ EOF
418
417
  puts error.cause.ascii_tree
419
418
  end
420
419
 
421
- result[:operation].should == "create table"
422
- result[:table_name].should == "user"
420
+ result[:operation].should == 'create table'
421
+ result[:table_name].should == 'user'
423
422
  end
424
423
 
425
424