module OracleSqlParser::Grammar::Select::QueryBlock
Public Instance Methods
_nt_model_clause()
click to toggle source
# File lib/oracle-sql-parser/grammar/select/query_block.rb, line 929 def _nt_model_clause start_index = index if node_cache[:model_clause].has_key?(index) cached = node_cache[:model_clause][index] if cached node_cache[:model_clause][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end if (match_len = has_terminal?('model_clause', false, index)) r0 = instantiate_node(SyntaxNode,input, index...(index + match_len)) r0.extend(ModelClause0) @index += match_len else terminal_parse_failure('\'model_clause\'') r0 = nil end node_cache[:model_clause][start_index] = r0 r0 end
_nt_query_block()
click to toggle source
# File lib/oracle-sql-parser/grammar/select/query_block.rb, line 131 def _nt_query_block start_index = index if node_cache[:query_block].has_key?(index) cached = node_cache[:query_block][index] if cached node_cache[:query_block][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end i0, s0 = index, [] i2, s2 = index, [] r3 = _nt_subquery_factoring_clause s2 << r3 if r3 r4 = _nt_space s2 << r4 end if s2.last r2 = instantiate_node(SyntaxNode,input, i2...index, s2) r2.extend(QueryBlock0) else @index = i2 r2 = nil end if r2 r1 = r2 else r1 = instantiate_node(SyntaxNode,input, index...index) end s0 << r1 if r1 r5 = _nt_select_keyword s0 << r5 if r5 r6 = _nt_space s0 << r6 if r6 r8 = _nt_hint if r8 r7 = r8 else r7 = instantiate_node(SyntaxNode,input, index...index) end s0 << r7 if r7 i10, s10 = index, [] i11 = index r12 = _nt_all_keyword if r12 r12 = SyntaxNode.new(input, (index-1)...index) if r12 == true r11 = r12 else r13 = _nt_distinct_keyword if r13 r13 = SyntaxNode.new(input, (index-1)...index) if r13 == true r11 = r13 else r14 = _nt_unique_keyword if r14 r14 = SyntaxNode.new(input, (index-1)...index) if r14 == true r11 = r14 else @index = i11 r11 = nil end end end s10 << r11 if r11 r15 = _nt_space s10 << r15 end if s10.last r10 = instantiate_node(SyntaxNode,input, i10...index, s10) r10.extend(QueryBlock1) else @index = i10 r10 = nil end if r10 r9 = r10 else r9 = instantiate_node(SyntaxNode,input, index...index) end s0 << r9 if r9 r16 = _nt_select_list s0 << r16 if r16 r17 = _nt_space s0 << r17 if r17 r18 = _nt_from_keyword s0 << r18 if r18 i20, s20 = index, [] r21 = _nt_space s20 << r21 if r21 r22 = _nt_select_sources s20 << r22 end if s20.last r20 = instantiate_node(SyntaxNode,input, i20...index, s20) r20.extend(QueryBlock2) else @index = i20 r20 = nil end if r20 r19 = r20 else r19 = instantiate_node(SyntaxNode,input, index...index) end s0 << r19 if r19 i24, s24 = index, [] r25 = _nt_space s24 << r25 if r25 r26 = _nt_where_clause s24 << r26 end if s24.last r24 = instantiate_node(SyntaxNode,input, i24...index, s24) r24.extend(QueryBlock3) else @index = i24 r24 = nil end if r24 r23 = r24 else r23 = instantiate_node(SyntaxNode,input, index...index) end s0 << r23 if r23 i28, s28 = index, [] r29 = _nt_space s28 << r29 if r29 r30 = _nt_group_by_clause s28 << r30 end if s28.last r28 = instantiate_node(SyntaxNode,input, i28...index, s28) r28.extend(QueryBlock4) else @index = i28 r28 = nil end if r28 r27 = r28 else r27 = instantiate_node(SyntaxNode,input, index...index) end s0 << r27 if r27 i32, s32 = index, [] r33 = _nt_space s32 << r33 if r33 r34 = _nt_model_clause s32 << r34 end if s32.last r32 = instantiate_node(SyntaxNode,input, i32...index, s32) r32.extend(QueryBlock5) else @index = i32 r32 = nil end if r32 r31 = r32 else r31 = instantiate_node(SyntaxNode,input, index...index) end s0 << r31 end end end end end end end end end end end if s0.last r0 = instantiate_node(SyntaxNode,input, i0...index, s0) r0.extend(QueryBlock6) r0.extend(QueryBlock7) else @index = i0 r0 = nil end node_cache[:query_block][start_index] = r0 r0 end
_nt_select_column()
click to toggle source
# File lib/oracle-sql-parser/grammar/select/query_block.rb, line 851 def _nt_select_column start_index = index if node_cache[:select_column].has_key?(index) cached = node_cache[:select_column][index] if cached node_cache[:select_column][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end i0, s0 = index, [] r1 = _nt_expr s0 << r1 if r1 i3, s3 = index, [] r4 = _nt_space s3 << r4 if r4 i6, s6 = index, [] r7 = _nt_as_keyword s6 << r7 if r7 r8 = _nt_space s6 << r8 end if s6.last r6 = instantiate_node(SyntaxNode,input, i6...index, s6) r6.extend(SelectColumn0) else @index = i6 r6 = nil end if r6 r5 = r6 else r5 = instantiate_node(SyntaxNode,input, index...index) end s3 << r5 if r5 r9 = _nt_c_alias s3 << r9 end end if s3.last r3 = instantiate_node(SyntaxNode,input, i3...index, s3) r3.extend(SelectColumn1) else @index = i3 r3 = nil end if r3 r2 = r3 else r2 = instantiate_node(SyntaxNode,input, index...index) end s0 << r2 end if s0.last r0 = instantiate_node(SyntaxNode,input, i0...index, s0) r0.extend(SelectColumn2) r0.extend(SelectColumn3) else @index = i0 r0 = nil end node_cache[:select_column][start_index] = r0 r0 end
_nt_select_list()
click to toggle source
# File lib/oracle-sql-parser/grammar/select/query_block.rb, line 611 def _nt_select_list start_index = index if node_cache[:select_list].has_key?(index) cached = node_cache[:select_list][index] if cached node_cache[:select_list][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end i0, s0 = index, [] r1 = _nt_select_one s0 << r1 if r1 s2, i2 = [], index loop do i3, s3 = index, [] r5 = _nt_space if r5 r4 = r5 else r4 = instantiate_node(SyntaxNode,input, index...index) end s3 << r4 if r4 if (match_len = has_terminal?(',', false, index)) r6 = true @index += match_len else terminal_parse_failure('\',\'') r6 = nil end s3 << r6 if r6 r8 = _nt_space if r8 r7 = r8 else r7 = instantiate_node(SyntaxNode,input, index...index) end s3 << r7 if r7 r9 = _nt_select_one s3 << r9 end end end if s3.last r3 = instantiate_node(SyntaxNode,input, i3...index, s3) r3.extend(SelectList0) else @index = i3 r3 = nil end if r3 s2 << r3 else break end end r2 = instantiate_node(SyntaxNode,input, i2...index, s2) s0 << r2 end if s0.last r0 = instantiate_node(SyntaxNode,input, i0...index, s0) r0.extend(SelectList1) r0.extend(SelectList2) else @index = i0 r0 = nil end node_cache[:select_list][start_index] = r0 r0 end
_nt_select_one()
click to toggle source
# File lib/oracle-sql-parser/grammar/select/query_block.rb, line 695 def _nt_select_one start_index = index if node_cache[:select_one].has_key?(index) cached = node_cache[:select_one][index] if cached node_cache[:select_one][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end i0 = index r1 = _nt_select_table if r1 r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true r0 = r1 else r2 = _nt_select_column r2.extend(SelectOne0) r2.extend(SelectOne0) if r2 r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true r0 = r2 else @index = i0 r0 = nil end end node_cache[:select_one][start_index] = r0 r0 end
_nt_select_source()
click to toggle source
# File lib/oracle-sql-parser/grammar/select/query_block.rb, line 460 def _nt_select_source start_index = index if node_cache[:select_source].has_key?(index) cached = node_cache[:select_source][index] if cached node_cache[:select_source][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end i0 = index r1 = _nt_join_clause if r1 r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true r0 = r1 else i2, s2 = index, [] if (match_len = has_terminal?('(', false, index)) r3 = true @index += match_len else terminal_parse_failure('\'(\'') r3 = nil end s2 << r3 if r3 r5 = _nt_space if r5 r4 = r5 else r4 = instantiate_node(SyntaxNode,input, index...index) end s2 << r4 if r4 r6 = _nt_join_clause s2 << r6 if r6 r8 = _nt_space if r8 r7 = r8 else r7 = instantiate_node(SyntaxNode,input, index...index) end s2 << r7 if r7 if (match_len = has_terminal?(')', false, index)) r9 = true @index += match_len else terminal_parse_failure('\')\'') r9 = nil end s2 << r9 end end end end if s2.last r2 = instantiate_node(SyntaxNode,input, i2...index, s2) r2.extend(SelectSource0) else @index = i2 r2 = nil end if r2 r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true r0 = r2 else r10 = _nt_table_reference if r10 r10 = SyntaxNode.new(input, (index-1)...index) if r10 == true r0 = r10 else r11 = _nt_subquery r11.extend(SelectSource1) r11.extend(SelectSource1) if r11 r11 = SyntaxNode.new(input, (index-1)...index) if r11 == true r0 = r11 else @index = i0 r0 = nil end end end end node_cache[:select_source][start_index] = r0 r0 end
_nt_select_sources()
click to toggle source
# File lib/oracle-sql-parser/grammar/select/query_block.rb, line 365 def _nt_select_sources start_index = index if node_cache[:select_sources].has_key?(index) cached = node_cache[:select_sources][index] if cached node_cache[:select_sources][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end i0, s0 = index, [] r1 = _nt_select_source s0 << r1 if r1 s2, i2 = [], index loop do i3, s3 = index, [] r5 = _nt_space if r5 r4 = r5 else r4 = instantiate_node(SyntaxNode,input, index...index) end s3 << r4 if r4 if (match_len = has_terminal?(',', false, index)) r6 = true @index += match_len else terminal_parse_failure('\',\'') r6 = nil end s3 << r6 if r6 r8 = _nt_space if r8 r7 = r8 else r7 = instantiate_node(SyntaxNode,input, index...index) end s3 << r7 if r7 r9 = _nt_select_source s3 << r9 end end end if s3.last r3 = instantiate_node(SyntaxNode,input, i3...index, s3) r3.extend(SelectSources0) else @index = i3 r3 = nil end if r3 s2 << r3 else break end end r2 = instantiate_node(SyntaxNode,input, i2...index, s2) s0 << r2 end if s0.last r0 = instantiate_node(SyntaxNode,input, i0...index, s0) r0.extend(SelectSources1) r0.extend(SelectSources2) else @index = i0 r0 = nil end node_cache[:select_sources][start_index] = r0 r0 end
_nt_select_table()
click to toggle source
# File lib/oracle-sql-parser/grammar/select/query_block.rb, line 745 def _nt_select_table start_index = index if node_cache[:select_table].has_key?(index) cached = node_cache[:select_table][index] if cached node_cache[:select_table][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end i0, s0 = index, [] i2, s2 = index, [] r3 = _nt_table_name s2 << r3 if r3 if (match_len = has_terminal?('.', false, index)) r4 = true @index += match_len else terminal_parse_failure('\'.\'') r4 = nil end s2 << r4 end if s2.last r2 = instantiate_node(SyntaxNode,input, i2...index, s2) r2.extend(SelectTable0) else @index = i2 r2 = nil end if r2 r1 = r2 else r1 = instantiate_node(SyntaxNode,input, index...index) end s0 << r1 if r1 if (match_len = has_terminal?('*', false, index)) r5 = true @index += match_len else terminal_parse_failure('\'*\'') r5 = nil end s0 << r5 end if s0.last r0 = instantiate_node(SyntaxNode,input, i0...index, s0) r0.extend(SelectTable1) r0.extend(SelectTable2) else @index = i0 r0 = nil end node_cache[:select_table][start_index] = r0 r0 end
_nt_subquery_factoring_clause()
click to toggle source
# File lib/oracle-sql-parser/grammar/select/query_block.rb, line 560 def _nt_subquery_factoring_clause start_index = index if node_cache[:subquery_factoring_clause].has_key?(index) cached = node_cache[:subquery_factoring_clause][index] if cached node_cache[:subquery_factoring_clause][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end if (match_len = has_terminal?('subquery_factoring_clause', false, index)) r0 = instantiate_node(SyntaxNode,input, index...(index + match_len)) r0.extend(SubqueryFactoringClause0) @index += match_len else terminal_parse_failure('\'subquery_factoring_clause\'') r0 = nil end node_cache[:subquery_factoring_clause][start_index] = r0 r0 end
root()
click to toggle source
# File lib/oracle-sql-parser/grammar/select/query_block.rb, line 8 def root @root ||= :query_block end