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.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZjA0NzFmMDkxZDBlMDQxMTYyOWUyNjEyMWNlNGFmOTYyOWYwNzNhZg==
5
- data.tar.gz: !binary |-
6
- ZDYzYmJkNzc3YjQxNmM2MmFhNDExOWZmOTA2ZmQxOWJmZGZmMGE2Mw==
2
+ SHA1:
3
+ metadata.gz: 3ad6d742be71dfa2eeaf49b8ccf6bd97fae6d72a
4
+ data.tar.gz: ba19049f73204cabe3e133825554dad7d283a765
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- OGRmZDYzMTk3OWI4OTk2ZmIzZTU2YmYzZjg1ZjUxNDFjODZhODliYzc1ZDhk
10
- NGI0OWNlN2NhZmUwY2ZkNDJmYzhhMjEwNjcyYjYyZTk0ZWQ3MWVhZWJkMzU3
11
- YjUxZTdiZWIxNmM0ZGM3NzdhOTQ3ODhkOWM3ZTgzZjQ3MTgzNDU=
12
- data.tar.gz: !binary |-
13
- NWZkYWJiYmNmMjZjYjY5MDY1ZjYzODllOWVlYjA5YzVmMmVjNTA2N2Q1YzE4
14
- YTNjZWMzMmRmZTRkNTJjM2QzMmQ3Y2Y3NTc5MWVhYzAwOGEwODE3NTY1NjE0
15
- NzE1ZGNhMjY5ZjNhOGQ3ZmE2OTZlYWJjZjI3ZjYxOWU4NTM3ODg=
6
+ metadata.gz: a615faff1b2ce6b70b50c641ff256101022adb97c3684a2f971f73dbc9ddc72ea0d7e54fcefe752352d32b8db5bdd00890c9dd18b13b34ee30d00b74f31b55d9
7
+ data.tar.gz: 759ecd5b9dd0c77998918ba25bb015e148e108ecf9dd192cf67bd2d457b0f94b0a4f458ee7c0a24019c7a8e803e795369271b3836dc17c1038ce2729459b296a
data/Rakefile CHANGED
@@ -1 +1 @@
1
- require "bundler/gem_tasks"
1
+ require 'bundler/gem_tasks'
data/ddl_parser.gemspec CHANGED
@@ -4,23 +4,23 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'ddl_parser/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "ddl_parser"
7
+ spec.name = 'ddl_parser'
8
8
  spec.version = DDLParser::VERSION
9
- spec.authors = ["Rasmus Bergholdt"]
10
- spec.email = ["raber@eg.dk"]
9
+ spec.authors = ['Rasmus Bergholdt']
10
+ spec.email = ['rasmus.bergholdt@gmail.com']
11
11
  spec.description = %q{Parse SQL and DDL statements}
12
12
  spec.summary = %q{will parse statements and make it possible to extract content }
13
- spec.homepage = ""
14
- spec.license = "MIT"
13
+ spec.homepage = ''
14
+ spec.license = 'MIT'
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ["lib"]
19
+ spec.require_paths = ['lib']
20
20
 
21
- spec.add_dependency "parslet", "~> 1.5"
21
+ spec.add_dependency 'parslet', '~> 1.5'
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.3"
24
- spec.add_development_dependency "rake", "~> 10.1"
25
- spec.add_development_dependency "rspec", "~> 2.2"
23
+ spec.add_development_dependency 'bundler', '~> 1.3'
24
+ spec.add_development_dependency 'rake', '~> 10.1'
25
+ spec.add_development_dependency 'rspec', '= 2.14.1'
26
26
  end
@@ -8,30 +8,30 @@ module DDLParser
8
8
  include DDLParser::SharedRules::DataTypes
9
9
 
10
10
  # column options
11
- rule(:option_not_null) { str("not null") }
11
+ rule(:option_not_null) { str('not null') }
12
12
  rule(:column_option) { (option_not_null).as(:column_option) }
13
13
  #rule(:lob_options)
