ddl_parser 0.0.3 → 0.0.4

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