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.
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)