14
- rule(:primary_key) { (str("primary key") >> spaces >> references).as(:primary_key) }
15
- rule(:constraint) { (str("constraint") >> spaces >> identifier.as(:column_name) >> spaces >> (str("unique") | str("foreign key")).as(:constraint_type) >>
14
+ rule(:primary_key) { (str('primary key') >> spaces >> references).as(:primary_key) }
15
+ rule(:constraint) { (str('constraint') >> spaces >> identifier.as(:column_name) >> spaces >> (str('unique') | str('foreign key')).as(:constraint_type) >>
16
16
  spaces >> references.as(:constraint_arglist) >> spaces >> reference_clause.maybe).as(:constraint)}
17
17
  #rule(:unique)
18
18
  rule(:references) { lparen >> space? >> arglist >> space? >> rparen }
19
- rule(:reference_clause) { str("references") >> spaces >> identifier >> spaces >> references.as(:reference_arglist) >> (identifier >> spaces).repeat }
19
+ rule(:reference_clause) { str('references') >> spaces >> identifier >> spaces >> references.as(:reference_arglist) >> (identifier >> spaces).repeat }
20
20
  #rule(:check)
21
21
  #rule(:check_condition)
22
22
  #rule(:constraint_attr)
23
- rule(:gen_col_def) { str("generated always") | str("generated by default") }
23
+ rule(:gen_col_def) { str('generated always') | str('generated by default') }
24
24
  rule(:default_value) { const | current_timestamp | function }
25
25
  rule(:default_values) { (default_value >> space?).repeat }
26
- rule(:default_clause) { ((str("with") >> space?).maybe >> str("default") >> space? >> default_values).as(:default_clause) }
27
- rule(:identity_options) { (str("as identity") >> space? >> lparen >> str("start with") >> spaces >>
28
- integer.as(:start_value) >> (comma|space) >> spaces.maybe >>str("increment by") >> spaces >> integer.as(:increment_value)>> (spaces >> str("cache")>>spaces>>integer.as(:cache_value)).maybe >> spaces.maybe >>rparen).as(:identity) }
26
+ rule(:default_clause) { ((str('with') >> space?).maybe >> str('default') >> space? >> default_values).as(:default_clause) }
27
+ rule(:identity_options) { (str('as identity') >> space? >> lparen >> str('start with') >> spaces >>
28
+ integer.as(:start_value) >> (comma|space) >> spaces.maybe >>str('increment by') >> spaces >> integer.as(:increment_value)>> (spaces >> str('cache')>>spaces>>integer.as(:cache_value)).maybe >> spaces.maybe >>rparen).as(:identity) }
29
29
 
30
30
  rule(:column_options) { ((gen_col_def | column_option | default_clause | identity_options) >> spaces).repeat }
31
31
 
32
32
  rule(:column_name) { identifier }
33
33
  rule(:constraint_name) { identifier }
34
- rule(:column_sort) { str("ascending") | str("descending")}
34
+ rule(:column_sort) { str('ascending') | str('descending')}
35
35
 
36
36
  rule(:column_definition) { (column_name.as(:field) >> space.repeat >> data_type >> space.repeat >> (column_options.maybe).as(:options)).as(:column)}
37
37
 
@@ -45,25 +45,25 @@ module DDLParser
45
45
  (comma >> space? >> index_column_definition).repeat
46
46
  }
47
47
 
48
- rule(:add_constraint_clause) { (str("add constraint") >> space? >>
48
+ rule(:add_constraint_clause) { (str('add constraint') >> space? >>
49
49
  constraint_name.as(:constraint_name) >> space? >>
50
50
  foreign_key_clause.as(:foreign_key_clause)).as(:add_constraint)
51
51
  }
52
- rule(:foreign_key_clause) {str("foreign key") >> space? >> lparen >>
52
+ rule(:foreign_key_clause) {str('foreign key') >> space? >> lparen >>
53
53
  element_list_index.as(:member_fields) >> space? >> rparen >> space? >>
54
54
  reference_clause.as(:reference_clause) >> space? >>
55
55
  (on_delete_clause.as(:on_delete_clause) >> space?).maybe >>
56
56
  (on_update_clause >> space?).maybe
57
57
  }
58
- rule(:on_delete_clause) {str("on delete") >> space? >>
58
+ rule(:on_delete_clause) {str('on delete') >> space? >>
59
59
  (str('no action')|str('restrict')|str('cascade')|str('set null')).as(:on_delete_option) >> space?
60
60
  }
61
- rule(:on_update_clause) {str("on update") >> space? >>
61
+ rule(:on_update_clause) {str('on update') >> space? >>
62
62
  (str('no action')|str('restrict')).as(:on_update_option) >> space?
63
63
  }
64
64
 
65
65
  rule(:alter_table_add_column) do
66
- (str("add") >> space? >> (str("column") >> space? >> column_definition) | primary_key).as(:add)
66
+ (str('add') >> space? >> (str('column') >> space? >> column_definition) | primary_key).as(:add)
67
67
  end
68
68
 
69
69
  rule(:alter_table_element) { (alter_table_add_column | add_constraint_clause) >> spaces.maybe }
@@ -1,4 +1,4 @@
1
1
  module DB2
2
2
  end
3
3
 
4
- require "ddl_parser/ddl/db2/parser"
4
+ require 'ddl_parser/ddl/db2/parser'
@@ -1,4 +1,4 @@
1
1
  module DDLParser::DDL
2
2
  end
3
3
 
4
- require "ddl_parser/ddl/db2"
4
+ require 'ddl_parser/ddl/db2'
@@ -1,13 +1,13 @@
1
1
  class DDLParser::Parser
2
2
 
3
- attr_accessor :statement_type, :parse_tree, :statement
3
+ attr_accessor :statement_type, :parse_tree
4
4
 
5
5
  def initialize(statement)
6
- @statement = statement.squish.strip.downcase
6
+ @statement = statement.split.join(' ').downcase
7
7
  @parse_tree = nil
8
8
  @parse_error = nil
9
9
  begin
10
- case @statement
10
+ case @statement.strip
11
11
  when /\Acreate\stable.*/i
12
12
  @statement_type = :create_table
13
13
  @parse_tree = DDLParser::DDL::DB2::Parser.new.create_table.parse(@statement)
@@ -18,7 +18,7 @@ class DDLParser::Parser
18
18
  @statement_type = :create_index
19
19
  @parse_tree = DDLParser::DDL::DB2::Parser.new.create_index.parse(@statement)
20
20
  else
21
- raise "Unknown DDL statement"
21
+ raise 'Unknown DDL statement'
22
22
  end
23
23
  rescue Parslet::ParseFailed => error
24
24
  @parse_error = error
@@ -36,11 +36,13 @@ class DDLParser::Parser
36
36
  def translate
37
37
  case statement_type
38
38
  when :create_table
39
- DDLParser::Translater::CreateTable.new(parse_tree)
39
+ DDLParser::Translator::CreateTable.new(parse_tree)
40
40
  when :alter_table
41
- DDLParser::Translater::AlterTable.new(parse_tree)
41
+ DDLParser::Translator::AlterTable.new(parse_tree)
42
42
  when :create_index
43
- DDLParser::Translater::Createindex.new(parse_tree)
43
+ DDLParser::Translator::Createindex.new(parse_tree)
44
+ else
45
+ raise "Unknown statement_type #{statement_type}"
44
46
  end
45
47
  end
46
48
 
@@ -3,27 +3,27 @@ module DDLParser
3
3
  module Constants
4
4
  include Parslet
5
5
 
6
- rule(:digit) { match["0-9"] }
7
- rule(:integer) { (str("-").maybe >> digit.repeat(1)).as(:integer) }
8
- rule(:float) { (str("-").maybe >> digit.repeat(1) >> str(".") >> digit.repeat(1)).as(:float) }
6
+ rule(:digit) { match['0-9'] }
7
+ rule(:integer) { (str('-').maybe >> digit.repeat(1)).as(:integer) }
8
+ rule(:float) { (str('-').maybe >> digit.repeat(1) >> str('.') >> digit.repeat(1)).as(:float) }
9
9
 
10
10
  rule(:space) { match('\s').repeat(1) }
11
11
  rule(:space?) { space.maybe }
12
12
  rule(:newline) { str("\n") }
13
13
  rule(:spaces) { (space | (comment? >> newline)).repeat }
14
- rule(:comment?) { (str("--") >> (newline.absent? >> any).repeat).maybe }
14
+ rule(:comment?) { (str('--') >> (newline.absent? >> any).repeat).maybe }
15
15
 
16
16
  rule(:comma) { str(',') >> space? }
17
17
  rule(:lparen) { str('(') >> space? }
18
18
  rule(:rparen) { str(')') >> space? }
19
19
 
20
- rule(:boolean) { (str("true") | str("false")).as(:boolean) }
21
- rule(:datetime) { (digit.repeat(4) >> str("-") >>
22
- digit.repeat(2) >> str("-") >>
23
- digit.repeat(2) >> str("T") >>
24
- digit.repeat(2) >> str(":") >>
25
- digit.repeat(2) >> str(":") >>
26
- digit.repeat(2) >> str("Z")).as(:datetime) }
20
+ rule(:boolean) { (str('true') | str('false')).as(:boolean) }
21
+ rule(:datetime) { (digit.repeat(4) >> str('-') >>
22
+ digit.repeat(2) >> str('-') >>
23
+ digit.repeat(2) >> str('T') >>
24
+ digit.repeat(2) >> str(':') >>
25
+ digit.repeat(2) >> str(':') >>
26
+ digit.repeat(2) >> str('Z')).as(:datetime) }
27
27
 
28
28
 
29
29
  rule(:string) {
@@ -40,7 +40,7 @@ module DDLParser
40
40
  }
41
41
 
42
42
  rule(:identifier) { match('\\w').repeat(1) }
43
- rule(:current_timestamp) { str("current timestamp") }
43
+ rule(:current_timestamp) { str('current timestamp') }
44
44
 
45
45
  end
46
46
  end
@@ -5,20 +5,20 @@ module DDLParser
5
5
  include DDLParser::SharedRules::Constants
6
6
 
7
7
  # Build-in data types
8
- rule(:type_smallint) {str("smallint")}
9
- rule(:type_integer) {(str("integer")| str("int"))}
10
- rule(:type_bigint) {str("bigint").as(:bigint)}
11
- rule(:type_decimal) {(((str("decimal") | str('dec') | str('numeric') | str('num')) >>
8
+ rule(:type_smallint) {str('smallint')}
9
+ rule(:type_integer) {(str('integer')| str('int'))}
10
+ rule(:type_bigint) {str('bigint').as(:bigint)}
11
+ rule(:type_decimal) {(((str('decimal') | str('dec') | str('numeric') | str('num')) >>
12
12
  (lparen >> integer.as(:total) >> comma >> integer.as(:scale) >> rparen).as(:precision))).as(:decimal)}
13
- rule(:type_float) {(str("float") >> (lparen >> integer >> rparen).as(:precision)).as(:float)}
14
- rule(:type_real) {str("real")}
15
- rule(:type_double) {str("double")}
16
- rule(:type_char) {((str("character") | str("char")) >> (lparen >> integer >> rparen).as(:length)).as(:char)}
17
- rule(:type_varchar) {(str("varchar") >> (lparen >> integer >> rparen).as(:length)).as(:varchar)}
18
- rule(:type_clob) {(str("clob") >> (lparen >> integer >> rparen).as(:length)).as(:clob)}
19
- rule(:type_date) {str("date")}
20
- rule(:type_timestamp) {str("timestamp")}
21
- rule(:type_time) {type_timestamp.absent? >> str("time")}
13
+ rule(:type_float) {(str('float') >> (lparen >> integer >> rparen).as(:precision)).as(:float)}
14
+ rule(:type_real) {str('real')}
15
+ rule(:type_double) {str('double')}
16
+ rule(:type_char) {((str('character') | str('char')) >> (lparen >> integer >> rparen).as(:length)).as(:char)}
17
+ rule(:type_varchar) {(str('varchar') >> (lparen >> integer >> rparen).as(:length)).as(:varchar)}
18
+ rule(:type_clob) {(str('clob') >> (lparen >> integer >> rparen).as(:length)).as(:clob)}
19
+ rule(:type_date) {str('date')}
20
+ rule(:type_timestamp) {str('timestamp')}
21
+ rule(:type_time) {type_timestamp.absent? >> str('time')}
22
22
 
23
23
 
24
24
  rule(:data_type) { (type_smallint | type_integer | type_bigint | type_decimal | type_float | type_real |
@@ -1,6 +1,6 @@
1
1
  module DDLParser::SharedRules
2
2
  end
3
3
 
4
- require "ddl_parser/shared_rules/constants"
5
- require "ddl_parser/shared_rules/data_types"
6
- require "ddl_parser/shared_rules/logical_operators"
4
+ require 'ddl_parser/shared_rules/constants'
5
+ require 'ddl_parser/shared_rules/data_types'
6
+ require 'ddl_parser/shared_rules/logical_operators'
@@ -1,4 +1,4 @@
1
1
  module DB2
2
2
  end
3
3
 
4
- require "ddl_parser/sql/db2/select_parser"
4
+ require 'ddl_parser/sql/db2/select_parser'
@@ -1,4 +1,4 @@
1
1
  module DDLParser::SQL
2
2
  end
3
3
 
4
- require "ddl_parser/sql/db2"
4
+ require 'ddl_parser/sql/db2'
@@ -1,4 +1,4 @@
1
- class DDLParser::Translater::AlterTable
1
+ class DDLParser::Translator::AlterTable
2
2
 
3
3
  attr_accessor :parse_tree
4
4
  def initialize(parse_tree)
@@ -1,4 +1,4 @@
1
- class DDLParser::Translater::CreateIndex
1
+ class DDLParser::Translator::CreateIndex
2
2
 
3
3
  attr_accessor :parse_tree
4
4
  def initialize(parse_tree)
@@ -1,4 +1,4 @@
1
- class DDLParser::Translater::CreateTable
1
+ class DDLParser::Translator::CreateTable
2
2
  attr_accessor :parse_tree
3
3
  def initialize(parse_tree)
4
4
  @parse_tree=parse_tree
@@ -0,0 +1,6 @@
1
+ module DDLParser::Translator
2
+ end
3
+
4
+ require 'ddl_parser/translator/create_table'
5
+ require 'ddl_parser/translator/alter_table'
6
+ require 'ddl_parser/translator/create_index'
@@ -1,3 +1,3 @@
1
1
  module DDLParser
2
- VERSION = "0.0.3"
2
+ VERSION = '0.0.4'
3
3
  end
data/lib/ddl_parser.rb CHANGED
@@ -1,16 +1,16 @@
1
- require "parslet"
2
- require "time"
3
- require "parslet_extentions"
4
- require "ddl_parser/version"
1
+ require 'parslet'
2
+ require 'time'
3
+ require 'parslet_extentions'
4
+ require 'ddl_parser/version'
5
5
 
6
6
  module DDLParser
7
7
  Error = Class.new StandardError
8
8
  ParseError = Class.new Error
9
9
  end
10
10
 
11
- require "ddl_parser/shared_rules"
12
- require "ddl_parser/sql"
13
- require "ddl_parser/ddl"
14
- require "ddl_parser/parser"
15
- require "ddl_parser/translater"
11
+ require 'ddl_parser/shared_rules'
12
+ require 'ddl_parser/sql'
13
+ require 'ddl_parser/ddl'
14
+ require 'ddl_parser/parser'
15
+ require 'ddl_parser/translator'
16
16
 
@@ -1,9 +1,9 @@
1
- require "spec_helper"
1
+ require_relative '../../../../spec/spec_helper'
2
2
 
3
3
  describe 'Alter table parsing' do
4
4
  let(:parser) { DDLParser::DDL::DB2::Parser.new }
5
- context "alter table" do
6
- it "parses alter_table add column" do
5
+ context 'alter table' do
6
+ it 'parses alter_table add column' do
7
7
  sql = <<EOF
8
8
  ALTER TABLE BUDGET
9
9
  ADD COLUMN BUDGET_AMOUNT_IN_CO DECIMAL(15,2) NOT NULL DEFAULT 0
@@ -18,11 +18,11 @@ EOF
18
18
  #puts result.inspect
19
19
  result.count.should == 3
20
20
  result.should include(:operation, :table_name)
21
- result.should include(:operation => "alter table")
21
+ result.should include(:operation => 'alter table')
22
22
  result[:elements].first[:add][:column].should include(:field, :data_type)
23
23
  end
24
24
 
25
- it "parses alter_table foreign key constraint without on" do
25
+ it 'parses alter_table foreign key constraint without on' do
26
26
  sql = <<EOF
27
27
  ALTER TABLE REPLAN_ADDR
28
28
  ADD CONSTRAINT REPLAN_ADDR_FK
@@ -40,11 +40,11 @@ EOF
40
40
  end
41
41
 
42
42
  #puts result.inspect #.count.should == 3
43
- result.should include({:operation => "alter table" , :table_name=>"replan_addr"})
44
- result[:elements].first[:add_constraint].should include({:constraint_name=>"replan_addr_fk"})
43
+ result.should include({:operation => 'alter table', :table_name=> 'replan_addr'})
44
+ result[:elements].first[:add_constraint].should include({:constraint_name=> 'replan_addr_fk'})
45
45
  end
46
46
 
47
- it "parses foreign key clause" do
47
+ it 'parses foreign key clause' do
48
48
  sql = <<EOF
49
49
  FOREIGN KEY
50
50
  (CONSIGNMENT,
@@ -64,12 +64,12 @@ EOF
64
64
  #puts result.inspect
65
65
  result.count.should == 2
66
66
  result.should include(:reference_clause)
67
- result[:member_fields][0][:field].should == "consignment"
68
- result[:member_fields][1][:field].should == "event"
69
- result[:reference_clause][:reference_arglist][0][:item].should == "consignment"
70
- result[:reference_clause][:reference_arglist][1][:item].should == "event"
67
+ result[:member_fields][0][:field].should == 'consignment'
68
+ result[:member_fields][1][:field].should == 'event'
69
+ result[:reference_clause][:reference_arglist][0][:item].should == 'consignment'
70
+ result[:reference_clause][:reference_arglist][1][:item].should == 'event'
71
71
  end
72
- it "parses reference_clause" do
72
+ it 'parses reference_clause' do
73
73
  sql = <<EOF
74
74
  REFERENCES REPLAN_MAIN
75
75
  (CONSIGNMENT,
@@ -84,10 +84,10 @@ EOF
84
84
 
85
85
  #puts result.inspect
86
86
  result.should include(:reference_arglist)
87
- result[:reference_arglist][0][:item].should == "consignment"
88
- result[:reference_arglist][1][:item].should == "event"
87
+ result[:reference_arglist][0][:item].should == 'consignment'
88
+ result[:reference_arglist][1][:item].should == 'event'
89
89
  end
90
- it "parses on_delete_clause" do
90
+ it 'parses on_delete_clause' do
91
91
  sql = <<EOF
92
92
  ON DELETE RESTRICT
93
93
  EOF
@@ -101,7 +101,7 @@ EOF
101
101
  result.should include(:on_delete_option => 'restrict')
102
102
  end
103
103
 
104
- it "parses on_update_clause" do
104
+ it 'parses on_update_clause' do
105
105
  sql = <<EOF
106
106
  ON UPDATE NO ACTION
107
107
  EOF
@@ -116,7 +116,7 @@ EOF
116
116
  end
117
117
 
118
118
 
119
- it "parses complete alter_table" do
119
+ it 'parses complete alter_table' do
120
120
  sql = <<EOF
121
121
  ALTER TABLE REPLAN_ADDR
122
122
  ADD CONSTRAINT REPLAN_ADDR_FK
@@ -137,8 +137,8 @@ EOF
137
137
 
138
138
  #puts result.inspect
139
139
  result.should include(:operation, :table_name)
140
- result.should include(:operation => "alter table")
141
- result.should include(:table_name => "replan_addr")
140
+ result.should include(:operation => 'alter table')
141
+ result.should include(:table_name => 'replan_addr')
142
142
  result[:elements].first.should include(:add_constraint)
143
143
  result[:elements].first[:add_constraint].should include(:constraint_name => 'replan_addr_fk')
144
144
  result[:elements].first[:add_constraint].should include(:foreign_key_clause)
@@ -1,8 +1,8 @@
1
- require "spec_helper"
1
+ require_relative '../../../../spec/spec_helper'
2
2
 
3
3
  describe 'Create index parsing' do
4
4
  let(:parser) { DDLParser::DDL::DB2::Parser.new }
5
- it "parses create_unique_index" do
5
+ it 'parses create_unique_index' do
6
6
  sql = <<EOF
7
7
  CREATE UNIQUE INDEX REPLAN_ADDR_1 ON REPLAN_ADDR
8
8
  (CONSIGNMENT ASCENDING, COLLI DESCENDING )
@@ -15,9 +15,9 @@ EOF
15
15
 
16
16
  result.count.should == 3
17
17
  result[0].should include(:operation, :object_property, :object_type, :index_name)
18
- result[0].should include(:operation => "create")
19
- result[0].should include(:object_property => "unique")
20
- result[0].should include(:object_type => "index")
18
+ result[0].should include(:operation => 'create')
19
+ result[0].should include(:object_property => 'unique')
20
+ result[0].should include(:object_type => 'index')
21
21
  result[1].should include(:field)
22
22
  result[1].should include(:sort_id)
23
23
  result[2].should include(:field)