module OracleSqlParser::Grammar::Select::RowLimit
Public Instance Methods
_nt_fetch()
click to toggle source
# File lib/oracle-sql-parser/grammar/select/row_limit.rb, line 235 def _nt_fetch start_index = index if node_cache[:fetch].has_key?(index) cached = node_cache[:fetch][index] if cached node_cache[:fetch][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end i0, s0 = index, [] r1 = _nt_fetch_keyword s0 << r1 if r1 r2 = _nt_space s0 << r2 if r2 i3 = index r4 = _nt_first_keyword if r4 r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true r3 = r4 else r5 = _nt_next_keyword if r5 r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true r3 = r5 else @index = i3 r3 = nil end end s0 << r3 if r3 r6 = _nt_space s0 << r6 if r6 i7 = index i8, s8 = index, [] r9 = _nt_integer s8 << r9 if s8.last r8 = instantiate_node(SyntaxNode,input, i8...index, s8) r8.extend(Fetch0) else @index = i8 r8 = nil end if r8 r8 = SyntaxNode.new(input, (index-1)...index) if r8 == true r7 = r8 else i10, s10 = index, [] r11 = _nt_integer s10 << r11 if r11 r12 = _nt_percentage_keyword s10 << r12 end if s10.last r10 = instantiate_node(SyntaxNode,input, i10...index, s10) r10.extend(Fetch1) else @index = i10 r10 = nil end if r10 r10 = SyntaxNode.new(input, (index-1)...index) if r10 == true r7 = r10 else @index = i7 r7 = nil end end s0 << r7 if r7 r13 = _nt_space s0 << r13 if r13 i14 = index r15 = _nt_row_keyword if r15 r15 = SyntaxNode.new(input, (index-1)...index) if r15 == true r14 = r15 else r16 = _nt_rows_keyword if r16 r16 = SyntaxNode.new(input, (index-1)...index) if r16 == true r14 = r16 else @index = i14 r14 = nil end end s0 << r14 if r14 r17 = _nt_space s0 << r17 if r17 i18 = index i19, s19 = index, [] r20 = _nt_only_keyword s19 << r20 if s19.last r19 = instantiate_node(SyntaxNode,input, i19...index, s19) r19.extend(Fetch2) else @index = i19 r19 = nil end if r19 r19 = SyntaxNode.new(input, (index-1)...index) if r19 == true r18 = r19 else i21, s21 = index, [] r22 = _nt_with_keyword s21 << r22 if r22 r23 = _nt_space s21 << r23 if r23 r24 = _nt_ties_keyword s21 << r24 end end if s21.last r21 = instantiate_node(SyntaxNode,input, i21...index, s21) r21.extend(Fetch3) else @index = i21 r21 = nil end if r21 r21 = SyntaxNode.new(input, (index-1)...index) if r21 == true r18 = r21 else @index = i18 r18 = nil end end s0 << r18 end end end end end end end end if s0.last r0 = instantiate_node(SyntaxNode,input, i0...index, s0) r0.extend(Fetch4) r0.extend(Fetch5) else @index = i0 r0 = nil end node_cache[:fetch][start_index] = r0 r0 end
_nt_offset()
click to toggle source
# File lib/oracle-sql-parser/grammar/select/row_limit.rb, line 87 def _nt_offset start_index = index if node_cache[:offset].has_key?(index) cached = node_cache[:offset][index] if cached node_cache[:offset][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end i0, s0 = index, [] r1 = _nt_offset_keyword s0 << r1 if r1 r2 = _nt_space s0 << r2 if r2 r3 = _nt_number_literal s0 << r3 if r3 r4 = _nt_space s0 << r4 if r4 i5 = index r6 = _nt_row_keyword if r6 r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true r5 = r6 else r7 = _nt_rows_keyword if r7 r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true r5 = r7 else @index = i5 r5 = nil end end s0 << r5 end end end end if s0.last r0 = instantiate_node(SyntaxNode,input, i0...index, s0) r0.extend(Offset0) r0.extend(Offset1) else @index = i0 r0 = nil end node_cache[:offset][start_index] = r0 r0 end
_nt_row_limiting_clause()
click to toggle source
# File lib/oracle-sql-parser/grammar/select/row_limit.rb, line 26 def _nt_row_limiting_clause start_index = index if node_cache[:row_limiting_clause].has_key?(index) cached = node_cache[:row_limiting_clause][index] if cached node_cache[:row_limiting_clause][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached end i0, s0 = index, [] r1 = _nt_fetch s0 << r1 if s0.last r0 = instantiate_node(SyntaxNode,input, i0...index, s0) r0.extend(RowLimitingClause0) r0.extend(RowLimitingClause1) else @index = i0 r0 = nil end node_cache[:row_limiting_clause][start_index] = r0 r0 end
root()
click to toggle source
# File lib/oracle-sql-parser/grammar/select/row_limit.rb, line 8 def root @root ||= :row_limiting_clause end