ddl_parser 0.0.5 → 0.0.6
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 +4 -4
- data/lib/ddl_parser/parser.rb +1 -1
- data/lib/ddl_parser/translator/create_index.rb +7 -3
- data/lib/ddl_parser/version.rb +1 -1
- data/spec/ddl_parser/parser_spec.rb +17 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 26f392271d3cbfa84aea5054dbb9443153254c72
|
|
4
|
+
data.tar.gz: 51fb85b30b4ddbefd547122f39b21d5a5827d1c6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d625d2c3a66f87b9a02c09fa5fa8193c48ea071814d97c971689a9ab5d40ac2900fdc2aea80e10fc89b0c0a6543424f2a30a9a578bdf19527d8023ae592a63f4
|
|
7
|
+
data.tar.gz: f3380a9731100e2214efb130c368e0a23fc76d640ec455d79d7afcbecf86998fb92b8bdaa0d31013a76180be9dd39085dd8ad407cb5252c32272c5a9f6bb0da1
|
data/lib/ddl_parser/parser.rb
CHANGED
|
@@ -44,7 +44,7 @@ class DDLParser::Parser
|
|
|
44
44
|
when :alter_table
|
|
45
45
|
DDLParser::Translator::AlterTable.new(parse_tree)
|
|
46
46
|
when :create_index
|
|
47
|
-
DDLParser::Translator::
|
|
47
|
+
DDLParser::Translator::CreateIndex.new(parse_tree)
|
|
48
48
|
else
|
|
49
49
|
raise "Unknown statement_type #{statement_type}"
|
|
50
50
|
end
|
|
@@ -10,11 +10,15 @@ class DDLParser::Translator::CreateIndex
|
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def table_name
|
|
13
|
-
@parse_tree[:table_name]
|
|
13
|
+
@parse_tree.first[:table_name].to_s
|
|
14
14
|
end
|
|
15
15
|
|
|
16
|
-
def
|
|
17
|
-
|
|
16
|
+
def index_name
|
|
17
|
+
@parse_tree.first[:index_name].to_s
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def fields
|
|
21
|
+
@parse_tree.select{|e|e.has_key?(:field)}.compact
|
|
18
22
|
end
|
|
19
23
|
|
|
20
24
|
def primary_key
|
data/lib/ddl_parser/version.rb
CHANGED
|
@@ -93,6 +93,23 @@ EOF
|
|
|
93
93
|
end
|
|
94
94
|
end
|
|
95
95
|
|
|
96
|
+
context 'create index translate' do
|
|
97
|
+
before :each do
|
|
98
|
+
sql = 'CREATE UNIQUE INDEX REPLAN_ADDR_1 ON REPLAN_ADDR (CONSIGNMENT ASCENDING, COLLI DESCENDING)'
|
|
99
|
+
@parser = DDLParser::Parser.new(sql)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
it 'table name' do
|
|
103
|
+
@parser.translate.table_name.should == 'replan_addr'
|
|
104
|
+
end
|
|
105
|
+
it 'index name' do
|
|
106
|
+
@parser.translate.index_name.should == 'replan_addr_1'
|
|
107
|
+
end
|
|
108
|
+
it 'columns' do
|
|
109
|
+
@parser.translate.fields.should == [{:field=>"consignment", :sort_id=>"ascending"}, {:field=>"colli", :sort_id=>"descending"}]
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
end
|
|
96
113
|
|
|
97
114
|
context 'report errors' do
|
|
98
115
|
it 'misses right parant' do
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ddl_parser
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rasmus Bergholdt
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-07-
|
|
11
|
+
date: 2014-07-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: parslet
|