Beta Shell
v2.0 ยท web2.us.cloudlogin.co
[FM]
[CMD]
[PHP]
[DB]
[INFO]
[SEC]
File Manager
~
/
usr
/
share
/
perl5
/
vendor_perl
/
SQL
/
Translator
/
Parser
/
DB2
Upload
3 items
Name
Size
Perms
Modified
Actions
[ .. / .. ]
Grammar.pm
2.37 MB
-rw-r--r--
2020-02-25 18:11:13
Edit
Del
Editing: Grammar.pm
(2.37 MB)
Path: /usr/share/perl5/vendor_perl/SQL/Translator/Parser/DB2/Grammar.pm
Back
package SQL::Translator::Parser::DB2::Grammar; use Parse::RecDescent; { my $ERRORS; package Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar; use strict; use vars qw($skip $AUTOLOAD ); $skip = '\s*'; my ( %tables, $table_order, @table_comments, @views, @triggers ); ; { local $SIG{__WARN__} = sub {0}; # PRETEND TO BE IN Parse::RecDescent NAMESPACE *Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::AUTOLOAD = sub { no strict 'refs'; $AUTOLOAD =~ s/^Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar/Parse::RecDescent/; goto &{$AUTOLOAD}; } } push @Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::ISA, 'Parse::RecDescent'; # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_17_of_rule_sysibm_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_17_of_rule_sysibm_function"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_17_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_17_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DECIMAL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_17_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_17_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_17_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DECIMAL/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_17_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DECIMAL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DECIMAL/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_17_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DEC/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_17_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_17_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_17_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DEC/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_17_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DEC)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DEC/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_17_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_17_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_17_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_17_of_rule_sysibm_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_17_of_rule_sysibm_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::triggered_action { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"triggered_action"}; Parse::RecDescent::_trace(q{Trying rule: [triggered_action]}, Parse::RecDescent::_tracefirst($_[1]), q{triggered_action}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [when_clause SQL_procedure_statement]}, Parse::RecDescent::_tracefirst($_[1]), q{triggered_action}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{triggered_action}); %item = (__RULE__ => q{triggered_action}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying repeated subrule: [when_clause]}, Parse::RecDescent::_tracefirst($text), q{triggered_action}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::when_clause, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [when_clause]>>}, Parse::RecDescent::_tracefirst($text), q{triggered_action}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [when_clause]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{triggered_action}, $tracelevel) if defined $::RD_TRACE; $item{q{when_clause(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying subrule: [SQL_procedure_statement]}, Parse::RecDescent::_tracefirst($text), q{triggered_action}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{SQL_procedure_statement})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::SQL_procedure_statement($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [SQL_procedure_statement]>>}, Parse::RecDescent::_tracefirst($text), q{triggered_action}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [SQL_procedure_statement]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{triggered_action}, $tracelevel) if defined $::RD_TRACE; $item{q{SQL_procedure_statement}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{triggered_action}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { 'condition' => $item[1][0], 'statement' => $item{'SQL_procedure_statement'} }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [when_clause SQL_procedure_statement]<<}, Parse::RecDescent::_tracefirst($text), q{triggered_action}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{triggered_action}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{triggered_action}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{triggered_action}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{triggered_action}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_2_of_rule_search_condition { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_2_of_rule_search_condition"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_2_of_rule_search_condition]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [predicate /SELECTIVITY/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_2_of_rule_search_condition}); %item = (__RULE__ => q{_alternation_1_of_production_2_of_rule_search_condition}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [predicate]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::predicate($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [predicate]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [predicate]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $item{q{predicate}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [/SELECTIVITY/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{/SELECTIVITY/i})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [/SELECTIVITY/i]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [predicate /SELECTIVITY/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' search_condition ')']}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_2_of_rule_search_condition}); %item = (__RULE__ => q{_alternation_1_of_production_2_of_rule_search_condition}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [search_condition]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{search_condition})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::search_condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [search_condition]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [search_condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $item{q{search_condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['(' search_condition ')']<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::name1 { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"name1"}; Parse::RecDescent::_trace(q{Trying rule: [name1]}, Parse::RecDescent::_tracefirst($_[1]), q{name1}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [NAME]}, Parse::RecDescent::_tracefirst($_[1]), q{name1}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{name1}); %item = (__RULE__ => q{name1}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [NAME]}, Parse::RecDescent::_tracefirst($text), q{name1}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>}, Parse::RecDescent::_tracefirst($text), q{name1}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{name1}, $tracelevel) if defined $::RD_TRACE; $item{q{NAME}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [NAME]<<}, Parse::RecDescent::_tracefirst($text), q{name1}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{name1}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{name1}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{name1}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{name1}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_2_of_production_1_of_rule_cond { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_2_of_production_1_of_rule_cond"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_2_of_production_1_of_rule_cond]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [predicate /SELECTIVITY/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule_cond}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule_cond}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [predicate]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::predicate($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [predicate]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [predicate]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $item{q{predicate}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [/SELECTIVITY/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{/SELECTIVITY/i})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [/SELECTIVITY/i]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [predicate /SELECTIVITY/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' search_condition ')']}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule_cond}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule_cond}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [search_condition]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{search_condition})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::search_condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [search_condition]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [search_condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $item{q{search_condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['(' search_condition ')']<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_2_of_production_1_of_rule_cond}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_expression"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['+', or '-' function, or '(', or constant, or column_name, or host_variable, or special_register, or labeled_duration, or case_expression, or cast_specification, or OLAP_function, or method_invocation, or subtype_treatment, or sequence_reference]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying repeated subrule: ['+', or '-']}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: ['+', or '-']>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{function, or '(', or constant, or column_name, or host_variable, or special_register, or labeled_duration, or case_expression, or cast_specification, or OLAP_function, or method_invocation, or subtype_treatment, or sequence_reference})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: ['+', or '-' function, or '(', or constant, or column_name, or host_variable, or special_register, or labeled_duration, or case_expression, or cast_specification, or OLAP_function, or method_invocation, or subtype_treatment, or sequence_reference]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::SCHEMA { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SCHEMA"}; Parse::RecDescent::_trace(q{Trying rule: [SCHEMA]}, Parse::RecDescent::_tracefirst($_[1]), q{SCHEMA}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/\\w+/]}, Parse::RecDescent::_tracefirst($_[1]), q{SCHEMA}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SCHEMA}); %item = (__RULE__ => q{SCHEMA}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/\\w+/]}, Parse::RecDescent::_tracefirst($text), q{SCHEMA}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\w+)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/\\w+/]<<}, Parse::RecDescent::_tracefirst($text), q{SCHEMA}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/\\w\{1,128\}/]}, Parse::RecDescent::_tracefirst($_[1]), q{SCHEMA}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{SCHEMA}); %item = (__RULE__ => q{SCHEMA}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/\\w\{1,128\}/]}, Parse::RecDescent::_tracefirst($text), q{SCHEMA}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\w{1,128})//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/\\w\{1,128\}/]<<}, Parse::RecDescent::_tracefirst($text), q{SCHEMA}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{SCHEMA}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SCHEMA}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SCHEMA}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SCHEMA}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_87_of_rule_sysibm_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_87_of_rule_sysibm_function"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_87_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_87_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/VARIANCE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_87_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_87_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_87_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/VARIANCE/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_87_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:VARIANCE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/VARIANCE/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_87_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/VAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_87_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_87_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_87_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/VAR/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_87_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:VAR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/VAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_87_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_87_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_87_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_87_of_rule_sysibm_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_87_of_rule_sysibm_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['+']}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['+']}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\+//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['+']<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['-']}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['-']}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\-//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['-']<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::get_bracketed { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"get_bracketed"}; Parse::RecDescent::_trace(q{Trying rule: [get_bracketed]}, Parse::RecDescent::_tracefirst($_[1]), q{get_bracketed}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{get_bracketed}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{get_bracketed}); %item = (__RULE__ => q{get_bracketed}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{get_bracketed}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { extract_bracketed($text, '('); }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{get_bracketed}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{get_bracketed}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{get_bracketed}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{get_bracketed}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{get_bracketed}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::labeled_duration { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"labeled_duration"}; Parse::RecDescent::_trace(q{Trying rule: [labeled_duration]}, Parse::RecDescent::_tracefirst($_[1]), q{labeled_duration}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [ld_type ld_duration]}, Parse::RecDescent::_tracefirst($_[1]), q{labeled_duration}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{labeled_duration}); %item = (__RULE__ => q{labeled_duration}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [ld_type]}, Parse::RecDescent::_tracefirst($text), q{labeled_duration}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::ld_type($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [ld_type]>>}, Parse::RecDescent::_tracefirst($text), q{labeled_duration}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ld_type]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{labeled_duration}, $tracelevel) if defined $::RD_TRACE; $item{q{ld_type}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [ld_duration]}, Parse::RecDescent::_tracefirst($text), q{labeled_duration}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{ld_duration})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::ld_duration($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [ld_duration]>>}, Parse::RecDescent::_tracefirst($text), q{labeled_duration}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ld_duration]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{labeled_duration}, $tracelevel) if defined $::RD_TRACE; $item{q{ld_duration}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [ld_type ld_duration]<<}, Parse::RecDescent::_tracefirst($text), q{labeled_duration}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{labeled_duration}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{labeled_duration}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{labeled_duration}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{labeled_duration}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::group_end { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"group_end"}; Parse::RecDescent::_trace(q{Trying rule: [group_end]}, Parse::RecDescent::_tracefirst($_[1]), q{group_end}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/UNBOUNDED\\s+PRECEDING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{group_end}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{group_end}); %item = (__RULE__ => q{group_end}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/UNBOUNDED\\s+PRECEDING/i]}, Parse::RecDescent::_tracefirst($text), q{group_end}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:UNBOUNDED\s+PRECEDING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/UNBOUNDED\\s+PRECEDING/i]<<}, Parse::RecDescent::_tracefirst($text), q{group_end}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [unsigned_constant /FOLLOWING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{group_end}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{group_end}); %item = (__RULE__ => q{group_end}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [unsigned_constant]}, Parse::RecDescent::_tracefirst($text), q{group_end}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::unsigned_constant($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [unsigned_constant]>>}, Parse::RecDescent::_tracefirst($text), q{group_end}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [unsigned_constant]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{group_end}, $tracelevel) if defined $::RD_TRACE; $item{q{unsigned_constant}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/FOLLOWING/i]}, Parse::RecDescent::_tracefirst($text), q{group_end}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/FOLLOWING/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:FOLLOWING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [unsigned_constant /FOLLOWING/i]<<}, Parse::RecDescent::_tracefirst($text), q{group_end}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{group_end}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{group_end}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{group_end}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{group_end}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::statement { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"statement"}; Parse::RecDescent::_trace(q{Trying rule: [statement]}, Parse::RecDescent::_tracefirst($_[1]), q{statement}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [comment]}, Parse::RecDescent::_tracefirst($_[1]), q{statement}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{statement}); %item = (__RULE__ => q{statement}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [comment]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::comment($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [comment]>>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [comment]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{comment}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [comment]<<}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [create]}, Parse::RecDescent::_tracefirst($_[1]), q{statement}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{statement}); %item = (__RULE__ => q{statement}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [create]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::create($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [create]>>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [create]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{create}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [create]<<}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: [<error...>]}, Parse::RecDescent::_tracefirst($_[1]), q{statement}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; my $_savetext; @item = (q{statement}); %item = (__RULE__ => q{statement}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying directive: [<error...>]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if (1) { do { my $rule = $item[0]; $rule =~ s/_/ /g; #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline); push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline]; } unless $_noactions; undef } else {0} }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<<Didn't match directive>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [<error...>]<<}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{statement}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{statement}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{statement}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{statement}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [result_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [result_expression]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::result_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [result_expression]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [result_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{result_expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [result_expression]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NULL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/NULL/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:NULL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/NULL/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_2_of_production_1_of_rule_case_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_2_of_production_1_of_rule_case_expression"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_2_of_production_1_of_rule_case_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ELSE\\s+NULL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule_case_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule_case_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ELSE\\s+NULL/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ELSE\s+NULL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/ELSE\\s+NULL/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ELSE/i result_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule_case_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule_case_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ELSE/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ELSE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [result_expression]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{result_expression})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::result_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [result_expression]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [result_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{result_expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/ELSE/i result_expression]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_2_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_2_of_production_1_of_rule_case_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_2_of_production_1_of_rule_case_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::subject_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"subject_expression"}; Parse::RecDescent::_trace(q{Trying rule: [subject_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{subject_expression}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [expression]}, Parse::RecDescent::_tracefirst($_[1]), q{subject_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{subject_expression}); %item = (__RULE__ => q{subject_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{subject_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>}, Parse::RecDescent::_tracefirst($text), q{subject_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{subject_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{subject_expression}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { # with static result type that is a used-defined struct type }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [expression]<<}, Parse::RecDescent::_tracefirst($text), q{subject_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{subject_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{subject_expression}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{subject_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{subject_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_desc_option { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_desc_option"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_desc_option]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_desc_option}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NULLS\\s+FIRST/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_desc_option}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_desc_option}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_desc_option}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/NULLS\\s+FIRST/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_desc_option}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:NULLS\s+FIRST)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/NULLS\\s+FIRST/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_desc_option}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NULLS\\s+LAST/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_desc_option}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_desc_option}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_desc_option}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/NULLS\\s+LAST/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_desc_option}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:NULLS\s+LAST)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/NULLS\\s+LAST/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_desc_option}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_desc_option}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_desc_option}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_desc_option}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_desc_option}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::view_name { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"view_name"}; Parse::RecDescent::_trace(q{Trying rule: [view_name]}, Parse::RecDescent::_tracefirst($_[1]), q{view_name}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [SCHEMA '.' NAME]}, Parse::RecDescent::_tracefirst($_[1]), q{view_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{view_name}); %item = (__RULE__ => q{view_name}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [SCHEMA]}, Parse::RecDescent::_tracefirst($text), q{view_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::SCHEMA($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [SCHEMA]>>}, Parse::RecDescent::_tracefirst($text), q{view_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [SCHEMA]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{view_name}, $tracelevel) if defined $::RD_TRACE; $item{q{SCHEMA}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: ['.']}, Parse::RecDescent::_tracefirst($text), q{view_name}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'.'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\.//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [NAME]}, Parse::RecDescent::_tracefirst($text), q{view_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{NAME})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>}, Parse::RecDescent::_tracefirst($text), q{view_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{view_name}, $tracelevel) if defined $::RD_TRACE; $item{q{NAME}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{view_name}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { schema => $item[1], name => $item[3] } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [SCHEMA '.' NAME]<<}, Parse::RecDescent::_tracefirst($text), q{view_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [NAME]}, Parse::RecDescent::_tracefirst($_[1]), q{view_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{view_name}); %item = (__RULE__ => q{view_name}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [NAME]}, Parse::RecDescent::_tracefirst($text), q{view_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>}, Parse::RecDescent::_tracefirst($text), q{view_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{view_name}, $tracelevel) if defined $::RD_TRACE; $item{q{NAME}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{view_name}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { name => $item[1] } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [NAME]<<}, Parse::RecDescent::_tracefirst($text), q{view_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{view_name}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{view_name}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{view_name}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{view_name}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_cond { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_cond"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_cond]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/AND/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_cond}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_cond}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/AND/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:AND)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/AND/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/OR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_cond}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_cond}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/OR/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:OR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/OR/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_cond}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_cond}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::numbering_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"numbering_function"}; Parse::RecDescent::_trace(q{Trying rule: [numbering_function]}, Parse::RecDescent::_tracefirst($_[1]), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ROW_NUMBER|ROWNUMBER/i '()' /OVER/i '(' window_partition_clause window_order_clause /RANGE\\s+BETWEEN\\s+UNBOUNDED\\s+PRECEDING\\s+AND\\s+UNBBOUNDED\\s+FOLLOWING/i, or window_aggregation_group_clause ')']}, Parse::RecDescent::_tracefirst($_[1]), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{numbering_function}); %item = (__RULE__ => q{numbering_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ROW_NUMBER|ROWNUMBER/i]}, Parse::RecDescent::_tracefirst($text), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ROW_NUMBER|ROWNUMBER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: ['()']}, Parse::RecDescent::_tracefirst($text), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'()'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: [/OVER/i]}, Parse::RecDescent::_tracefirst($text), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/OVER/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:OVER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{Trying repeated subrule: [window_partition_clause]}, Parse::RecDescent::_tracefirst($text), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{window_partition_clause})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::window_partition_clause, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [window_partition_clause]>>}, Parse::RecDescent::_tracefirst($text), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [window_partition_clause]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; $item{q{window_partition_clause(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [window_order_clause]}, Parse::RecDescent::_tracefirst($text), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{window_order_clause})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_numbering_function, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [window_order_clause]>>}, Parse::RecDescent::_tracefirst($text), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_1_of_rule_numbering_function]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_numbering_function(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [/RANGE\\s+BETWEEN\\s+UNBOUNDED\\s+PRECEDING\\s+AND\\s+UNBBOUNDED\\s+FOLLOWING/i, or window_aggregation_group_clause]}, Parse::RecDescent::_tracefirst($text), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{/RANGE\\s+BETWEEN\\s+UNBOUNDED\\s+PRECEDING\\s+AND\\s+UNBBOUNDED\\s+FOLLOWING/i, or window_aggregation_group_clause})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_2_of_production_1_of_rule_numbering_function, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [/RANGE\\s+BETWEEN\\s+UNBOUNDED\\s+PRECEDING\\s+AND\\s+UNBBOUNDED\\s+FOLLOWING/i, or window_aggregation_group_clause]>>}, Parse::RecDescent::_tracefirst($text), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_2_of_production_1_of_rule_numbering_function]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_2_of_production_1_of_rule_numbering_function(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING3__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/ROW_NUMBER|ROWNUMBER/i '()' /OVER/i '(' window_partition_clause window_order_clause /RANGE\\s+BETWEEN\\s+UNBOUNDED\\s+PRECEDING\\s+AND\\s+UNBBOUNDED\\s+FOLLOWING/i, or window_aggregation_group_clause ')']<<}, Parse::RecDescent::_tracefirst($text), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{numbering_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{numbering_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{numbering_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{numbering_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_window_aggregation_group_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_window_aggregation_group_clause"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_window_aggregation_group_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ROWS/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ROWS/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ROWS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/ROWS/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/RANGE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/RANGE/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:RANGE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/RANGE/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::group_bound1 { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"group_bound1"}; Parse::RecDescent::_trace(q{Trying rule: [group_bound1]}, Parse::RecDescent::_tracefirst($_[1]), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/UNBOUNDED\\s+PRECEDING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{group_bound1}); %item = (__RULE__ => q{group_bound1}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/UNBOUNDED\\s+PRECEDING/i]}, Parse::RecDescent::_tracefirst($text), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:UNBOUNDED\s+PRECEDING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/UNBOUNDED\\s+PRECEDING/i]<<}, Parse::RecDescent::_tracefirst($text), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [unsigned_constant /PRECEDING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{group_bound1}); %item = (__RULE__ => q{group_bound1}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [unsigned_constant]}, Parse::RecDescent::_tracefirst($text), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::unsigned_constant($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [unsigned_constant]>>}, Parse::RecDescent::_tracefirst($text), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [unsigned_constant]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; $item{q{unsigned_constant}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/PRECEDING/i]}, Parse::RecDescent::_tracefirst($text), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/PRECEDING/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:PRECEDING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [unsigned_constant /PRECEDING/i]<<}, Parse::RecDescent::_tracefirst($text), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [unsigned_constant /FOLLOWING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{group_bound1}); %item = (__RULE__ => q{group_bound1}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [unsigned_constant]}, Parse::RecDescent::_tracefirst($text), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::unsigned_constant($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [unsigned_constant]>>}, Parse::RecDescent::_tracefirst($text), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [unsigned_constant]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; $item{q{unsigned_constant}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/FOLLOWING/i]}, Parse::RecDescent::_tracefirst($text), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/FOLLOWING/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:FOLLOWING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [unsigned_constant /FOLLOWING/i]<<}, Parse::RecDescent::_tracefirst($text), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CURRENT\\s+ROW/i]}, Parse::RecDescent::_tracefirst($_[1]), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{group_bound1}); %item = (__RULE__ => q{group_bound1}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CURRENT\\s+ROW/i]}, Parse::RecDescent::_tracefirst($text), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CURRENT\s+ROW)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CURRENT\\s+ROW/i]<<}, Parse::RecDescent::_tracefirst($text), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{group_bound1}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{group_bound1}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{group_bound1}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{group_bound1}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::OLAP_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"OLAP_function"}; Parse::RecDescent::_trace(q{Trying rule: [OLAP_function]}, Parse::RecDescent::_tracefirst($_[1]), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [ranking_function]}, Parse::RecDescent::_tracefirst($_[1]), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{OLAP_function}); %item = (__RULE__ => q{OLAP_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [ranking_function]}, Parse::RecDescent::_tracefirst($text), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::ranking_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [ranking_function]>>}, Parse::RecDescent::_tracefirst($text), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ranking_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; $item{q{ranking_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [ranking_function]<<}, Parse::RecDescent::_tracefirst($text), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [numbering_function]}, Parse::RecDescent::_tracefirst($_[1]), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{OLAP_function}); %item = (__RULE__ => q{OLAP_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [numbering_function]}, Parse::RecDescent::_tracefirst($text), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::numbering_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [numbering_function]>>}, Parse::RecDescent::_tracefirst($text), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [numbering_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; $item{q{numbering_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [numbering_function]<<}, Parse::RecDescent::_tracefirst($text), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [aggregation_function]}, Parse::RecDescent::_tracefirst($_[1]), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{OLAP_function}); %item = (__RULE__ => q{OLAP_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [aggregation_function]}, Parse::RecDescent::_tracefirst($text), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::aggregation_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [aggregation_function]>>}, Parse::RecDescent::_tracefirst($text), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [aggregation_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; $item{q{aggregation_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [aggregation_function]<<}, Parse::RecDescent::_tracefirst($text), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{OLAP_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{OLAP_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{OLAP_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_30_of_rule_sysibm_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_30_of_rule_sysibm_function"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_30_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_30_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DOUBLE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_30_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_30_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_30_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DOUBLE/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_30_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DOUBLE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DOUBLE/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_30_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DOUBLE_PRECISION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_30_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_30_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_30_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DOUBLE_PRECISION/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_30_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DOUBLE_PRECISION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DOUBLE_PRECISION/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_30_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_30_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_30_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_30_of_rule_sysibm_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_30_of_rule_sysibm_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::FULL { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"FULL"}; Parse::RecDescent::_trace(q{Trying rule: [FULL]}, Parse::RecDescent::_tracefirst($_[1]), q{FULL}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/full/i]}, Parse::RecDescent::_tracefirst($_[1]), q{FULL}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{FULL}); %item = (__RULE__ => q{FULL}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/full/i]}, Parse::RecDescent::_tracefirst($text), q{FULL}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:full)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/full/i]<<}, Parse::RecDescent::_tracefirst($text), q{FULL}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{FULL}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{FULL}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{FULL}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{FULL}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_2_of_production_1_of_rule_cast_specification { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_2_of_production_1_of_rule_cast_specification"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_2_of_production_1_of_rule_cast_specification]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SCOPE/ typed_table_name, or typed_view_name]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule_cast_specification}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule_cast_specification}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SCOPE/]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SCOPE)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{typed_table_name, or typed_view_name})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/SCOPE/ typed_table_name, or typed_view_name]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::case_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"case_expression"}; Parse::RecDescent::_trace(q{Trying rule: [case_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{case_expression}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CASE/i searched_when_clause, or simple_when_clause /ELSE\\s+NULL/i, or /ELSE/i /END/i]}, Parse::RecDescent::_tracefirst($_[1]), q{case_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{case_expression}); %item = (__RULE__ => q{case_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CASE/i]}, Parse::RecDescent::_tracefirst($text), q{case_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CASE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_case_expression]}, Parse::RecDescent::_tracefirst($text), q{case_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{searched_when_clause, or simple_when_clause})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_case_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule_case_expression]>>}, Parse::RecDescent::_tracefirst($text), q{case_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_case_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{case_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_case_expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [/ELSE\\s+NULL/i, or /ELSE/i]}, Parse::RecDescent::_tracefirst($text), q{case_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{/ELSE\\s+NULL/i, or /ELSE/i})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_2_of_production_1_of_rule_case_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [/ELSE\\s+NULL/i, or /ELSE/i]>>}, Parse::RecDescent::_tracefirst($text), q{case_expression}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_2_of_production_1_of_rule_case_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{case_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_2_of_production_1_of_rule_case_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying terminal: [/END/i]}, Parse::RecDescent::_tracefirst($text), q{case_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/END/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:END)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CASE/i searched_when_clause, or simple_when_clause /ELSE\\s+NULL/i, or /ELSE/i /END/i]<<}, Parse::RecDescent::_tracefirst($text), q{case_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{case_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{case_expression}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{case_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{case_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::operator { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"operator"}; Parse::RecDescent::_trace(q{Trying rule: [operator]}, Parse::RecDescent::_tracefirst($_[1]), q{operator}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CONCAT/i, or '||']}, Parse::RecDescent::_tracefirst($_[1]), q{operator}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{operator}); %item = (__RULE__ => q{operator}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_operator]}, Parse::RecDescent::_tracefirst($text), q{operator}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_operator($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule_operator]>>}, Parse::RecDescent::_tracefirst($text), q{operator}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_operator]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{operator}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_operator}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/CONCAT/i, or '||']<<}, Parse::RecDescent::_tracefirst($text), q{operator}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['/']}, Parse::RecDescent::_tracefirst($_[1]), q{operator}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{operator}); %item = (__RULE__ => q{operator}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['/']}, Parse::RecDescent::_tracefirst($text), q{operator}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\///) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['/']<<}, Parse::RecDescent::_tracefirst($text), q{operator}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['*']}, Parse::RecDescent::_tracefirst($_[1]), q{operator}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{operator}); %item = (__RULE__ => q{operator}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['*']}, Parse::RecDescent::_tracefirst($text), q{operator}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\*//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['*']<<}, Parse::RecDescent::_tracefirst($text), q{operator}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['+']}, Parse::RecDescent::_tracefirst($_[1]), q{operator}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{operator}); %item = (__RULE__ => q{operator}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['+']}, Parse::RecDescent::_tracefirst($text), q{operator}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\+//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['+']<<}, Parse::RecDescent::_tracefirst($text), q{operator}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['-']}, Parse::RecDescent::_tracefirst($_[1]), q{operator}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; $text = $_[1]; my $_savetext; @item = (q{operator}); %item = (__RULE__ => q{operator}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['-']}, Parse::RecDescent::_tracefirst($text), q{operator}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\-//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['-']<<}, Parse::RecDescent::_tracefirst($text), q{operator}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{operator}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{operator}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{operator}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{operator}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_2_of_rule_type { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_2_of_rule_type"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_2_of_rule_type]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_2_of_rule_type}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INSERT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_2_of_rule_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_2_of_rule_type}); %item = (__RULE__ => q{_alternation_1_of_production_2_of_rule_type}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/INSERT/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_type}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:INSERT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/INSERT/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DELETE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_2_of_rule_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_2_of_rule_type}); %item = (__RULE__ => q{_alternation_1_of_production_2_of_rule_type}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DELETE/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_type}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DELETE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DELETE/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/UPDATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_2_of_rule_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_2_of_rule_type}); %item = (__RULE__ => q{_alternation_1_of_production_2_of_rule_type}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/UPDATE/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_type}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:UPDATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/UPDATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_2_of_rule_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_2_of_rule_type}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_2_of_rule_type}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_2_of_rule_type}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_2_of_rule_type}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_8_of_rule_sysibm_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_8_of_rule_sysibm_function"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_8_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_8_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CONCAT/]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_8_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_8_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_8_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CONCAT/]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_8_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CONCAT)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CONCAT/]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_8_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['||']}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_8_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_8_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_8_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['||']}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_8_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\|\|//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['||']<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_8_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_8_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_8_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_8_of_rule_sysibm_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_8_of_rule_sysibm_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::sequence_reference { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sequence_reference"}; Parse::RecDescent::_trace(q{Trying rule: [sequence_reference]}, Parse::RecDescent::_tracefirst($_[1]), q{sequence_reference}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [nextval_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{sequence_reference}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sequence_reference}); %item = (__RULE__ => q{sequence_reference}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [nextval_expression]}, Parse::RecDescent::_tracefirst($text), q{sequence_reference}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::nextval_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [nextval_expression]>>}, Parse::RecDescent::_tracefirst($text), q{sequence_reference}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [nextval_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sequence_reference}, $tracelevel) if defined $::RD_TRACE; $item{q{nextval_expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [nextval_expression]<<}, Parse::RecDescent::_tracefirst($text), q{sequence_reference}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [prevval_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{sequence_reference}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{sequence_reference}); %item = (__RULE__ => q{sequence_reference}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [prevval_expression]}, Parse::RecDescent::_tracefirst($text), q{sequence_reference}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::prevval_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [prevval_expression]>>}, Parse::RecDescent::_tracefirst($text), q{sequence_reference}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [prevval_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sequence_reference}, $tracelevel) if defined $::RD_TRACE; $item{q{prevval_expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [prevval_expression]<<}, Parse::RecDescent::_tracefirst($text), q{sequence_reference}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{sequence_reference}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sequence_reference}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sequence_reference}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sequence_reference}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::sysibm_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sysibm_function"}; Parse::RecDescent::_trace(q{Trying rule: [sysibm_function]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ABS/i, or /ABSVAL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_sysibm_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule_sysibm_function]>>}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_sysibm_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_sysibm_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/ABS/i, or /ABSVAL/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/AVG/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/AVG/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:AVG)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/AVG/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/BIGINT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/BIGINT/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:BIGINT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/BIGINT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/BLOB/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/BLOB/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:BLOB)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/BLOB/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CHAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CHAR/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CHAR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CHAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CLOB/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[5]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CLOB/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CLOB)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CLOB/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/COALESCE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[6]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/COALESCE/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:COALESCE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/COALESCE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CONCAT/, or '||']}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[7]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_8_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_8_of_rule_sysibm_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_8_of_rule_sysibm_function]>>}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_8_of_rule_sysibm_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_8_of_rule_sysibm_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/CONCAT/, or '||']<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CORRELATION/i, or /CORR/]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[8]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_9_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_9_of_rule_sysibm_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_9_of_rule_sysibm_function]>>}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_9_of_rule_sysibm_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_9_of_rule_sysibm_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/CORRELATION/i, or /CORR/]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/COUNT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[9]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/COUNT/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:COUNT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/COUNT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/COUNT_BIG/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[10]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/COUNT_BIG/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:COUNT_BIG)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/COUNT_BIG/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/COVARIANCE/i, or /COVAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[11]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_12_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_12_of_rule_sysibm_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_12_of_rule_sysibm_function]>>}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_12_of_rule_sysibm_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_12_of_rule_sysibm_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/COVARIANCE/i, or /COVAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[12]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DATE/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DAY/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[13]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DAY/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DAY)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DAY/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DAYS/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[14]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DAYS/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DAYS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DAYS/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DBCLOB/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[15]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DBCLOB/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DBCLOB)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DBCLOB/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DECIMAL/i, or /DEC/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[16]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_17_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_17_of_rule_sysibm_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_17_of_rule_sysibm_function]>>}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_17_of_rule_sysibm_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_17_of_rule_sysibm_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/DECIMAL/i, or /DEC/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DECRYPT_BIN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[17]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DECRYPT_BIN/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DECRYPT_BIN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DECRYPT_BIN/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DECRYPT_CHAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[18]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DECRYPT_CHAR/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DECRYPT_CHAR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DECRYPT_CHAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DEREF/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[19]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DEREF/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DEREF)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DEREF/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DIGITS/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[20]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DIGITS/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DIGITS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DIGITS/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DLCOMMENT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[21]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DLCOMMENT/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DLCOMMENT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DLCOMMENT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DLLINKTYPE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[22]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DLLINKTYPE/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DLLINKTYPE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DLLINKTYPE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DLURLCOMPLETE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[23]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DLURLCOMPLETE/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DLURLCOMPLETE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DLURLCOMPLETE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DLURLPATH/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[24]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DLURLPATH/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DLURLPATH)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DLURLPATH/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DLURLPATHONLY/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[25]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DLURLPATHONLY/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DLURLPATHONLY)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DLURLPATHONLY/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DLURLSCHEME/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[26]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DLURLSCHEME/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DLURLSCHEME)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DLURLSCHEME/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DLURLSERVER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[27]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DLURLSERVER/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DLURLSERVER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DLURLSERVER/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DLVALUE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[28]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DLVALUE/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DLVALUE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DLVALUE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DOUBLE/i, or /DOUBLE_PRECISION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[29]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_30_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_30_of_rule_sysibm_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_30_of_rule_sysibm_function]>>}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_30_of_rule_sysibm_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_30_of_rule_sysibm_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/DOUBLE/i, or /DOUBLE_PRECISION/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ENCRYPT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[30]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ENCRYPT/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ENCRYPT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/ENCRYPT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/EVENT_MON_STATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[31]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/EVENT_MON_STATE/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:EVENT_MON_STATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/EVENT_MON_STATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/FLOAT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[32]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/FLOAT/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:FLOAT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/FLOAT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/GETHINT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[33]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/GETHINT/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:GETHINT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/GETHINT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/GENERATE_UNIQUE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[34]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/GENERATE_UNIQUE/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:GENERATE_UNIQUE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/GENERATE_UNIQUE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/GRAPHIC/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[35]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/GRAPHIC/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:GRAPHIC)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/GRAPHIC/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/GROUPING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[36]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/GROUPING/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:GROUPING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/GROUPING/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/HEX/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[37]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/HEX/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:HEX)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/HEX/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/HOUR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[38]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/HOUR/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:HOUR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/HOUR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/IDENTITY_VAL_LOCAL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[39]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/IDENTITY_VAL_LOCAL/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:IDENTITY_VAL_LOCAL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/IDENTITY_VAL_LOCAL/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INTEGER/i, or /INT/]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[40]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_41_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_41_of_rule_sysibm_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_41_of_rule_sysibm_function]>>}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_41_of_rule_sysibm_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_41_of_rule_sysibm_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/INTEGER/i, or /INT/]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LCASE/i, or /LOWER/]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[41]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_42_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_42_of_rule_sysibm_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_42_of_rule_sysibm_function]>>}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_42_of_rule_sysibm_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_42_of_rule_sysibm_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/LCASE/i, or /LOWER/]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LENGTH/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[42]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/LENGTH/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:LENGTH)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/LENGTH/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LONG_VARCHAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[43]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/LONG_VARCHAR/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:LONG_VARCHAR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/LONG_VARCHAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LONG_VARGRAPHIC/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[44]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/LONG_VARGRAPHIC/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:LONG_VARGRAPHIC)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/LONG_VARGRAPHIC/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LTRIM/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[45]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/LTRIM/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:LTRIM)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/LTRIM/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MAX/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[46]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/MAX/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:MAX)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/MAX/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MICROSECOND/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[47]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/MICROSECOND/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:MICROSECOND)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/MICROSECOND/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MIN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[48]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/MIN/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:MIN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/MIN/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MINUTE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[49]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/MINUTE/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:MINUTE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/MINUTE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MONTH/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[50]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/MONTH/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:MONTH)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/MONTH/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MULTIPLY_ACT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[51]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/MULTIPLY_ACT/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:MULTIPLY_ACT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/MULTIPLY_ACT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NODENUMBER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[52]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/NODENUMBER/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:NODENUMBER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/NODENUMBER/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NULLIF/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[53]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/NULLIF/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:NULLIF)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/NULLIF/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/PARTITON/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[54]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/PARTITON/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:PARTITON)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/PARTITON/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/POSSTR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[55]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/POSSTR/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:POSSTR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/POSSTR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/RAISE_ERROR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[56]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/RAISE_ERROR/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:RAISE_ERROR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/RAISE_ERROR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REAL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[57]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REAL/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REAL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/REAL/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REC2XML/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[58]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REC2XML/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REC2XML)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/REC2XML/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REGR_AVGX/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[59]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REGR_AVGX/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REGR_AVGX)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/REGR_AVGX/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REGR_AVGY/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[60]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REGR_AVGY/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REGR_AVGY)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/REGR_AVGY/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REGR_COUNT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[61]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REGR_COUNT/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REGR_COUNT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/REGR_COUNT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REGR_INTERCEPT/i, or /REGR_ICPT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[62]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_63_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_63_of_rule_sysibm_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_63_of_rule_sysibm_function]>>}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_63_of_rule_sysibm_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_63_of_rule_sysibm_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/REGR_INTERCEPT/i, or /REGR_ICPT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REGR_R2/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[63]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REGR_R2/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REGR_R2)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/REGR_R2/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REGR_SLOPE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[64]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REGR_SLOPE/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REGR_SLOPE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/REGR_SLOPE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REGR_SXX/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[65]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REGR_SXX/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REGR_SXX)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/REGR_SXX/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REGR_SXY/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[66]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REGR_SXY/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REGR_SXY)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/REGR_SXY/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REGR_SYY/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[67]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REGR_SYY/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REGR_SYY)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/REGR_SYY/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/RTRIM/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[68]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/RTRIM/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:RTRIM)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/RTRIM/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SECOND/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[69]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SECOND/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SECOND)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/SECOND/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SMALLINT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[70]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SMALLINT/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SMALLINT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/SMALLINT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/STDDEV/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[71]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/STDDEV/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:STDDEV)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/STDDEV/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SUBSTR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[72]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SUBSTR/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SUBSTR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/SUBSTR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SUM/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[73]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SUM/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SUM)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/SUM/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TABLE_NAME/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[74]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/TABLE_NAME/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:TABLE_NAME)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/TABLE_NAME/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TABLE_SCHEMA/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[75]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/TABLE_SCHEMA/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:TABLE_SCHEMA)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/TABLE_SCHEMA/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TIME/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[76]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/TIME/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:TIME)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/TIME/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TIMESTAMP/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[77]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/TIMESTAMP/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:TIMESTAMP)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/TIMESTAMP/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TRANSLATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[78]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/TRANSLATE/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:TRANSLATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/TRANSLATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TYPE_ID/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[79]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/TYPE_ID/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:TYPE_ID)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/TYPE_ID/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TYPE_NAME/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[80]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/TYPE_NAME/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:TYPE_NAME)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/TYPE_NAME/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TYPE_SCHEMA/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[81]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/TYPE_SCHEMA/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:TYPE_SCHEMA)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/TYPE_SCHEMA/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/UCASE/i, or /UPPER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[82]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_83_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_83_of_rule_sysibm_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_83_of_rule_sysibm_function]>>}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_83_of_rule_sysibm_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_83_of_rule_sysibm_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/UCASE/i, or /UPPER/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/VALUE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[83]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/VALUE/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:VALUE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/VALUE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/VARCHAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[84]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/VARCHAR/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:VARCHAR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/VARCHAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/VARGRAPHIC/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[85]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/VARGRAPHIC/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:VARGRAPHIC)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/VARGRAPHIC/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/VARIANCE/i, or /VAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[86]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_87_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_87_of_rule_sysibm_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_87_of_rule_sysibm_function]>>}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_87_of_rule_sysibm_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_87_of_rule_sysibm_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/VARIANCE/i, or /VAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/YEAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[87]; $text = $_[1]; my $_savetext; @item = (q{sysibm_function}); %item = (__RULE__ => q{sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/YEAR/i]}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:YEAR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/YEAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sysibm_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sysibm_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sysibm_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::window_partition_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"window_partition_clause"}; Parse::RecDescent::_trace(q{Trying rule: [window_partition_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/PARTITION\\s+BY/i <leftop: partitioning_expression /,/ partitioning_expression>]}, Parse::RecDescent::_tracefirst($_[1]), q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{window_partition_clause}); %item = (__RULE__ => q{window_partition_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/PARTITION\\s+BY/i]}, Parse::RecDescent::_tracefirst($text), q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:PARTITION\s+BY)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying operator: [<leftop: partitioning_expression /,/ partitioning_expression>]}, Parse::RecDescent::_tracefirst($text), q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{<leftop: partitioning_expression /,/ partitioning_expression>})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [partitioning_expression]}, Parse::RecDescent::_tracefirst($text), q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{partitioning_expression})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::partitioning_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [partitioning_expression]>>}, Parse::RecDescent::_tracefirst($text), q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [partitioning_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{partitioning_expression}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying terminal: [/,/]}, Parse::RecDescent::_tracefirst($text), q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/,/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:,)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; pop @item; if (defined $1) {push @item, $item{'partitioning_expression(s)'}=$1; $backtrack=1;} Parse::RecDescent::_trace(q{Trying subrule: [partitioning_expression]}, Parse::RecDescent::_tracefirst($text), q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{partitioning_expression})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::partitioning_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [partitioning_expression]>>}, Parse::RecDescent::_tracefirst($text), q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [partitioning_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{partitioning_expression}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<<Didn't match operator: [<leftop: partitioning_expression /,/ partitioning_expression>]>>}, Parse::RecDescent::_tracefirst($text), q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: [<leftop: partitioning_expression /,/ partitioning_expression>]<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; push @item, $item{'partitioning_expression(s)'}=$_tok||[]; Parse::RecDescent::_trace(q{>>Matched production: [/PARTITION\\s+BY/i <leftop: partitioning_expression /,/ partitioning_expression>]<<}, Parse::RecDescent::_tracefirst($text), q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{window_partition_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{window_partition_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{window_partition_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::WHERE { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"WHERE"}; Parse::RecDescent::_trace(q{Trying rule: [WHERE]}, Parse::RecDescent::_tracefirst($_[1]), q{WHERE}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/where/i]}, Parse::RecDescent::_tracefirst($_[1]), q{WHERE}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{WHERE}); %item = (__RULE__ => q{WHERE}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/where/i]}, Parse::RecDescent::_tracefirst($text), q{WHERE}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:where)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/where/i]<<}, Parse::RecDescent::_tracefirst($text), q{WHERE}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{WHERE}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{WHERE}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{WHERE}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{WHERE}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::CREATE { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CREATE"}; Parse::RecDescent::_trace(q{Trying rule: [CREATE]}, Parse::RecDescent::_tracefirst($_[1]), q{CREATE}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/create/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CREATE}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CREATE}); %item = (__RULE__ => q{CREATE}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/create/i]}, Parse::RecDescent::_tracefirst($text), q{CREATE}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:create)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/create/i]<<}, Parse::RecDescent::_tracefirst($text), q{CREATE}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{CREATE}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CREATE}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CREATE}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CREATE}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_sysfun { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_sysfun"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_sysfun]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ABS/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_sysfun}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ABS/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ABS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/ABS/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ABSVAL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_sysfun}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ABSVAL/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ABSVAL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/ABSVAL/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_sysfun}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_sysfun}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_function"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SYSIBM\\.|/i sysibm_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_function}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SYSIBM\\.|/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SYSIBM\.|)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [sysibm_function]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{sysibm_function})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::sysibm_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [sysibm_function]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sysibm_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; $item{q{sysibm_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/SYSIBM\\.|/i sysibm_function]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SYSFUN\\.|/i sysfun_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_function}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SYSFUN\\.|/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SYSFUN\.|)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [sysfun_function]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{sysfun_function})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::sysfun_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [sysfun_function]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sysfun_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; $item{q{sysfun_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/SYSFUN\\.|/i sysfun_function]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [userdefined_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_function}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [userdefined_function]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::userdefined_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [userdefined_function]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [userdefined_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; $item{q{userdefined_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [userdefined_function]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::identifier { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"identifier"}; Parse::RecDescent::_trace(q{Trying rule: [identifier]}, Parse::RecDescent::_tracefirst($_[1]), q{identifier}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [NAME]}, Parse::RecDescent::_tracefirst($_[1]), q{identifier}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{identifier}); %item = (__RULE__ => q{identifier}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [NAME]}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; $item{q{NAME}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [NAME]<<}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{identifier}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{identifier}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{identifier}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{identifier}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [asc_option]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [asc_option]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::asc_option($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [asc_option]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [asc_option]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{asc_option}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [asc_option]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [desc_option]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [desc_option]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::desc_option($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [desc_option]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [desc_option]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{desc_option}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [desc_option]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::result_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"result_expression"}; Parse::RecDescent::_trace(q{Trying rule: [result_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{result_expression}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [expression]}, Parse::RecDescent::_tracefirst($_[1]), q{result_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{result_expression}); %item = (__RULE__ => q{result_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{result_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>}, Parse::RecDescent::_tracefirst($text), q{result_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{result_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [expression]<<}, Parse::RecDescent::_tracefirst($text), q{result_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{result_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{result_expression}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{result_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{result_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::scoped_reference_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"scoped_reference_expression"}; Parse::RecDescent::_trace(q{Trying rule: [scoped_reference_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{scoped_reference_expression}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [expression]}, Parse::RecDescent::_tracefirst($_[1]), q{scoped_reference_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{scoped_reference_expression}); %item = (__RULE__ => q{scoped_reference_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{scoped_reference_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>}, Parse::RecDescent::_tracefirst($text), q{scoped_reference_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{scoped_reference_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{scoped_reference_expression}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { # scoped, reference }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [expression]<<}, Parse::RecDescent::_tracefirst($text), q{scoped_reference_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{scoped_reference_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{scoped_reference_expression}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{scoped_reference_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{scoped_reference_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [typed_table_name]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [typed_table_name]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::typed_table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [typed_table_name]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [typed_table_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $item{q{typed_table_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [typed_table_name]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [typed_view_name]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [typed_view_name]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::typed_view_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [typed_view_name]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [typed_view_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $item{q{typed_view_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [typed_view_name]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::when_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"when_clause"}; Parse::RecDescent::_trace(q{Trying rule: [when_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{when_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/WHEN/i '(' search_condition ')']}, Parse::RecDescent::_tracefirst($_[1]), q{when_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{when_clause}); %item = (__RULE__ => q{when_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/WHEN/i]}, Parse::RecDescent::_tracefirst($text), q{when_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:WHEN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{when_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [search_condition]}, Parse::RecDescent::_tracefirst($text), q{when_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{search_condition})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::search_condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [search_condition]>>}, Parse::RecDescent::_tracefirst($text), q{when_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [search_condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{when_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{search_condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{when_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{when_clause}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = $item[3]}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/WHEN/i '(' search_condition ')']<<}, Parse::RecDescent::_tracefirst($text), q{when_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{when_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{when_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{when_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{when_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_asc_option { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_asc_option"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_asc_option]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_asc_option}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NULLS\\s+FIRST/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_asc_option}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_asc_option}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_asc_option}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/NULLS\\s+FIRST/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_asc_option}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:NULLS\s+FIRST)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/NULLS\\s+FIRST/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_asc_option}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NULLS\\s+LAST/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_asc_option}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_asc_option}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_asc_option}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/NULLS\\s+LAST/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_asc_option}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:NULLS\s+LAST)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/NULLS\\s+LAST/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_asc_option}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_asc_option}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_asc_option}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_asc_option}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_asc_option}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::sequence_name { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sequence_name"}; Parse::RecDescent::_trace(q{Trying rule: [sequence_name]}, Parse::RecDescent::_tracefirst($_[1]), q{sequence_name}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [NAME]}, Parse::RecDescent::_tracefirst($_[1]), q{sequence_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sequence_name}); %item = (__RULE__ => q{sequence_name}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [NAME]}, Parse::RecDescent::_tracefirst($text), q{sequence_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>}, Parse::RecDescent::_tracefirst($text), q{sequence_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sequence_name}, $tracelevel) if defined $::RD_TRACE; $item{q{NAME}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [NAME]<<}, Parse::RecDescent::_tracefirst($text), q{sequence_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{sequence_name}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sequence_name}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sequence_name}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sequence_name}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::ld_duration { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ld_duration"}; Parse::RecDescent::_trace(q{Trying rule: [ld_duration]}, Parse::RecDescent::_tracefirst($_[1]), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/YEARS?/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ld_duration}); %item = (__RULE__ => q{ld_duration}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/YEARS?/i]}, Parse::RecDescent::_tracefirst($text), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:YEARS?)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/YEARS?/i]<<}, Parse::RecDescent::_tracefirst($text), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MONTHS?/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{ld_duration}); %item = (__RULE__ => q{ld_duration}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/MONTHS?/i]}, Parse::RecDescent::_tracefirst($text), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:MONTHS?)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/MONTHS?/i]<<}, Parse::RecDescent::_tracefirst($text), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DAYS?/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{ld_duration}); %item = (__RULE__ => q{ld_duration}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DAYS?/i]}, Parse::RecDescent::_tracefirst($text), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DAYS?)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DAYS?/i]<<}, Parse::RecDescent::_tracefirst($text), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/HOURS?/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{ld_duration}); %item = (__RULE__ => q{ld_duration}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/HOURS?/i]}, Parse::RecDescent::_tracefirst($text), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:HOURS?)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/HOURS?/i]<<}, Parse::RecDescent::_tracefirst($text), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MINUTES?/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; $text = $_[1]; my $_savetext; @item = (q{ld_duration}); %item = (__RULE__ => q{ld_duration}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/MINUTES?/i]}, Parse::RecDescent::_tracefirst($text), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:MINUTES?)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/MINUTES?/i]<<}, Parse::RecDescent::_tracefirst($text), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SECONDS?/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[5]; $text = $_[1]; my $_savetext; @item = (q{ld_duration}); %item = (__RULE__ => q{ld_duration}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SECONDS?/i]}, Parse::RecDescent::_tracefirst($text), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SECONDS?)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/SECONDS?/i]<<}, Parse::RecDescent::_tracefirst($text), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MICROSECONDS?/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[6]; $text = $_[1]; my $_savetext; @item = (q{ld_duration}); %item = (__RULE__ => q{ld_duration}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/MICROSECONDS?/i]}, Parse::RecDescent::_tracefirst($text), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:MICROSECONDS?)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/MICROSECONDS?/i]<<}, Parse::RecDescent::_tracefirst($text), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{ld_duration}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ld_duration}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ld_duration}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ld_duration}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::reference_a { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"reference_a"}; Parse::RecDescent::_trace(q{Trying rule: [reference_a]}, Parse::RecDescent::_tracefirst($_[1]), q{reference_a}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REFERENCING/i old_new_corr old_new_table]}, Parse::RecDescent::_tracefirst($_[1]), q{reference_a}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{reference_a}); %item = (__RULE__ => q{reference_a}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REFERENCING/i]}, Parse::RecDescent::_tracefirst($text), q{reference_a}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REFERENCING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying repeated subrule: [old_new_corr]}, Parse::RecDescent::_tracefirst($text), q{reference_a}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{old_new_corr})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::old_new_corr, 0, 2, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [old_new_corr]>>}, Parse::RecDescent::_tracefirst($text), q{reference_a}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [old_new_corr]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{reference_a}, $tracelevel) if defined $::RD_TRACE; $item{q{old_new_corr(0..2)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [old_new_table]}, Parse::RecDescent::_tracefirst($text), q{reference_a}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{old_new_table})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::old_new_table, 0, 2, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [old_new_table]>>}, Parse::RecDescent::_tracefirst($text), q{reference_a}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [old_new_table]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{reference_a}, $tracelevel) if defined $::RD_TRACE; $item{q{old_new_table(0..2)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{reference_a}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = join(' ', $item[1], join(' ', @{$item[2]}), join(' ', @{$item[3]}) ) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/REFERENCING/i old_new_corr old_new_table]<<}, Parse::RecDescent::_tracefirst($text), q{reference_a}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{reference_a}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{reference_a}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{reference_a}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{reference_a}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::cast_specification { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"cast_specification"}; Parse::RecDescent::_trace(q{Trying rule: [cast_specification]}, Parse::RecDescent::_tracefirst($_[1]), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CAST/i '(' expression, or /NULL/i, or parameter_marker /AS/i data_type /SCOPE/ ')']}, Parse::RecDescent::_tracefirst($_[1]), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{cast_specification}); %item = (__RULE__ => q{cast_specification}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CAST/i]}, Parse::RecDescent::_tracefirst($text), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CAST)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_cast_specification]}, Parse::RecDescent::_tracefirst($text), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression, or /NULL/i, or parameter_marker})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_cast_specification($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule_cast_specification]>>}, Parse::RecDescent::_tracefirst($text), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_cast_specification]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_cast_specification}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/AS/i]}, Parse::RecDescent::_tracefirst($text), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/AS/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:AS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [data_type]}, Parse::RecDescent::_tracefirst($text), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{data_type})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::data_type($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [data_type]>>}, Parse::RecDescent::_tracefirst($text), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [data_type]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; $item{q{data_type}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [/SCOPE/]}, Parse::RecDescent::_tracefirst($text), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{/SCOPE/})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_2_of_production_1_of_rule_cast_specification, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [/SCOPE/]>>}, Parse::RecDescent::_tracefirst($text), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_2_of_production_1_of_rule_cast_specification]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_2_of_production_1_of_rule_cast_specification(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CAST/i '(' expression, or /NULL/i, or parameter_marker /AS/i data_type /SCOPE/ ')']<<}, Parse::RecDescent::_tracefirst($text), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{cast_specification}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{cast_specification}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{cast_specification}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{cast_specification}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::type { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"type"}; Parse::RecDescent::_trace(q{Trying rule: [type]}, Parse::RecDescent::_tracefirst($_[1]), q{type}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/UPDATE/i /OF/i <leftop: column_name /,/ column_name>]}, Parse::RecDescent::_tracefirst($_[1]), q{type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{type}); %item = (__RULE__ => q{type}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/UPDATE/i]}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:UPDATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: [/OF/i]}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/OF/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:OF)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying operator: [<leftop: column_name /,/ column_name>]}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{<leftop: column_name /,/ column_name>})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [column_name]}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{column_name})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::column_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [column_name]>>}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $item{q{column_name}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying terminal: [/,/]}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/,/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:,)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN3__}=$&; pop @item; if (defined $1) {push @item, $item{'column_name(s)'}=$1; $backtrack=1;} Parse::RecDescent::_trace(q{Trying subrule: [column_name]}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{column_name})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::column_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [column_name]>>}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $item{q{column_name}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<<Didn't match operator: [<leftop: column_name /,/ column_name>]>>}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: [<leftop: column_name /,/ column_name>]<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; push @item, $item{'column_name(s)'}=$_tok||[]; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { event => 'update_on', fields => $item[3] } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/UPDATE/i /OF/i <leftop: column_name /,/ column_name>]<<}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INSERT/i, or /DELETE/i, or /UPDATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{type}); %item = (__RULE__ => q{type}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_2_of_rule_type]}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_2_of_rule_type($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_2_of_rule_type]>>}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_2_of_rule_type]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_2_of_rule_type}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { event => $item[1] } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/INSERT/i, or /DELETE/i, or /UPDATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{type}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{type}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{type}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{type}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_12_of_rule_sysibm_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_12_of_rule_sysibm_function"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_12_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_12_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/COVARIANCE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_12_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_12_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_12_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/COVARIANCE/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_12_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:COVARIANCE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/COVARIANCE/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_12_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/COVAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_12_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_12_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_12_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/COVAR/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_12_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:COVAR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/COVAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_12_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_12_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_12_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_12_of_rule_sysibm_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_12_of_rule_sysibm_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::scalar_fullselect { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"scalar_fullselect"}; Parse::RecDescent::_trace(q{Trying rule: [scalar_fullselect]}, Parse::RecDescent::_tracefirst($_[1]), q{scalar_fullselect}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' fullselect ')']}, Parse::RecDescent::_tracefirst($_[1]), q{scalar_fullselect}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{scalar_fullselect}); %item = (__RULE__ => q{scalar_fullselect}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{scalar_fullselect}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [fullselect]}, Parse::RecDescent::_tracefirst($text), q{scalar_fullselect}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{fullselect})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::fullselect($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [fullselect]>>}, Parse::RecDescent::_tracefirst($text), q{scalar_fullselect}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [fullselect]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{scalar_fullselect}, $tracelevel) if defined $::RD_TRACE; $item{q{fullselect}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{scalar_fullselect}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['(' fullselect ')']<<}, Parse::RecDescent::_tracefirst($text), q{scalar_fullselect}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{scalar_fullselect}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{scalar_fullselect}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{scalar_fullselect}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{scalar_fullselect}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_options { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_options"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_options]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_options}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CASCADED/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_options}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_options}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_options}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CASCADED/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_options}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CASCADED)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CASCADED/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_options}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LOCAL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_options}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_options}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_options}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/LOCAL/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_options}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:LOCAL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/LOCAL/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_options}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_options}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_options}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_options}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_options}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::func_args { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"func_args"}; Parse::RecDescent::_trace(q{Trying rule: [func_args]}, Parse::RecDescent::_tracefirst($_[1]), q{func_args}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [expression]}, Parse::RecDescent::_tracefirst($_[1]), q{func_args}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{func_args}); %item = (__RULE__ => q{func_args}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{func_args}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>}, Parse::RecDescent::_tracefirst($text), q{func_args}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{func_args}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [expression]<<}, Parse::RecDescent::_tracefirst($text), q{func_args}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{func_args}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{func_args}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{func_args}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{func_args}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::trigger_name { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"trigger_name"}; Parse::RecDescent::_trace(q{Trying rule: [trigger_name]}, Parse::RecDescent::_tracefirst($_[1]), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [SCHEMA '.' NAME]}, Parse::RecDescent::_tracefirst($_[1]), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{trigger_name}); %item = (__RULE__ => q{trigger_name}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [SCHEMA]}, Parse::RecDescent::_tracefirst($text), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::SCHEMA($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [SCHEMA]>>}, Parse::RecDescent::_tracefirst($text), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [SCHEMA]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; $item{q{SCHEMA}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: ['.']}, Parse::RecDescent::_tracefirst($text), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'.'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\.//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [NAME]}, Parse::RecDescent::_tracefirst($text), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{NAME})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>}, Parse::RecDescent::_tracefirst($text), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; $item{q{NAME}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { schema => $item[1], name => $item[3] } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [SCHEMA '.' NAME]<<}, Parse::RecDescent::_tracefirst($text), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [NAME]}, Parse::RecDescent::_tracefirst($_[1]), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{trigger_name}); %item = (__RULE__ => q{trigger_name}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [NAME]}, Parse::RecDescent::_tracefirst($text), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>}, Parse::RecDescent::_tracefirst($text), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; $item{q{NAME}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { name => $item[1] } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [NAME]<<}, Parse::RecDescent::_tracefirst($text), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{trigger_name}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{trigger_name}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{trigger_name}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{trigger_name}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_2_of_production_1_of_rule_numbering_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_2_of_production_1_of_rule_numbering_function"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_2_of_production_1_of_rule_numbering_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/RANGE\\s+BETWEEN\\s+UNBOUNDED\\s+PRECEDING\\s+AND\\s+UNBBOUNDED\\s+FOLLOWING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule_numbering_function}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule_numbering_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/RANGE\\s+BETWEEN\\s+UNBOUNDED\\s+PRECEDING\\s+AND\\s+UNBBOUNDED\\s+FOLLOWING/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:RANGE\s+BETWEEN\s+UNBOUNDED\s+PRECEDING\s+AND\s+UNBBOUNDED\s+FOLLOWING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/RANGE\\s+BETWEEN\\s+UNBOUNDED\\s+PRECEDING\\s+AND\\s+UNBBOUNDED\\s+FOLLOWING/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [window_aggregation_group_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule_numbering_function}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule_numbering_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [window_aggregation_group_clause]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::window_aggregation_group_clause($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [window_aggregation_group_clause]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [window_aggregation_group_clause]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; $item{q{window_aggregation_group_clause}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [window_aggregation_group_clause]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_2_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_2_of_production_1_of_rule_numbering_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_2_of_production_1_of_rule_numbering_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::method_name { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"method_name"}; Parse::RecDescent::_trace(q{Trying rule: [method_name]}, Parse::RecDescent::_tracefirst($_[1]), q{method_name}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [NAME]}, Parse::RecDescent::_tracefirst($_[1]), q{method_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{method_name}); %item = (__RULE__ => q{method_name}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [NAME]}, Parse::RecDescent::_tracefirst($text), q{method_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>}, Parse::RecDescent::_tracefirst($text), q{method_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{method_name}, $tracelevel) if defined $::RD_TRACE; $item{q{NAME}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{method_name}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { # must be a method of subject_expression }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [NAME]<<}, Parse::RecDescent::_tracefirst($text), q{method_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{method_name}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{method_name}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{method_name}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{method_name}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::quantified_p { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"quantified_p"}; Parse::RecDescent::_trace(q{Trying rule: [quantified_p]}, Parse::RecDescent::_tracefirst($_[1]), q{quantified_p}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [expression1 /(=|<>|<|>|<=|=>|\\^=|\\^<|\\^>|\\!=)/ /SOME|ANY|ALL/i '(' fullselect ')']}, Parse::RecDescent::_tracefirst($_[1]), q{quantified_p}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{quantified_p}); %item = (__RULE__ => q{quantified_p}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [expression1]}, Parse::RecDescent::_tracefirst($text), q{quantified_p}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::expression1($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression1]>>}, Parse::RecDescent::_tracefirst($text), q{quantified_p}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression1]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{quantified_p}, $tracelevel) if defined $::RD_TRACE; $item{q{expression1}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/(=|<>|<|>|<=|=>|\\^=|\\^<|\\^>|\\!=)/]}, Parse::RecDescent::_tracefirst($text), q{quantified_p}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/(=|<>|<|>|<=|=>|\\^=|\\^<|\\^>|\\!=)/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(=|<>|<|>|<=|=>|\^=|\^<|\^>|\!=))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: [/SOME|ANY|ALL/i]}, Parse::RecDescent::_tracefirst($text), q{quantified_p}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/SOME|ANY|ALL/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SOME|ANY|ALL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{quantified_p}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [fullselect]}, Parse::RecDescent::_tracefirst($text), q{quantified_p}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{fullselect})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::fullselect($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [fullselect]>>}, Parse::RecDescent::_tracefirst($text), q{quantified_p}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [fullselect]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{quantified_p}, $tracelevel) if defined $::RD_TRACE; $item{q{fullselect}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{quantified_p}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [expression1 /(=|<>|<|>|<=|=>|\\^=|\\^<|\\^>|\\!=)/ /SOME|ANY|ALL/i '(' fullselect ')']<<}, Parse::RecDescent::_tracefirst($text), q{quantified_p}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{quantified_p}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{quantified_p}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{quantified_p}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{quantified_p}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::common_table_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"common_table_expression"}; Parse::RecDescent::_trace(q{Trying rule: [common_table_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [table_name column_list /AS/i get_bracketed]}, Parse::RecDescent::_tracefirst($_[1]), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{common_table_expression}); %item = (__RULE__ => q{common_table_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [table_name]}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [table_name]>>}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{table_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [column_list]}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{column_list})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::column_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [column_list]>>}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{column_list}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/AS/i]}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/AS/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:AS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [get_bracketed]}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{get_bracketed})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::get_bracketed($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [get_bracketed]>>}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [get_bracketed]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{get_bracketed}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { name => $item{table_name}{name}, query => $item[4] }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [table_name column_list /AS/i get_bracketed]<<}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [table_name column_list /AS/i '(' fullselect ')']}, Parse::RecDescent::_tracefirst($_[1]), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{common_table_expression}); %item = (__RULE__ => q{common_table_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [table_name]}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [table_name]>>}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{table_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [column_list]}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{column_list})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::column_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [column_list]>>}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{column_list}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/AS/i]}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/AS/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:AS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [fullselect]}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{fullselect})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::fullselect($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [fullselect]>>}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [fullselect]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{fullselect}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [table_name column_list /AS/i '(' fullselect ')']<<}, Parse::RecDescent::_tracefirst($text), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{common_table_expression}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{common_table_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{common_table_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::after { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"after"}; Parse::RecDescent::_trace(q{Trying rule: [after]}, Parse::RecDescent::_tracefirst($_[1]), q{after}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/AFTER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{after}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{after}); %item = (__RULE__ => q{after}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/AFTER/i]}, Parse::RecDescent::_tracefirst($text), q{after}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:AFTER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/AFTER/i]<<}, Parse::RecDescent::_tracefirst($text), q{after}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{after}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{after}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{after}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{after}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::predicate { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"predicate"}; Parse::RecDescent::_trace(q{Trying rule: [predicate]}, Parse::RecDescent::_tracefirst($_[1]), q{predicate}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [basic_p]}, Parse::RecDescent::_tracefirst($_[1]), q{predicate}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{predicate}); %item = (__RULE__ => q{predicate}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [basic_p]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::basic_p($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [basic_p]>>}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [basic_p]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $item{q{basic_p}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [basic_p]<<}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [quantified_p]}, Parse::RecDescent::_tracefirst($_[1]), q{predicate}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{predicate}); %item = (__RULE__ => q{predicate}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [quantified_p]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::quantified_p($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [quantified_p]>>}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [quantified_p]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $item{q{quantified_p}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [quantified_p]<<}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [between_p]}, Parse::RecDescent::_tracefirst($_[1]), q{predicate}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{predicate}); %item = (__RULE__ => q{predicate}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [between_p]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::between_p($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [between_p]>>}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [between_p]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $item{q{between_p}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [between_p]<<}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [exists_p]}, Parse::RecDescent::_tracefirst($_[1]), q{predicate}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{predicate}); %item = (__RULE__ => q{predicate}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [exists_p]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::exists_p($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [exists_p]>>}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [exists_p]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $item{q{exists_p}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [exists_p]<<}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [in_p]}, Parse::RecDescent::_tracefirst($_[1]), q{predicate}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; $text = $_[1]; my $_savetext; @item = (q{predicate}); %item = (__RULE__ => q{predicate}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [in_p]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::in_p($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [in_p]>>}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [in_p]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $item{q{in_p}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [in_p]<<}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [like_p]}, Parse::RecDescent::_tracefirst($_[1]), q{predicate}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[5]; $text = $_[1]; my $_savetext; @item = (q{predicate}); %item = (__RULE__ => q{predicate}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [like_p]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::like_p($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [like_p]>>}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [like_p]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $item{q{like_p}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [like_p]<<}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [null_p]}, Parse::RecDescent::_tracefirst($_[1]), q{predicate}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[6]; $text = $_[1]; my $_savetext; @item = (q{predicate}); %item = (__RULE__ => q{predicate}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [null_p]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::null_p($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [null_p]>>}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [null_p]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $item{q{null_p}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [null_p]<<}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [type_p]}, Parse::RecDescent::_tracefirst($_[1]), q{predicate}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[7]; $text = $_[1]; my $_savetext; @item = (q{predicate}); %item = (__RULE__ => q{predicate}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [type_p]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::type_p($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [type_p]>>}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [type_p]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $item{q{type_p}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [type_p]<<}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{predicate}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{predicate}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{predicate}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{predicate}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::column_name { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"column_name"}; Parse::RecDescent::_trace(q{Trying rule: [column_name]}, Parse::RecDescent::_tracefirst($_[1]), q{column_name}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [NAME]}, Parse::RecDescent::_tracefirst($_[1]), q{column_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{column_name}); %item = (__RULE__ => q{column_name}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [NAME]}, Parse::RecDescent::_tracefirst($text), q{column_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>}, Parse::RecDescent::_tracefirst($text), q{column_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_name}, $tracelevel) if defined $::RD_TRACE; $item{q{NAME}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [NAME]<<}, Parse::RecDescent::_tracefirst($text), q{column_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{column_name}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{column_name}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{column_name}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{column_name}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::method_invocation { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"method_invocation"}; Parse::RecDescent::_trace(q{Trying rule: [method_invocation]}, Parse::RecDescent::_tracefirst($_[1]), q{method_invocation}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [subject_expression '..' method_name '(']}, Parse::RecDescent::_tracefirst($_[1]), q{method_invocation}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{method_invocation}); %item = (__RULE__ => q{method_invocation}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [subject_expression]}, Parse::RecDescent::_tracefirst($text), q{method_invocation}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::subject_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [subject_expression]>>}, Parse::RecDescent::_tracefirst($text), q{method_invocation}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [subject_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{method_invocation}, $tracelevel) if defined $::RD_TRACE; $item{q{subject_expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: ['..']}, Parse::RecDescent::_tracefirst($text), q{method_invocation}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'..'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\.\.//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [method_name]}, Parse::RecDescent::_tracefirst($text), q{method_invocation}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{method_name})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::method_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [method_name]>>}, Parse::RecDescent::_tracefirst($text), q{method_invocation}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [method_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{method_invocation}, $tracelevel) if defined $::RD_TRACE; $item{q{method_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: ['(']}, Parse::RecDescent::_tracefirst($text), q{method_invocation}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{'('})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_method_invocation, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: ['(']>>}, Parse::RecDescent::_tracefirst($text), q{method_invocation}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_1_of_rule_method_invocation]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{method_invocation}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_method_invocation(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [subject_expression '..' method_name '(']<<}, Parse::RecDescent::_tracefirst($text), q{method_invocation}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{method_invocation}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{method_invocation}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{method_invocation}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{method_invocation}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_dereference_operation { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_dereference_operation"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_dereference_operation]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_dereference_operation}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' expression ')']}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_dereference_operation}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_dereference_operation}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_dereference_operation}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_dereference_operation}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying repeated subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_dereference_operation}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::expression, 1, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [expression]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_dereference_operation}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_dereference_operation}, $tracelevel) if defined $::RD_TRACE; $item{q{expression(s)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_dereference_operation}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['(' expression ')']<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_dereference_operation}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_dereference_operation}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_dereference_operation}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_dereference_operation}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_dereference_operation}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_searched_when_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_searched_when_clause"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_searched_when_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/WHEN/i search_condition /THEN/i result_expression, or /NULL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_searched_when_clause}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_searched_when_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/WHEN/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:WHEN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [search_condition]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{search_condition})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::search_condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [search_condition]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [search_condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{search_condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/THEN/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/THEN/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:THEN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{result_expression, or /NULL/i})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/WHEN/i search_condition /THEN/i result_expression, or /NULL/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::group_bound2 { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"group_bound2"}; Parse::RecDescent::_trace(q{Trying rule: [group_bound2]}, Parse::RecDescent::_tracefirst($_[1]), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/UNBOUNDED\\s+PRECEDING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{group_bound2}); %item = (__RULE__ => q{group_bound2}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/UNBOUNDED\\s+PRECEDING/i]}, Parse::RecDescent::_tracefirst($text), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:UNBOUNDED\s+PRECEDING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/UNBOUNDED\\s+PRECEDING/i]<<}, Parse::RecDescent::_tracefirst($text), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [unsigned_constant /PRECEDING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{group_bound2}); %item = (__RULE__ => q{group_bound2}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [unsigned_constant]}, Parse::RecDescent::_tracefirst($text), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::unsigned_constant($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [unsigned_constant]>>}, Parse::RecDescent::_tracefirst($text), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [unsigned_constant]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; $item{q{unsigned_constant}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/PRECEDING/i]}, Parse::RecDescent::_tracefirst($text), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/PRECEDING/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:PRECEDING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [unsigned_constant /PRECEDING/i]<<}, Parse::RecDescent::_tracefirst($text), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [unsigned_constant /FOLLOWING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{group_bound2}); %item = (__RULE__ => q{group_bound2}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [unsigned_constant]}, Parse::RecDescent::_tracefirst($text), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::unsigned_constant($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [unsigned_constant]>>}, Parse::RecDescent::_tracefirst($text), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [unsigned_constant]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; $item{q{unsigned_constant}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/FOLLOWING/i]}, Parse::RecDescent::_tracefirst($text), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/FOLLOWING/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:FOLLOWING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [unsigned_constant /FOLLOWING/i]<<}, Parse::RecDescent::_tracefirst($text), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CURRENT\\s+ROW/i]}, Parse::RecDescent::_tracefirst($_[1]), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{group_bound2}); %item = (__RULE__ => q{group_bound2}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CURRENT\\s+ROW/i]}, Parse::RecDescent::_tracefirst($text), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CURRENT\s+ROW)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CURRENT\\s+ROW/i]<<}, Parse::RecDescent::_tracefirst($text), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{group_bound2}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{group_bound2}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{group_bound2}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{group_bound2}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::searched_when_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"searched_when_clause"}; Parse::RecDescent::_trace(q{Trying rule: [searched_when_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{searched_when_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/WHEN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{searched_when_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{searched_when_clause}); %item = (__RULE__ => q{searched_when_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying repeated subrule: [/WHEN/i]}, Parse::RecDescent::_tracefirst($text), q{searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_searched_when_clause, 1, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [/WHEN/i]>>}, Parse::RecDescent::_tracefirst($text), q{searched_when_clause}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_1_of_rule_searched_when_clause]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_searched_when_clause(s)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/WHEN/i]<<}, Parse::RecDescent::_tracefirst($text), q{searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{searched_when_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{searched_when_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{searched_when_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::basic_p { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"basic_p"}; Parse::RecDescent::_trace(q{Trying rule: [basic_p]}, Parse::RecDescent::_tracefirst($_[1]), q{basic_p}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [expression /(=|<>|<|>|<=|=>|\\^=|\\^<|\\^>|\\!=)/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{basic_p}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{basic_p}); %item = (__RULE__ => q{basic_p}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{basic_p}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>}, Parse::RecDescent::_tracefirst($text), q{basic_p}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{basic_p}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/(=|<>|<|>|<=|=>|\\^=|\\^<|\\^>|\\!=)/]}, Parse::RecDescent::_tracefirst($text), q{basic_p}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/(=|<>|<|>|<=|=>|\\^=|\\^<|\\^>|\\!=)/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(=|<>|<|>|<=|=>|\^=|\^<|\^>|\!=))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{basic_p}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>}, Parse::RecDescent::_tracefirst($text), q{basic_p}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{basic_p}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [expression /(=|<>|<|>|<=|=>|\\^=|\\^<|\\^>|\\!=)/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{basic_p}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{basic_p}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{basic_p}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{basic_p}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{basic_p}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::asc_option { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"asc_option"}; Parse::RecDescent::_trace(q{Trying rule: [asc_option]}, Parse::RecDescent::_tracefirst($_[1]), q{asc_option}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ASC/i /NULLS\\s+FIRST/i, or /NULLS\\s+LAST/i]}, Parse::RecDescent::_tracefirst($_[1]), q{asc_option}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{asc_option}); %item = (__RULE__ => q{asc_option}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ASC/i]}, Parse::RecDescent::_tracefirst($text), q{asc_option}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ASC)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying repeated subrule: [/NULLS\\s+FIRST/i, or /NULLS\\s+LAST/i]}, Parse::RecDescent::_tracefirst($text), q{asc_option}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{/NULLS\\s+FIRST/i, or /NULLS\\s+LAST/i})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_asc_option, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [/NULLS\\s+FIRST/i, or /NULLS\\s+LAST/i]>>}, Parse::RecDescent::_tracefirst($text), q{asc_option}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_1_of_rule_asc_option]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{asc_option}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_asc_option(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/ASC/i /NULLS\\s+FIRST/i, or /NULLS\\s+LAST/i]<<}, Parse::RecDescent::_tracefirst($text), q{asc_option}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{asc_option}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{asc_option}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{asc_option}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{asc_option}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::search_condition { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"search_condition"}; Parse::RecDescent::_trace(q{Trying rule: [search_condition]}, Parse::RecDescent::_tracefirst($_[1]), q{search_condition}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/[^)]+/]}, Parse::RecDescent::_tracefirst($_[1]), q{search_condition}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{search_condition}); %item = (__RULE__ => q{search_condition}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/[^)]+/]}, Parse::RecDescent::_tracefirst($text), q{search_condition}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:[^)]+)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/[^)]+/]<<}, Parse::RecDescent::_tracefirst($text), q{search_condition}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NOT|/i predicate, or '(' cond]}, Parse::RecDescent::_tracefirst($_[1]), q{search_condition}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{search_condition}); %item = (__RULE__ => q{search_condition}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/NOT|/i]}, Parse::RecDescent::_tracefirst($text), q{search_condition}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:NOT|)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_2_of_rule_search_condition]}, Parse::RecDescent::_tracefirst($text), q{search_condition}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{predicate, or '('})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_2_of_rule_search_condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_2_of_rule_search_condition]>>}, Parse::RecDescent::_tracefirst($text), q{search_condition}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_2_of_rule_search_condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{search_condition}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_2_of_rule_search_condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [cond]}, Parse::RecDescent::_tracefirst($text), q{search_condition}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{cond})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::cond, 0, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [cond]>>}, Parse::RecDescent::_tracefirst($text), q{search_condition}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [cond]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{search_condition}, $tracelevel) if defined $::RD_TRACE; $item{q{cond(s?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/NOT|/i predicate, or '(' cond]<<}, Parse::RecDescent::_tracefirst($text), q{search_condition}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{search_condition}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{search_condition}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{search_condition}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{search_condition}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_operator { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_operator"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_operator]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_operator}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CONCAT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_operator}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_operator}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_operator}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CONCAT/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_operator}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CONCAT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CONCAT/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_operator}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['||']}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_operator}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_operator}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_operator}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['||']}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_operator}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\|\|//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['||']<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_operator}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_operator}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_operator}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_operator}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_operator}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::simple_when_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"simple_when_clause"}; Parse::RecDescent::_trace(q{Trying rule: [simple_when_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{simple_when_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [expression /WHEN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{simple_when_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{simple_when_clause}); %item = (__RULE__ => q{simple_when_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{simple_when_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>}, Parse::RecDescent::_tracefirst($text), q{simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [/WHEN/i]}, Parse::RecDescent::_tracefirst($text), q{simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{/WHEN/i})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_simple_when_clause, 1, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [/WHEN/i]>>}, Parse::RecDescent::_tracefirst($text), q{simple_when_clause}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_1_of_rule_simple_when_clause]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_simple_when_clause(s)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [expression /WHEN/i]<<}, Parse::RecDescent::_tracefirst($text), q{simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{simple_when_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{simple_when_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{simple_when_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::INNER { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"INNER"}; Parse::RecDescent::_trace(q{Trying rule: [INNER]}, Parse::RecDescent::_tracefirst($_[1]), q{INNER}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/inner/i]}, Parse::RecDescent::_tracefirst($_[1]), q{INNER}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{INNER}); %item = (__RULE__ => q{INNER}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/inner/i]}, Parse::RecDescent::_tracefirst($text), q{INNER}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:inner)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/inner/i]<<}, Parse::RecDescent::_tracefirst($text), q{INNER}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{INNER}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{INNER}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{INNER}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{INNER}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::eofile { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"eofile"}; Parse::RecDescent::_trace(q{Trying rule: [eofile]}, Parse::RecDescent::_tracefirst($_[1]), q{eofile}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/^\\Z/]}, Parse::RecDescent::_tracefirst($_[1]), q{eofile}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{eofile}); %item = (__RULE__ => q{eofile}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/^\\Z/]}, Parse::RecDescent::_tracefirst($text), q{eofile}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:^\Z)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/^\\Z/]<<}, Parse::RecDescent::_tracefirst($text), q{eofile}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{eofile}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{eofile}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{eofile}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{eofile}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::cond { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"cond"}; Parse::RecDescent::_trace(q{Trying rule: [cond]}, Parse::RecDescent::_tracefirst($_[1]), q{cond}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/AND/i, or /OR/i /NOT|/i predicate, or '(']}, Parse::RecDescent::_tracefirst($_[1]), q{cond}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{cond}); %item = (__RULE__ => q{cond}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_cond]}, Parse::RecDescent::_tracefirst($text), q{cond}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_cond($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule_cond]>>}, Parse::RecDescent::_tracefirst($text), q{cond}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_cond]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{cond}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_cond}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/NOT|/i]}, Parse::RecDescent::_tracefirst($text), q{cond}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/NOT|/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:NOT|)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_2_of_production_1_of_rule_cond]}, Parse::RecDescent::_tracefirst($text), q{cond}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{predicate, or '('})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_2_of_production_1_of_rule_cond($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_2_of_production_1_of_rule_cond]>>}, Parse::RecDescent::_tracefirst($text), q{cond}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_2_of_production_1_of_rule_cond]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{cond}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_2_of_production_1_of_rule_cond}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/AND/i, or /OR/i /NOT|/i predicate, or '(']<<}, Parse::RecDescent::_tracefirst($text), q{cond}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{cond}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{cond}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{cond}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{cond}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::ld_type { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ld_type"}; Parse::RecDescent::_trace(q{Trying rule: [ld_type]}, Parse::RecDescent::_tracefirst($_[1]), q{ld_type}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [function]}, Parse::RecDescent::_tracefirst($_[1]), q{ld_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ld_type}); %item = (__RULE__ => q{ld_type}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [function]}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [function]>>}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $item{q{function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [function]<<}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' expression ')']}, Parse::RecDescent::_tracefirst($_[1]), q{ld_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{ld_type}); %item = (__RULE__ => q{ld_type}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['(' expression ')']<<}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [constant]}, Parse::RecDescent::_tracefirst($_[1]), q{ld_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{ld_type}); %item = (__RULE__ => q{ld_type}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [constant]}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::constant($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [constant]>>}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [constant]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $item{q{constant}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [constant]<<}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [column_name]}, Parse::RecDescent::_tracefirst($_[1]), q{ld_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{ld_type}); %item = (__RULE__ => q{ld_type}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [column_name]}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::column_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [column_name]>>}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $item{q{column_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [column_name]<<}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [host_variable]}, Parse::RecDescent::_tracefirst($_[1]), q{ld_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; $text = $_[1]; my $_savetext; @item = (q{ld_type}); %item = (__RULE__ => q{ld_type}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [host_variable]}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::host_variable($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [host_variable]>>}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [host_variable]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $item{q{host_variable}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [host_variable]<<}, Parse::RecDescent::_tracefirst($text), q{ld_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{ld_type}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ld_type}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ld_type}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ld_type}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::RIGHT { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"RIGHT"}; Parse::RecDescent::_trace(q{Trying rule: [RIGHT]}, Parse::RecDescent::_tracefirst($_[1]), q{RIGHT}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/right/i]}, Parse::RecDescent::_tracefirst($_[1]), q{RIGHT}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{RIGHT}); %item = (__RULE__ => q{RIGHT}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/right/i]}, Parse::RecDescent::_tracefirst($text), q{RIGHT}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:right)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/right/i]<<}, Parse::RecDescent::_tracefirst($text), q{RIGHT}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{RIGHT}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{RIGHT}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{RIGHT}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{RIGHT}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_method_invocation { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_method_invocation"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_method_invocation]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_method_invocation}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' expression ')']}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_method_invocation}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_method_invocation}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_method_invocation}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_method_invocation}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying repeated subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_method_invocation}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::expression, 1, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [expression]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_method_invocation}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_method_invocation}, $tracelevel) if defined $::RD_TRACE; $item{q{expression(s)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_method_invocation}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['(' expression ')']<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_method_invocation}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_method_invocation}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_method_invocation}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_method_invocation}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_method_invocation}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::LEFT { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"LEFT"}; Parse::RecDescent::_trace(q{Trying rule: [LEFT]}, Parse::RecDescent::_tracefirst($_[1]), q{LEFT}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/left/i]}, Parse::RecDescent::_tracefirst($_[1]), q{LEFT}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{LEFT}); %item = (__RULE__ => q{LEFT}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/left/i]}, Parse::RecDescent::_tracefirst($text), q{LEFT}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:left)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/left/i]<<}, Parse::RecDescent::_tracefirst($text), q{LEFT}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{LEFT}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{LEFT}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{LEFT}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{LEFT}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::table_name { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"table_name"}; Parse::RecDescent::_trace(q{Trying rule: [table_name]}, Parse::RecDescent::_tracefirst($_[1]), q{table_name}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [SCHEMA '.' NAME]}, Parse::RecDescent::_tracefirst($_[1]), q{table_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{table_name}); %item = (__RULE__ => q{table_name}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [SCHEMA]}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::SCHEMA($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [SCHEMA]>>}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [SCHEMA]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $item{q{SCHEMA}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: ['.']}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'.'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\.//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [NAME]}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{NAME})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $item{q{NAME}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { schema => $item[1], name => $item[3] } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [SCHEMA '.' NAME]<<}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [NAME]}, Parse::RecDescent::_tracefirst($_[1]), q{table_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{table_name}); %item = (__RULE__ => q{table_name}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [NAME]}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $item{q{NAME}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { name => $item[1] } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [NAME]<<}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{table_name}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{table_name}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{table_name}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{table_name}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_53_of_rule_sysfun { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_53_of_rule_sysfun"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_53_of_rule_sysfun]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_53_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TRUNCATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_53_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_53_of_rule_sysfun}); %item = (__RULE__ => q{_alternation_1_of_production_53_of_rule_sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/TRUNCATE/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_53_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:TRUNCATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/TRUNCATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_53_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TRUNC/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_53_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_53_of_rule_sysfun}); %item = (__RULE__ => q{_alternation_1_of_production_53_of_rule_sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/TRUNC/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_53_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:TRUNC)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/TRUNC/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_53_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_53_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_53_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_53_of_rule_sysfun}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_53_of_rule_sysfun}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::options { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"options"}; Parse::RecDescent::_trace(q{Trying rule: [options]}, Parse::RecDescent::_tracefirst($_[1]), q{options}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/WITH/i /CASCADED/i, or /LOCAL/i /CHECK\\s+OPTION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{options}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{options}); %item = (__RULE__ => q{options}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/WITH/i]}, Parse::RecDescent::_tracefirst($text), q{options}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:WITH)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_options]}, Parse::RecDescent::_tracefirst($text), q{options}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{/CASCADED/i, or /LOCAL/i})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_options($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule_options]>>}, Parse::RecDescent::_tracefirst($text), q{options}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_options]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{options}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_options}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/CHECK\\s+OPTION/i]}, Parse::RecDescent::_tracefirst($text), q{options}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/CHECK\\s+OPTION/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CHECK\s+OPTION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/WITH/i /CASCADED/i, or /LOCAL/i /CHECK\\s+OPTION/i]<<}, Parse::RecDescent::_tracefirst($text), q{options}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{options}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{options}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{options}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{options}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"function"}; Parse::RecDescent::_trace(q{Trying rule: [function]}, Parse::RecDescent::_tracefirst($_[1]), q{function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SYSIBM\\.|/i, or /SYSFUN\\.|/i, or userdefined_function '(' <leftop: func_args /,/ func_args> ')']}, Parse::RecDescent::_tracefirst($_[1]), q{function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{function}); %item = (__RULE__ => q{function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_function]}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule_function]>>}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying operator: [<leftop: func_args /,/ func_args>]}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{<leftop: func_args /,/ func_args>})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [func_args]}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{func_args})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::func_args($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [func_args]>>}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [func_args]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; $item{q{func_args}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying terminal: [/,/]}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/,/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:,)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; pop @item; if (defined $1) {push @item, $item{'func_args(s)'}=$1; $backtrack=1;} Parse::RecDescent::_trace(q{Trying subrule: [func_args]}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{func_args})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::func_args($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [func_args]>>}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [func_args]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; $item{q{func_args}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<<Didn't match operator: [<leftop: func_args /,/ func_args>]>>}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: [<leftop: func_args /,/ func_args>]<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; push @item, $item{'func_args(s)'}=$_tok||[]; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/SYSIBM\\.|/i, or /SYSFUN\\.|/i, or userdefined_function '(' <leftop: func_args /,/ func_args> ')']<<}, Parse::RecDescent::_tracefirst($text), q{function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_41_of_rule_sysibm_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_41_of_rule_sysibm_function"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_41_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_41_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INTEGER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_41_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_41_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_41_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/INTEGER/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_41_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:INTEGER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/INTEGER/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_41_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INT/]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_41_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_41_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_41_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/INT/]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_41_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:INT)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/INT/]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_41_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_41_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_41_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_41_of_rule_sysibm_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_41_of_rule_sysibm_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_case_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_case_expression"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_case_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [searched_when_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_case_expression}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_case_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [searched_when_clause]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::searched_when_clause($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [searched_when_clause]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [searched_when_clause]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{searched_when_clause}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [searched_when_clause]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [simple_when_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_case_expression}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_case_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [simple_when_clause]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::simple_when_clause($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [simple_when_clause]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [simple_when_clause]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{simple_when_clause}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [simple_when_clause]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_case_expression}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_case_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_case_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_window_order_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_window_order_clause"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_window_order_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sort_key_expression asc_option, or desc_option]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_window_order_clause}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_window_order_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [sort_key_expression]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::sort_key_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [sort_key_expression]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sort_key_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{sort_key_expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [asc_option, or desc_option]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{asc_option, or desc_option})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [asc_option, or desc_option]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [sort_key_expression asc_option, or desc_option]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_window_order_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::create { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"create"}; Parse::RecDescent::_trace(q{Trying rule: [create]}, Parse::RecDescent::_tracefirst($_[1]), q{create}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [CREATE TRIGGER trigger_name before type /ON/i table_name reference_b /FOR EACH ROW/i 'MODE DB2SQL' triggered_action]}, Parse::RecDescent::_tracefirst($_[1]), q{create}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{create}); %item = (__RULE__ => q{create}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [CREATE]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::CREATE($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [CREATE]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [CREATE]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{CREATE}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [TRIGGER]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{TRIGGER})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::TRIGGER($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [TRIGGER]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [TRIGGER]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{TRIGGER}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [trigger_name]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{trigger_name})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::trigger_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [trigger_name]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [trigger_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{trigger_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [before]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{before})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::before($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [before]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [before]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{before}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [type]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{type})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::type($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [type]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [type]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{type}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/ON/i]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/ON/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ON)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [table_name]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_name})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [table_name]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{table_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [reference_b]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{reference_b})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::reference_b, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [reference_b]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [reference_b]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{reference_b(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying terminal: [/FOR EACH ROW/i]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/FOR EACH ROW/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:FOR EACH ROW)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying terminal: ['MODE DB2SQL']}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'MODE DB2SQL'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\AMODE\ DB2SQL//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [triggered_action]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{triggered_action})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::triggered_action($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [triggered_action]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [triggered_action]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{triggered_action}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my $table_name = $item{'table_name'}{'name'}; $return = { table => $table_name, schema => $item{'trigger_name'}{'schema'}, name => $item{'trigger_name'}{'name'}, when => 'before', db_event => $item{'type'}->{'event'}, fields => $item{'type'}{'fields'}, condition => $item{'triggered_action'}{'condition'}, reference => $item{'reference_b'}, granularity => $item[9], action => $item{'triggered_action'}{'statement'} }; push @triggers, $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [CREATE TRIGGER trigger_name before type /ON/i table_name reference_b /FOR EACH ROW/i 'MODE DB2SQL' triggered_action]<<}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [CREATE TRIGGER trigger_name after type /ON/i table_name reference_a /FOR EACH ROW|FOR EACH STATEMENT/i 'MODE DB2SQL' triggered_action]}, Parse::RecDescent::_tracefirst($_[1]), q{create}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{create}); %item = (__RULE__ => q{create}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [CREATE]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::CREATE($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [CREATE]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [CREATE]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{CREATE}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [TRIGGER]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{TRIGGER})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::TRIGGER($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [TRIGGER]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [TRIGGER]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{TRIGGER}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [trigger_name]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{trigger_name})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::trigger_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [trigger_name]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [trigger_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{trigger_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [after]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{after})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::after($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [after]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [after]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{after}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [type]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{type})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::type($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [type]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [type]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{type}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/ON/i]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/ON/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ON)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [table_name]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_name})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [table_name]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{table_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [reference_a]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{reference_a})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::reference_a, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [reference_a]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [reference_a]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{reference_a(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying terminal: [/FOR EACH ROW|FOR EACH STATEMENT/i]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/FOR EACH ROW|FOR EACH STATEMENT/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:FOR EACH ROW|FOR EACH STATEMENT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying terminal: ['MODE DB2SQL']}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'MODE DB2SQL'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\AMODE\ DB2SQL//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [triggered_action]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{triggered_action})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::triggered_action($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [triggered_action]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [triggered_action]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{triggered_action}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my $table_name = $item{'table_name'}{'name'}; $return = { table => $table_name, schema => $item{'trigger_name'}{'schema'}, name => $item{'trigger_name'}{'name'}, when => 'after', db_event => $item{'type'}{'event'}, fields => $item{'type'}{'fields'}, condition => $item{'triggered_action'}{'condition'}, reference => $item{'reference_a'}, granularity => $item[9], action => $item{'triggered_action'}{'statement'} }; push @triggers, $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [CREATE TRIGGER trigger_name after type /ON/i table_name reference_a /FOR EACH ROW|FOR EACH STATEMENT/i 'MODE DB2SQL' triggered_action]<<}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [CREATE /FEDERATED|/i VIEW view_name column_list /AS/i with_expression SQL_procedure_statement]}, Parse::RecDescent::_tracefirst($_[1]), q{create}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{create}); %item = (__RULE__ => q{create}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [CREATE]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::CREATE($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [CREATE]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [CREATE]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{CREATE}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/FEDERATED|/i]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/FEDERATED|/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:FEDERATED|)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [VIEW]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{VIEW})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::VIEW($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [VIEW]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [VIEW]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{VIEW}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [view_name]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{view_name})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::view_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [view_name]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [view_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{view_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [column_list]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{column_list})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::column_list, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [column_list]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [column_list]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{column_list(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying terminal: [/AS/i]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/AS/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:AS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying repeated subrule: [with_expression]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{with_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::with_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [with_expression]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [with_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{with_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying subrule: [SQL_procedure_statement]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{SQL_procedure_statement})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::SQL_procedure_statement($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [SQL_procedure_statement]>>}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [SQL_procedure_statement]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $item{q{SQL_procedure_statement}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { name => $item{view_name}{name}, sql => $item{SQL_procedure_statement}, with => $item{'with_expression(?)'}, fields => $item{'column_list(?)'} }; push @views, $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [CREATE /FEDERATED|/i VIEW view_name column_list /AS/i with_expression SQL_procedure_statement]<<}, Parse::RecDescent::_tracefirst($text), q{create}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{create}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{create}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{create}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{create}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::sysfun { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sysfun"}; Parse::RecDescent::_trace(q{Trying rule: [sysfun]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ABS/i, or /ABSVAL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_sysfun]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_sysfun($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule_sysfun]>>}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_sysfun]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_sysfun}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/ABS/i, or /ABSVAL/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ACOS/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ACOS/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ACOS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/ACOS/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ASCII/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ASCII/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ASCII)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/ASCII/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ASIN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ASIN/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ASIN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/ASIN/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ATAN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ATAN/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ATAN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/ATAN/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ATAN2/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[5]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ATAN2/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ATAN2)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/ATAN2/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CEIL/i, or /CEILING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[6]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_7_of_rule_sysfun]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_7_of_rule_sysfun($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_7_of_rule_sysfun]>>}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_7_of_rule_sysfun]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_7_of_rule_sysfun}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/CEIL/i, or /CEILING/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CHAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[7]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CHAR/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CHAR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CHAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CHR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[8]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CHR/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CHR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CHR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/COS/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[9]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/COS/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:COS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/COS/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/COT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[10]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/COT/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:COT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/COT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DAYNAME/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[11]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DAYNAME/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DAYNAME)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DAYNAME/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DAYOFWEEK/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[12]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DAYOFWEEK/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DAYOFWEEK)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DAYOFWEEK/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DAYOFWEEK_ISO/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[13]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DAYOFWEEK_ISO/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DAYOFWEEK_ISO)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DAYOFWEEK_ISO/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DAYOFYEAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[14]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DAYOFYEAR/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DAYOFYEAR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DAYOFYEAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DEGREES/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[15]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DEGREES/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DEGREES)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DEGREES/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DIFFERENCE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[16]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DIFFERENCE/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DIFFERENCE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DIFFERENCE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DOUBLE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[17]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DOUBLE/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DOUBLE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DOUBLE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/EXP/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[18]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/EXP/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:EXP)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/EXP/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/FLOOR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[19]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/FLOOR/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:FLOOR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/FLOOR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/GET_ROUTINE_SAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[20]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/GET_ROUTINE_SAR/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:GET_ROUTINE_SAR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/GET_ROUTINE_SAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INSERT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[21]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/INSERT/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:INSERT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/INSERT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/JULIAN_DAY/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[22]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/JULIAN_DAY/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:JULIAN_DAY)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/JULIAN_DAY/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LCASE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[23]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/LCASE/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:LCASE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/LCASE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LEFT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[24]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/LEFT/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:LEFT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/LEFT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[25]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/LN/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:LN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/LN/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LOCATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[26]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/LOCATE/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:LOCATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/LOCATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LOG/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[27]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/LOG/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:LOG)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/LOG/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LOG10/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[28]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/LOG10/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:LOG10)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/LOG10/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LTRIM/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[29]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/LTRIM/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:LTRIM)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/LTRIM/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MIDNIGHT_SECONDS/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[30]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/MIDNIGHT_SECONDS/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:MIDNIGHT_SECONDS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/MIDNIGHT_SECONDS/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MOD/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[31]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/MOD/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:MOD)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/MOD/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MONTHNAME/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[32]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/MONTHNAME/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:MONTHNAME)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/MONTHNAME/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/POWER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[33]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/POWER/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:POWER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/POWER/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/PUT_ROUTINE_SAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[34]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/PUT_ROUTINE_SAR/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:PUT_ROUTINE_SAR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/PUT_ROUTINE_SAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/QUARTER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[35]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/QUARTER/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:QUARTER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/QUARTER/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/RADIANS/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[36]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/RADIANS/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:RADIANS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/RADIANS/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/RAND/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[37]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/RAND/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:RAND)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/RAND/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REPEAT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[38]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REPEAT/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REPEAT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/REPEAT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REPLACE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[39]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REPLACE/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REPLACE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/REPLACE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/RIGHT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[40]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/RIGHT/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:RIGHT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/RIGHT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ROUND/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[41]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ROUND/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ROUND)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/ROUND/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/RTRIM/ I]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[42]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/RTRIM/]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:RTRIM)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [I]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{I})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::I($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [I]>>}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [I]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $item{q{I}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/RTRIM/ I]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SIGN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[43]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SIGN/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SIGN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/SIGN/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SIN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[44]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SIN/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SIN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/SIN/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SOUNDEX/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[45]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SOUNDEX/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SOUNDEX)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/SOUNDEX/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SPACE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[46]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SPACE/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SPACE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/SPACE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SQLCACHE_SNAPSHOT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[47]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SQLCACHE_SNAPSHOT/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SQLCACHE_SNAPSHOT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/SQLCACHE_SNAPSHOT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SQRT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[48]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SQRT/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SQRT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/SQRT/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TAN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[49]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/TAN/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:TAN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/TAN/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TIMESTAMP_ISO/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[50]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/TIMESTAMP_ISO/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:TIMESTAMP_ISO)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/TIMESTAMP_ISO/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TIMESTAMPDIFF/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[51]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/TIMESTAMPDIFF/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:TIMESTAMPDIFF)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/TIMESTAMPDIFF/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TRUNCATE/i, or /TRUNC/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[52]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_53_of_rule_sysfun]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_53_of_rule_sysfun($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_53_of_rule_sysfun]>>}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_53_of_rule_sysfun]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_53_of_rule_sysfun}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/TRUNCATE/i, or /TRUNC/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/UCASE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[53]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/UCASE/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:UCASE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/UCASE/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/WEEK/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[54]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/WEEK/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:WEEK)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/WEEK/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/WEEK_ISO/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[55]; $text = $_[1]; my $_savetext; @item = (q{sysfun}); %item = (__RULE__ => q{sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/WEEK_ISO/i]}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:WEEK_ISO)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/WEEK_ISO/i]<<}, Parse::RecDescent::_tracefirst($text), q{sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{sysfun}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sysfun}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sysfun}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sysfun}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SELECTIVITY/i numeric_constant]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SELECTIVITY/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SELECTIVITY)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [numeric_constant]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{numeric_constant})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::numeric_constant($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [numeric_constant]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [numeric_constant]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $item{q{numeric_constant}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/SELECTIVITY/i numeric_constant]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::NAME { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"NAME"}; Parse::RecDescent::_trace(q{Trying rule: [NAME]}, Parse::RecDescent::_tracefirst($_[1]), q{NAME}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/\\w+/]}, Parse::RecDescent::_tracefirst($_[1]), q{NAME}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{NAME}); %item = (__RULE__ => q{NAME}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/\\w+/]}, Parse::RecDescent::_tracefirst($text), q{NAME}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\w+)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/\\w+/]<<}, Parse::RecDescent::_tracefirst($text), q{NAME}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/\\w\{1,18\}/]}, Parse::RecDescent::_tracefirst($_[1]), q{NAME}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{NAME}); %item = (__RULE__ => q{NAME}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/\\w\{1,18\}/]}, Parse::RecDescent::_tracefirst($text), q{NAME}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\w{1,18})//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/\\w\{1,18\}/]<<}, Parse::RecDescent::_tracefirst($text), q{NAME}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{NAME}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{NAME}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{NAME}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{NAME}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::constant { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"constant"}; Parse::RecDescent::_trace(q{Trying rule: [constant]}, Parse::RecDescent::_tracefirst($_[1]), q{constant}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [int_const]}, Parse::RecDescent::_tracefirst($_[1]), q{constant}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{constant}); %item = (__RULE__ => q{constant}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [int_const]}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::int_const($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [int_const]>>}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [int_const]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $item{q{int_const}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [int_const]<<}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [float_const]}, Parse::RecDescent::_tracefirst($_[1]), q{constant}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{constant}); %item = (__RULE__ => q{constant}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [float_const]}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::float_const($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [float_const]>>}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [float_const]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $item{q{float_const}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [float_const]<<}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [dec_const]}, Parse::RecDescent::_tracefirst($_[1]), q{constant}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{constant}); %item = (__RULE__ => q{constant}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [dec_const]}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::dec_const($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [dec_const]>>}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [dec_const]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $item{q{dec_const}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [dec_const]<<}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [char_const]}, Parse::RecDescent::_tracefirst($_[1]), q{constant}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{constant}); %item = (__RULE__ => q{constant}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [char_const]}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::char_const($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [char_const]>>}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [char_const]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $item{q{char_const}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [char_const]<<}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [hex_const]}, Parse::RecDescent::_tracefirst($_[1]), q{constant}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; $text = $_[1]; my $_savetext; @item = (q{constant}); %item = (__RULE__ => q{constant}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [hex_const]}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::hex_const($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [hex_const]>>}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [hex_const]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $item{q{hex_const}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [hex_const]<<}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [grastr_const]}, Parse::RecDescent::_tracefirst($_[1]), q{constant}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[5]; $text = $_[1]; my $_savetext; @item = (q{constant}); %item = (__RULE__ => q{constant}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [grastr_const]}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::grastr_const($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [grastr_const]>>}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [grastr_const]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $item{q{grastr_const}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [grastr_const]<<}, Parse::RecDescent::_tracefirst($text), q{constant}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{constant}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{constant}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{constant}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{constant}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_ranking_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_ranking_function"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_ranking_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_ranking_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/RANK/ '()']}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_ranking_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_ranking_function}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_ranking_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/RANK/]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_ranking_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:RANK)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: ['()']}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_ranking_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'()'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/RANK/ '()']<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_ranking_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DENSE_RANK|DENSERANK/i '()']}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_ranking_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_ranking_function}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_ranking_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DENSE_RANK|DENSERANK/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_ranking_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DENSE_RANK|DENSERANK)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: ['()']}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_ranking_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'()'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/DENSE_RANK|DENSERANK/i '()']<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_ranking_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_ranking_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_ranking_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_ranking_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_ranking_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::window_aggregation_group_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"window_aggregation_group_clause"}; Parse::RecDescent::_trace(q{Trying rule: [window_aggregation_group_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ROWS/i, or /RANGE/i group_start, or group_between, or group_end]}, Parse::RecDescent::_tracefirst($_[1]), q{window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{window_aggregation_group_clause}); %item = (__RULE__ => q{window_aggregation_group_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_window_aggregation_group_clause]}, Parse::RecDescent::_tracefirst($text), q{window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_window_aggregation_group_clause($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule_window_aggregation_group_clause]>>}, Parse::RecDescent::_tracefirst($text), q{window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_window_aggregation_group_clause]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_window_aggregation_group_clause}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [_alternation_2_of_production_1_of_rule_window_aggregation_group_clause]}, Parse::RecDescent::_tracefirst($text), q{window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{group_start, or group_between, or group_end})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_2_of_production_1_of_rule_window_aggregation_group_clause($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_2_of_production_1_of_rule_window_aggregation_group_clause]>>}, Parse::RecDescent::_tracefirst($text), q{window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_2_of_production_1_of_rule_window_aggregation_group_clause]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/ROWS/i, or /RANGE/i group_start, or group_between, or group_end]<<}, Parse::RecDescent::_tracefirst($text), q{window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{window_aggregation_group_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{window_aggregation_group_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_2_of_production_1_of_rule_window_aggregation_group_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_2_of_production_1_of_rule_window_aggregation_group_clause"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_2_of_production_1_of_rule_window_aggregation_group_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [group_start]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [group_start]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::group_start($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [group_start]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [group_start]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{group_start}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [group_start]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [group_between]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [group_between]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::group_between($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [group_between]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [group_between]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{group_between}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [group_between]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [group_end]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [group_end]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::group_end($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [group_end]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [group_end]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{group_end}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [group_end]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_2_of_production_1_of_rule_window_aggregation_group_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::VIEW { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"VIEW"}; Parse::RecDescent::_trace(q{Trying rule: [VIEW]}, Parse::RecDescent::_tracefirst($_[1]), q{VIEW}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/view/i]}, Parse::RecDescent::_tracefirst($_[1]), q{VIEW}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{VIEW}); %item = (__RULE__ => q{VIEW}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/view/i]}, Parse::RecDescent::_tracefirst($text), q{VIEW}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:view)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/view/i]<<}, Parse::RecDescent::_tracefirst($text), q{VIEW}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{VIEW}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{VIEW}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{VIEW}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{VIEW}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::with_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"with_expression"}; Parse::RecDescent::_trace(q{Trying rule: [with_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{with_expression}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/WITH/i <leftop: common_table_expression /,/ common_table_expression>]}, Parse::RecDescent::_tracefirst($_[1]), q{with_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{with_expression}); %item = (__RULE__ => q{with_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/WITH/i]}, Parse::RecDescent::_tracefirst($text), q{with_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:WITH)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying operator: [<leftop: common_table_expression /,/ common_table_expression>]}, Parse::RecDescent::_tracefirst($text), q{with_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{<leftop: common_table_expression /,/ common_table_expression>})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [common_table_expression]}, Parse::RecDescent::_tracefirst($text), q{with_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{common_table_expression})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::common_table_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [common_table_expression]>>}, Parse::RecDescent::_tracefirst($text), q{with_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [common_table_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{with_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{common_table_expression}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying terminal: [/,/]}, Parse::RecDescent::_tracefirst($text), q{with_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/,/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:,)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; pop @item; if (defined $1) {push @item, $item{'common_table_expression(s)'}=$1; $backtrack=1;} Parse::RecDescent::_trace(q{Trying subrule: [common_table_expression]}, Parse::RecDescent::_tracefirst($text), q{with_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{common_table_expression})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::common_table_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [common_table_expression]>>}, Parse::RecDescent::_tracefirst($text), q{with_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [common_table_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{with_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{common_table_expression}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<<Didn't match operator: [<leftop: common_table_expression /,/ common_table_expression>]>>}, Parse::RecDescent::_tracefirst($text), q{with_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: [<leftop: common_table_expression /,/ common_table_expression>]<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{with_expression}, $tracelevel) if defined $::RD_TRACE; push @item, $item{'common_table_expression(s)'}=$_tok||[]; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{with_expression}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{'common_table_expression'}; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/WITH/i <leftop: common_table_expression /,/ common_table_expression>]<<}, Parse::RecDescent::_tracefirst($text), q{with_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{with_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{with_expression}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{with_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{with_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::numeric_constant { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"numeric_constant"}; Parse::RecDescent::_trace(q{Trying rule: [numeric_constant]}, Parse::RecDescent::_tracefirst($_[1]), q{numeric_constant}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/\\d+/]}, Parse::RecDescent::_tracefirst($_[1]), q{numeric_constant}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{numeric_constant}); %item = (__RULE__ => q{numeric_constant}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/\\d+/]}, Parse::RecDescent::_tracefirst($text), q{numeric_constant}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\d+)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/\\d+/]<<}, Parse::RecDescent::_tracefirst($text), q{numeric_constant}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{numeric_constant}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{numeric_constant}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{numeric_constant}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{numeric_constant}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::old_new_table { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"old_new_table"}; Parse::RecDescent::_trace(q{Trying rule: [old_new_table]}, Parse::RecDescent::_tracefirst($_[1]), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/OLD_TABLE/i /(AS)?/i identifier]}, Parse::RecDescent::_tracefirst($_[1]), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{old_new_table}); %item = (__RULE__ => q{old_new_table}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/OLD_TABLE/i]}, Parse::RecDescent::_tracefirst($text), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:OLD_TABLE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: [/(AS)?/i]}, Parse::RecDescent::_tracefirst($text), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/(AS)?/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(AS)?)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [identifier]}, Parse::RecDescent::_tracefirst($text), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{identifier})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [identifier]>>}, Parse::RecDescent::_tracefirst($text), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; $item{q{identifier}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = join(' ', @item[1..3] ) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/OLD_TABLE/i /(AS)?/i identifier]<<}, Parse::RecDescent::_tracefirst($text), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NEW_TABLE/i /(AS)?/i identifier]}, Parse::RecDescent::_tracefirst($_[1]), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{old_new_table}); %item = (__RULE__ => q{old_new_table}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/NEW_TABLE/i]}, Parse::RecDescent::_tracefirst($text), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:NEW_TABLE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: [/(AS)?/i]}, Parse::RecDescent::_tracefirst($text), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/(AS)?/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(AS)?)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [identifier]}, Parse::RecDescent::_tracefirst($text), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{identifier})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [identifier]>>}, Parse::RecDescent::_tracefirst($text), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; $item{q{identifier}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = join(' ', @item[1..3] ) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/NEW_TABLE/i /(AS)?/i identifier]<<}, Parse::RecDescent::_tracefirst($text), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{old_new_table}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{old_new_table}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{old_new_table}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{old_new_table}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_numbering_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_numbering_function"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_numbering_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [window_order_clause window_aggregation_group_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_numbering_function}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_numbering_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [window_order_clause]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::window_order_clause($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [window_order_clause]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [window_order_clause]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; $item{q{window_order_clause}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [window_aggregation_group_clause]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{window_aggregation_group_clause})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::window_aggregation_group_clause, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [window_aggregation_group_clause]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [window_aggregation_group_clause]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; $item{q{window_aggregation_group_clause(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [window_order_clause window_aggregation_group_clause]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_numbering_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_numbering_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_numbering_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [result_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [result_expression]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::result_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [result_expression]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [result_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{result_expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [result_expression]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NULL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/NULL/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:NULL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/NULL/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::old_new_corr { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"old_new_corr"}; Parse::RecDescent::_trace(q{Trying rule: [old_new_corr]}, Parse::RecDescent::_tracefirst($_[1]), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/OLD/i /(AS)?/i correlation_name]}, Parse::RecDescent::_tracefirst($_[1]), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{old_new_corr}); %item = (__RULE__ => q{old_new_corr}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/OLD/i]}, Parse::RecDescent::_tracefirst($text), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:OLD)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: [/(AS)?/i]}, Parse::RecDescent::_tracefirst($text), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/(AS)?/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(AS)?)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [correlation_name]}, Parse::RecDescent::_tracefirst($text), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{correlation_name})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::correlation_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [correlation_name]>>}, Parse::RecDescent::_tracefirst($text), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [correlation_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; $item{q{correlation_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = join(' ', @item[1..3] ) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/OLD/i /(AS)?/i correlation_name]<<}, Parse::RecDescent::_tracefirst($text), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NEW/i /(AS)?/i correlation_name]}, Parse::RecDescent::_tracefirst($_[1]), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{old_new_corr}); %item = (__RULE__ => q{old_new_corr}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/NEW/i]}, Parse::RecDescent::_tracefirst($text), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:NEW)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: [/(AS)?/i]}, Parse::RecDescent::_tracefirst($text), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/(AS)?/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(AS)?)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [correlation_name]}, Parse::RecDescent::_tracefirst($text), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{correlation_name})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::correlation_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [correlation_name]>>}, Parse::RecDescent::_tracefirst($text), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [correlation_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; $item{q{correlation_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = join(' ', @item[1..3] ) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/NEW/i /(AS)?/i correlation_name]<<}, Parse::RecDescent::_tracefirst($text), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{old_new_corr}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{old_new_corr}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{old_new_corr}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_42_of_rule_sysibm_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_42_of_rule_sysibm_function"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_42_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_42_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LCASE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_42_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_42_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_42_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/LCASE/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_42_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:LCASE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/LCASE/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_42_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LOWER/]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_42_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_42_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_42_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/LOWER/]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_42_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:LOWER)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/LOWER/]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_42_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_42_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_42_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_42_of_rule_sysibm_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_42_of_rule_sysibm_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::subtype_treatment { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"subtype_treatment"}; Parse::RecDescent::_trace(q{Trying rule: [subtype_treatment]}, Parse::RecDescent::_tracefirst($_[1]), q{subtype_treatment}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TREAT/i '(' expression /AS/i data_type ')']}, Parse::RecDescent::_tracefirst($_[1]), q{subtype_treatment}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{subtype_treatment}); %item = (__RULE__ => q{subtype_treatment}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/TREAT/i]}, Parse::RecDescent::_tracefirst($text), q{subtype_treatment}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:TREAT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{subtype_treatment}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{subtype_treatment}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>}, Parse::RecDescent::_tracefirst($text), q{subtype_treatment}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{subtype_treatment}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/AS/i]}, Parse::RecDescent::_tracefirst($text), q{subtype_treatment}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/AS/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:AS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [data_type]}, Parse::RecDescent::_tracefirst($text), q{subtype_treatment}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{data_type})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::data_type($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [data_type]>>}, Parse::RecDescent::_tracefirst($text), q{subtype_treatment}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [data_type]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{subtype_treatment}, $tracelevel) if defined $::RD_TRACE; $item{q{data_type}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{subtype_treatment}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/TREAT/i '(' expression /AS/i data_type ')']<<}, Parse::RecDescent::_tracefirst($text), q{subtype_treatment}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{subtype_treatment}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{subtype_treatment}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{subtype_treatment}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{subtype_treatment}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"expression"}; Parse::RecDescent::_trace(q{Trying rule: [expression]}, Parse::RecDescent::_tracefirst($_[1]), q{expression}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [<leftop: '+', or '-' /operator/ '+', or '-'>]}, Parse::RecDescent::_tracefirst($_[1]), q{expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{expression}); %item = (__RULE__ => q{expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying operator: [<leftop: '+', or '-' /operator/ '+', or '-'>]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_expression]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{'+', or '-'})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule_expression]>>}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_expression}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying terminal: [/operator/]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/operator/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:operator)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; pop @item; if (defined $1) {push @item, $item{'_alternation_1_of_production_1_of_rule_expression(s)'}=$1; $backtrack=1;} Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_expression]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{'+', or '-'})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule_expression]>>}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_expression}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<<Didn't match operator: [<leftop: '+', or '-' /operator/ '+', or '-'>]>>}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: [<leftop: '+', or '-' /operator/ '+', or '-'>]<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; push @item, $item{'_alternation_1_of_production_1_of_rule_expression(s)'}=$_tok||[]; Parse::RecDescent::_trace(q{>>Matched production: [<leftop: '+', or '-' /operator/ '+', or '-'>]<<}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{expression}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [function]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [function]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [function]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' expression ')']}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['(' expression ')']<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [constant]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [constant]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::constant($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [constant]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [constant]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{constant}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [constant]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [column_name]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [column_name]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::column_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [column_name]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{column_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [column_name]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [host_variable]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [host_variable]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::host_variable($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [host_variable]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [host_variable]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{host_variable}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [host_variable]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [special_register]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[5]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [special_register]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::special_register($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [special_register]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [special_register]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{special_register}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [special_register]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' scalar_fullselect ')']}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[6]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [scalar_fullselect]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{scalar_fullselect})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::scalar_fullselect($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [scalar_fullselect]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [scalar_fullselect]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{scalar_fullselect}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: ['(' scalar_fullselect ')']<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [labeled_duration]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[7]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [labeled_duration]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::labeled_duration($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [labeled_duration]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [labeled_duration]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{labeled_duration}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [labeled_duration]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [case_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[8]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [case_expression]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::case_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [case_expression]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [case_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{case_expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [case_expression]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [cast_specification]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[9]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [cast_specification]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::cast_specification($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [cast_specification]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [cast_specification]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{cast_specification}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [cast_specification]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [OLAP_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[10]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [OLAP_function]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::OLAP_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [OLAP_function]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [OLAP_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{OLAP_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [OLAP_function]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [method_invocation]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[11]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [method_invocation]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::method_invocation($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [method_invocation]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [method_invocation]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{method_invocation}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [method_invocation]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [subtype_treatment]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[12]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [subtype_treatment]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::subtype_treatment($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [subtype_treatment]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [subtype_treatment]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{subtype_treatment}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [subtype_treatment]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sequence_reference]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[13]; $text = $_[1]; my $_savetext; @item = (q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); %item = (__RULE__ => q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [sequence_reference]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::sequence_reference($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [sequence_reference]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sequence_reference]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{sequence_reference}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [sequence_reference]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::startrule { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"startrule"}; Parse::RecDescent::_trace(q{Trying rule: [startrule]}, Parse::RecDescent::_tracefirst($_[1]), q{startrule}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [statement eofile]}, Parse::RecDescent::_tracefirst($_[1]), q{startrule}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{startrule}); %item = (__RULE__ => q{startrule}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying repeated subrule: [statement]}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::statement, 1, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [statement]>>}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [statement]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $item{q{statement(s)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying subrule: [eofile]}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{eofile})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::eofile($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [eofile]>>}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [eofile]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $item{q{eofile}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { tables => \%tables, views => \@views, triggers => \@triggers, } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [statement eofile]<<}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{startrule}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{startrule}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{startrule}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{startrule}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_cast_specification { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_cast_specification"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_cast_specification]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [expression]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_cast_specification}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_cast_specification}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [expression]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NULL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_cast_specification}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_cast_specification}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/NULL/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:NULL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/NULL/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [parameter_marker]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_cast_specification}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_cast_specification}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [parameter_marker]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::parameter_marker($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [parameter_marker]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [parameter_marker]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $item{q{parameter_marker}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [parameter_marker]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_cast_specification}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::before { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"before"}; Parse::RecDescent::_trace(q{Trying rule: [before]}, Parse::RecDescent::_tracefirst($_[1]), q{before}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NO CASCADE BEFORE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{before}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{before}); %item = (__RULE__ => q{before}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/NO CASCADE BEFORE/i]}, Parse::RecDescent::_tracefirst($text), q{before}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:NO CASCADE BEFORE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/NO CASCADE BEFORE/i]<<}, Parse::RecDescent::_tracefirst($text), q{before}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{before}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{before}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{before}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{before}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_83_of_rule_sysibm_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_83_of_rule_sysibm_function"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_83_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_83_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/UCASE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_83_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_83_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_83_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/UCASE/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_83_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:UCASE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/UCASE/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_83_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/UPPER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_83_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_83_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_83_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/UPPER/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_83_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:UPPER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/UPPER/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_83_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_83_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_83_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_83_of_rule_sysibm_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_83_of_rule_sysibm_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::ranking_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ranking_function"}; Parse::RecDescent::_trace(q{Trying rule: [ranking_function]}, Parse::RecDescent::_tracefirst($_[1]), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/RANK/, or /DENSE_RANK|DENSERANK/i /OVER/i '(' window_partition_clause window_order_clause ')']}, Parse::RecDescent::_tracefirst($_[1]), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ranking_function}); %item = (__RULE__ => q{ranking_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_ranking_function]}, Parse::RecDescent::_tracefirst($text), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_ranking_function($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule_ranking_function]>>}, Parse::RecDescent::_tracefirst($text), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_ranking_function]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_ranking_function}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/OVER/i]}, Parse::RecDescent::_tracefirst($text), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/OVER/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:OVER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying repeated subrule: [window_partition_clause]}, Parse::RecDescent::_tracefirst($text), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{window_partition_clause})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::window_partition_clause, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [window_partition_clause]>>}, Parse::RecDescent::_tracefirst($text), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [window_partition_clause]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; $item{q{window_partition_clause(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying subrule: [window_order_clause]}, Parse::RecDescent::_tracefirst($text), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{window_order_clause})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::window_order_clause($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [window_order_clause]>>}, Parse::RecDescent::_tracefirst($text), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [window_order_clause]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; $item{q{window_order_clause}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/RANK/, or /DENSE_RANK|DENSERANK/i /OVER/i '(' window_partition_clause window_order_clause ')']<<}, Parse::RecDescent::_tracefirst($text), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{ranking_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ranking_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ranking_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ranking_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SELECTIVITY/i numeric_constant]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SELECTIVITY/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SELECTIVITY)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [numeric_constant]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{numeric_constant})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::numeric_constant($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [numeric_constant]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [numeric_constant]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $item{q{numeric_constant}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/SELECTIVITY/i numeric_constant]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_sysibm_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_sysibm_function"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ABS/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ABS/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ABS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/ABS/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ABSVAL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ABSVAL/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ABSVAL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/ABSVAL/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_sysibm_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_sysibm_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::reference_b { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"reference_b"}; Parse::RecDescent::_trace(q{Trying rule: [reference_b]}, Parse::RecDescent::_tracefirst($_[1]), q{reference_b}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REFERENCING/i old_new_corr]}, Parse::RecDescent::_tracefirst($_[1]), q{reference_b}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{reference_b}); %item = (__RULE__ => q{reference_b}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REFERENCING/i]}, Parse::RecDescent::_tracefirst($text), q{reference_b}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REFERENCING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying repeated subrule: [old_new_corr]}, Parse::RecDescent::_tracefirst($text), q{reference_b}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{old_new_corr})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::old_new_corr, 0, 2, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [old_new_corr]>>}, Parse::RecDescent::_tracefirst($text), q{reference_b}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [old_new_corr]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{reference_b}, $tracelevel) if defined $::RD_TRACE; $item{q{old_new_corr(0..2)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{reference_b}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = join(' ', $item[1], join(' ', @{$item[2]}) ) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/REFERENCING/i old_new_corr]<<}, Parse::RecDescent::_tracefirst($text), q{reference_b}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{reference_b}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{reference_b}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{reference_b}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{reference_b}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_simple_when_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_simple_when_clause"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_simple_when_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/WHEN/i search_condition /THEN/i result_expression, or /NULL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_simple_when_clause}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_simple_when_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/WHEN/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:WHEN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [search_condition]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{search_condition})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::search_condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [search_condition]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [search_condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{search_condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/THEN/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/THEN/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:THEN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{result_expression, or /NULL/i})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause]>>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/WHEN/i search_condition /THEN/i result_expression, or /NULL/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_simple_when_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_9_of_rule_sysibm_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_9_of_rule_sysibm_function"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_9_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_9_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CORRELATION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_9_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_9_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_9_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CORRELATION/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_9_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CORRELATION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CORRELATION/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_9_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CORR/]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_9_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_9_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_9_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CORR/]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_9_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CORR)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CORR/]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_9_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_9_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_9_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_9_of_rule_sysibm_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_9_of_rule_sysibm_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_7_of_rule_sysfun { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_7_of_rule_sysfun"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_7_of_rule_sysfun]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_7_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CEIL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_7_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_7_of_rule_sysfun}); %item = (__RULE__ => q{_alternation_1_of_production_7_of_rule_sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CEIL/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_7_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CEIL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CEIL/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_7_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CEILING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_7_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_7_of_rule_sysfun}); %item = (__RULE__ => q{_alternation_1_of_production_7_of_rule_sysfun}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CEILING/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_7_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CEILING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CEILING/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_7_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_7_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_7_of_rule_sysfun}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_7_of_rule_sysfun}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_7_of_rule_sysfun}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::prevval_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"prevval_expression"}; Parse::RecDescent::_trace(q{Trying rule: [prevval_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{prevval_expression}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/PREVVAL\\s+FOR/i sequence_name]}, Parse::RecDescent::_tracefirst($_[1]), q{prevval_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{prevval_expression}); %item = (__RULE__ => q{prevval_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/PREVVAL\\s+FOR/i]}, Parse::RecDescent::_tracefirst($text), q{prevval_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:PREVVAL\s+FOR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [sequence_name]}, Parse::RecDescent::_tracefirst($text), q{prevval_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{sequence_name})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::sequence_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [sequence_name]>>}, Parse::RecDescent::_tracefirst($text), q{prevval_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sequence_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{prevval_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{sequence_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/PREVVAL\\s+FOR/i sequence_name]<<}, Parse::RecDescent::_tracefirst($text), q{prevval_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{prevval_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{prevval_expression}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{prevval_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{prevval_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::where_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"where_clause"}; Parse::RecDescent::_trace(q{Trying rule: [where_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{where_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [WHERE search_condition]}, Parse::RecDescent::_tracefirst($_[1]), q{where_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{where_clause}); %item = (__RULE__ => q{where_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [WHERE]}, Parse::RecDescent::_tracefirst($text), q{where_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::WHERE($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [WHERE]>>}, Parse::RecDescent::_tracefirst($text), q{where_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [WHERE]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{where_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{WHERE}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [search_condition]}, Parse::RecDescent::_tracefirst($text), q{where_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{search_condition})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::search_condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [search_condition]>>}, Parse::RecDescent::_tracefirst($text), q{where_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [search_condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{where_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{search_condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [WHERE search_condition]<<}, Parse::RecDescent::_tracefirst($text), q{where_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{where_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{where_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{where_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{where_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::group_start { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"group_start"}; Parse::RecDescent::_trace(q{Trying rule: [group_start]}, Parse::RecDescent::_tracefirst($_[1]), q{group_start}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/UNBOUNDED\\s+PRECEDING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{group_start}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{group_start}); %item = (__RULE__ => q{group_start}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/UNBOUNDED\\s+PRECEDING/i]}, Parse::RecDescent::_tracefirst($text), q{group_start}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:UNBOUNDED\s+PRECEDING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/UNBOUNDED\\s+PRECEDING/i]<<}, Parse::RecDescent::_tracefirst($text), q{group_start}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [unsigned_constant /PRECEDING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{group_start}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{group_start}); %item = (__RULE__ => q{group_start}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [unsigned_constant]}, Parse::RecDescent::_tracefirst($text), q{group_start}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::unsigned_constant($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [unsigned_constant]>>}, Parse::RecDescent::_tracefirst($text), q{group_start}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [unsigned_constant]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{group_start}, $tracelevel) if defined $::RD_TRACE; $item{q{unsigned_constant}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/PRECEDING/i]}, Parse::RecDescent::_tracefirst($text), q{group_start}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/PRECEDING/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:PRECEDING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [unsigned_constant /PRECEDING/i]<<}, Parse::RecDescent::_tracefirst($text), q{group_start}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CURRENT\\s+ROW/i]}, Parse::RecDescent::_tracefirst($_[1]), q{group_start}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{group_start}); %item = (__RULE__ => q{group_start}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/CURRENT\\s+ROW/i]}, Parse::RecDescent::_tracefirst($text), q{group_start}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:CURRENT\s+ROW)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/CURRENT\\s+ROW/i]<<}, Parse::RecDescent::_tracefirst($text), q{group_start}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{group_start}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{group_start}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{group_start}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{group_start}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::correlation_name { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"correlation_name"}; Parse::RecDescent::_trace(q{Trying rule: [correlation_name]}, Parse::RecDescent::_tracefirst($_[1]), q{correlation_name}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [NAME]}, Parse::RecDescent::_tracefirst($_[1]), q{correlation_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{correlation_name}); %item = (__RULE__ => q{correlation_name}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [NAME]}, Parse::RecDescent::_tracefirst($text), q{correlation_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>}, Parse::RecDescent::_tracefirst($text), q{correlation_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{correlation_name}, $tracelevel) if defined $::RD_TRACE; $item{q{NAME}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [NAME]<<}, Parse::RecDescent::_tracefirst($text), q{correlation_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{correlation_name}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{correlation_name}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{correlation_name}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{correlation_name}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::SQL_procedure_statement { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SQL_procedure_statement"}; Parse::RecDescent::_trace(q{Trying rule: [SQL_procedure_statement]}, Parse::RecDescent::_tracefirst($_[1]), q{SQL_procedure_statement}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/[^;]*/ /(;|\\z)/]}, Parse::RecDescent::_tracefirst($_[1]), q{SQL_procedure_statement}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SQL_procedure_statement}); %item = (__RULE__ => q{SQL_procedure_statement}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/[^;]*/]}, Parse::RecDescent::_tracefirst($text), q{SQL_procedure_statement}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:[^;]*)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying terminal: [/(;|\\z)/]}, Parse::RecDescent::_tracefirst($text), q{SQL_procedure_statement}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/(;|\\z)/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(;|\z))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SQL_procedure_statement}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] . $item[2] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/[^;]*/ /(;|\\z)/]<<}, Parse::RecDescent::_tracefirst($text), q{SQL_procedure_statement}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{SQL_procedure_statement}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SQL_procedure_statement}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SQL_procedure_statement}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SQL_procedure_statement}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::group_between { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"group_between"}; Parse::RecDescent::_trace(q{Trying rule: [group_between]}, Parse::RecDescent::_tracefirst($_[1]), q{group_between}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/BETWEEN/i group_bound1 /AND/i group_bound2]}, Parse::RecDescent::_tracefirst($_[1]), q{group_between}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{group_between}); %item = (__RULE__ => q{group_between}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/BETWEEN/i]}, Parse::RecDescent::_tracefirst($text), q{group_between}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:BETWEEN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [group_bound1]}, Parse::RecDescent::_tracefirst($text), q{group_between}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{group_bound1})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::group_bound1($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [group_bound1]>>}, Parse::RecDescent::_tracefirst($text), q{group_between}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [group_bound1]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{group_between}, $tracelevel) if defined $::RD_TRACE; $item{q{group_bound1}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/AND/i]}, Parse::RecDescent::_tracefirst($text), q{group_between}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/AND/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:AND)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [group_bound2]}, Parse::RecDescent::_tracefirst($text), q{group_between}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{group_bound2})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::group_bound2($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [group_bound2]>>}, Parse::RecDescent::_tracefirst($text), q{group_between}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [group_bound2]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{group_between}, $tracelevel) if defined $::RD_TRACE; $item{q{group_bound2}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/BETWEEN/i group_bound1 /AND/i group_bound2]<<}, Parse::RecDescent::_tracefirst($text), q{group_between}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{group_between}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{group_between}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{group_between}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{group_between}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::nextval_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"nextval_expression"}; Parse::RecDescent::_trace(q{Trying rule: [nextval_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{nextval_expression}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NEXTVAL\\s+FOR/i sequence_name]}, Parse::RecDescent::_tracefirst($_[1]), q{nextval_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{nextval_expression}); %item = (__RULE__ => q{nextval_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/NEXTVAL\\s+FOR/i]}, Parse::RecDescent::_tracefirst($text), q{nextval_expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:NEXTVAL\s+FOR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [sequence_name]}, Parse::RecDescent::_tracefirst($text), q{nextval_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{sequence_name})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::sequence_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [sequence_name]>>}, Parse::RecDescent::_tracefirst($text), q{nextval_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sequence_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{nextval_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{sequence_name}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [/NEXTVAL\\s+FOR/i sequence_name]<<}, Parse::RecDescent::_tracefirst($text), q{nextval_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{nextval_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{nextval_expression}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{nextval_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{nextval_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::desc_option { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"desc_option"}; Parse::RecDescent::_trace(q{Trying rule: [desc_option]}, Parse::RecDescent::_tracefirst($_[1]), q{desc_option}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DESC/i /NULLS\\s+FIRST/i, or /NULLS\\s+LAST/i]}, Parse::RecDescent::_tracefirst($_[1]), q{desc_option}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{desc_option}); %item = (__RULE__ => q{desc_option}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/DESC/i]}, Parse::RecDescent::_tracefirst($text), q{desc_option}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:DESC)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying repeated subrule: [/NULLS\\s+FIRST/i, or /NULLS\\s+LAST/i]}, Parse::RecDescent::_tracefirst($text), q{desc_option}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{/NULLS\\s+FIRST/i, or /NULLS\\s+LAST/i})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_desc_option, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [/NULLS\\s+FIRST/i, or /NULLS\\s+LAST/i]>>}, Parse::RecDescent::_tracefirst($text), q{desc_option}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_1_of_rule_desc_option]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{desc_option}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_desc_option(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/DESC/i /NULLS\\s+FIRST/i, or /NULLS\\s+LAST/i]<<}, Parse::RecDescent::_tracefirst($text), q{desc_option}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{desc_option}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{desc_option}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{desc_option}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{desc_option}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::column_list { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"column_list"}; Parse::RecDescent::_trace(q{Trying rule: [column_list]}, Parse::RecDescent::_tracefirst($_[1]), q{column_list}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' <leftop: column_name /,/ column_name> ')']}, Parse::RecDescent::_tracefirst($_[1]), q{column_list}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{column_list}); %item = (__RULE__ => q{column_list}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{column_list}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying operator: [<leftop: column_name /,/ column_name>]}, Parse::RecDescent::_tracefirst($text), q{column_list}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{<leftop: column_name /,/ column_name>})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [column_name]}, Parse::RecDescent::_tracefirst($text), q{column_list}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{column_name})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::column_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [column_name]>>}, Parse::RecDescent::_tracefirst($text), q{column_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_list}, $tracelevel) if defined $::RD_TRACE; $item{q{column_name}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying terminal: [/,/]}, Parse::RecDescent::_tracefirst($text), q{column_list}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/,/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:,)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; pop @item; if (defined $1) {push @item, $item{'column_name(s)'}=$1; $backtrack=1;} Parse::RecDescent::_trace(q{Trying subrule: [column_name]}, Parse::RecDescent::_tracefirst($text), q{column_list}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{column_name})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::column_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [column_name]>>}, Parse::RecDescent::_tracefirst($text), q{column_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_list}, $tracelevel) if defined $::RD_TRACE; $item{q{column_name}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<<Didn't match operator: [<leftop: column_name /,/ column_name>]>>}, Parse::RecDescent::_tracefirst($text), q{column_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: [<leftop: column_name /,/ column_name>]<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{column_list}, $tracelevel) if defined $::RD_TRACE; push @item, $item{'column_name(s)'}=$_tok||[]; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{column_list}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_list}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = join(' ', '(', @{$item[2]}, ')'); }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: ['(' <leftop: column_name /,/ column_name> ')']<<}, Parse::RecDescent::_tracefirst($text), q{column_list}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{column_list}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{column_list}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{column_list}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{column_list}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_63_of_rule_sysibm_function { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_63_of_rule_sysibm_function"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_63_of_rule_sysibm_function]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_63_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REGR_INTERCEPT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_63_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_63_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_63_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REGR_INTERCEPT/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_63_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REGR_INTERCEPT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/REGR_INTERCEPT/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_63_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REGR_ICPT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_63_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_63_of_rule_sysibm_function}); %item = (__RULE__ => q{_alternation_1_of_production_63_of_rule_sysibm_function}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/REGR_ICPT/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_63_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:REGR_ICPT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/REGR_ICPT/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_63_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_63_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_63_of_rule_sysibm_function}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_63_of_rule_sysibm_function}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_63_of_rule_sysibm_function}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::dereference_operation { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"dereference_operation"}; Parse::RecDescent::_trace(q{Trying rule: [dereference_operation]}, Parse::RecDescent::_tracefirst($_[1]), q{dereference_operation}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [scoped_reference_expression '->' name1 '(']}, Parse::RecDescent::_tracefirst($_[1]), q{dereference_operation}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{dereference_operation}); %item = (__RULE__ => q{dereference_operation}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [scoped_reference_expression]}, Parse::RecDescent::_tracefirst($text), q{dereference_operation}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::scoped_reference_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [scoped_reference_expression]>>}, Parse::RecDescent::_tracefirst($text), q{dereference_operation}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [scoped_reference_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{dereference_operation}, $tracelevel) if defined $::RD_TRACE; $item{q{scoped_reference_expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: ['->']}, Parse::RecDescent::_tracefirst($text), q{dereference_operation}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'->'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\-\>//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [name1]}, Parse::RecDescent::_tracefirst($text), q{dereference_operation}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{name1})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::name1($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [name1]>>}, Parse::RecDescent::_tracefirst($text), q{dereference_operation}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [name1]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{dereference_operation}, $tracelevel) if defined $::RD_TRACE; $item{q{name1}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: ['(']}, Parse::RecDescent::_tracefirst($text), q{dereference_operation}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{'('})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_dereference_operation, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: ['(']>>}, Parse::RecDescent::_tracefirst($text), q{dereference_operation}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_1_of_rule_dereference_operation]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{dereference_operation}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_dereference_operation(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [scoped_reference_expression '->' name1 '(']<<}, Parse::RecDescent::_tracefirst($text), q{dereference_operation}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{dereference_operation}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{dereference_operation}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{dereference_operation}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{dereference_operation}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::OUTER { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"OUTER"}; Parse::RecDescent::_trace(q{Trying rule: [OUTER]}, Parse::RecDescent::_tracefirst($_[1]), q{OUTER}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/outer/i]}, Parse::RecDescent::_tracefirst($_[1]), q{OUTER}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{OUTER}); %item = (__RULE__ => q{OUTER}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/outer/i]}, Parse::RecDescent::_tracefirst($text), q{OUTER}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:outer)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/outer/i]<<}, Parse::RecDescent::_tracefirst($text), q{OUTER}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{OUTER}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{OUTER}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{OUTER}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{OUTER}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::window_order_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"window_order_clause"}; Parse::RecDescent::_trace(q{Trying rule: [window_order_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ORDER\\s+BY/i <leftop: sort_key_expression /,/ sort_key_expression>]}, Parse::RecDescent::_tracefirst($_[1]), q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{window_order_clause}); %item = (__RULE__ => q{window_order_clause}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/ORDER\\s+BY/i]}, Parse::RecDescent::_tracefirst($text), q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:ORDER\s+BY)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying operator: [<leftop: sort_key_expression /,/ sort_key_expression>]}, Parse::RecDescent::_tracefirst($text), q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{<leftop: sort_key_expression /,/ sort_key_expression>})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_window_order_clause]}, Parse::RecDescent::_tracefirst($text), q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{sort_key_expression})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_window_order_clause($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule_window_order_clause]>>}, Parse::RecDescent::_tracefirst($text), q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_window_order_clause]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_window_order_clause}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying terminal: [/,/]}, Parse::RecDescent::_tracefirst($text), q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/,/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:,)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN2__}=$&; pop @item; if (defined $1) {push @item, $item{'_alternation_1_of_production_1_of_rule_window_order_clause(s)'}=$1; $backtrack=1;} Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_window_order_clause]}, Parse::RecDescent::_tracefirst($text), q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{sort_key_expression})->at($text); unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::_alternation_1_of_production_1_of_rule_window_order_clause($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule_window_order_clause]>>}, Parse::RecDescent::_tracefirst($text), q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_window_order_clause]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_window_order_clause}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<<Didn't match operator: [<leftop: sort_key_expression /,/ sort_key_expression>]>>}, Parse::RecDescent::_tracefirst($text), q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: [<leftop: sort_key_expression /,/ sort_key_expression>]<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; push @item, $item{'_alternation_1_of_production_1_of_rule_window_order_clause(s)'}=$_tok||[]; Parse::RecDescent::_trace(q{>>Matched production: [/ORDER\\s+BY/i <leftop: sort_key_expression /,/ sort_key_expression>]<<}, Parse::RecDescent::_tracefirst($text), q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{window_order_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{window_order_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{window_order_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::TRIGGER { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"TRIGGER"}; Parse::RecDescent::_trace(q{Trying rule: [TRIGGER]}, Parse::RecDescent::_tracefirst($_[1]), q{TRIGGER}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/trigger/i]}, Parse::RecDescent::_tracefirst($_[1]), q{TRIGGER}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{TRIGGER}); %item = (__RULE__ => q{TRIGGER}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/trigger/i]}, Parse::RecDescent::_tracefirst($text), q{TRIGGER}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:trigger)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{>>Matched production: [/trigger/i]<<}, Parse::RecDescent::_tracefirst($text), q{TRIGGER}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{TRIGGER}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{TRIGGER}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{TRIGGER}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{TRIGGER}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar::comment { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"comment"}; Parse::RecDescent::_trace(q{Trying rule: [comment]}, Parse::RecDescent::_tracefirst($_[1]), q{comment}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/^\\s*-\{2\}.*\\n/]}, Parse::RecDescent::_tracefirst($_[1]), q{comment}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{comment}); %item = (__RULE__ => q{comment}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/^\\s*-\{2\}.*\\n/]}, Parse::RecDescent::_tracefirst($text), q{comment}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:^\s*-{2}.*\n)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<<Didn't match terminal>>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comment}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my $comment = $item[1]; $comment =~ s/^\s*(-{2})\s*//; $comment =~ s/\s*$//; $return = $comment; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/^\\s*-\{2\}.*\\n/]<<}, Parse::RecDescent::_tracefirst($text), q{comment}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<<Didn't match rule>>}, Parse::RecDescent::_tracefirst($_[1]), q{comment}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{comment}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{comment}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{comment}, $tracelevel) } $_[1] = $text; return $return; } } package SQL::Translator::Parser::DB2::Grammar; sub new { my $self = bless( { '_AUTOTREE' => undef, 'localvars' => '', 'startcode' => '', '_check' => { 'thisoffset' => '', 'itempos' => '', 'prevoffset' => '', 'prevline' => '', 'prevcolumn' => '', 'thiscolumn' => '' }, 'namespace' => 'Parse::RecDescent::SQL::Translator::Parser::DB2::Grammar', '_AUTOACTION' => undef, 'rules' => { '_alternation_1_of_production_17_of_rule_sysibm_function' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DECIMAL', 'hashname' => '__PATTERN1__', 'description' => '/DECIMAL/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DEC', 'hashname' => '__PATTERN1__', 'description' => '/DEC/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_17_of_rule_sysibm_function', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'triggered_action' => bless( { 'impcount' => 0, 'calls' => [ 'when_clause', 'SQL_procedure_statement' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 1, 'items' => [ bless( { 'subrule' => 'when_clause', 'expected' => undef, 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 263 }, 'Parse::RecDescent::Repetition' ), bless( { 'subrule' => 'SQL_procedure_statement', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 263 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 264, 'code' => '{ $return = { \'condition\' => $item[1][0], \'statement\' => $item{\'SQL_procedure_statement\'} }; }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'triggered_action', 'vars' => '', 'line' => 263 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_2_of_rule_search_condition' => bless( { 'impcount' => 0, 'calls' => [ 'predicate', '_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition', 'search_condition' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'predicate', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition', 'expected' => '/SELECTIVITY/i', 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Repetition' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 2, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'search_condition', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Literal' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_2_of_rule_search_condition', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'name1' => bless( { 'impcount' => 0, 'calls' => [ 'NAME' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'NAME', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 536 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'name1', 'vars' => '', 'line' => 536 }, 'Parse::RecDescent::Rule' ), '_alternation_2_of_production_1_of_rule_cond' => bless( { 'impcount' => 0, 'calls' => [ 'predicate', '_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond', 'search_condition' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'predicate', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => '_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond', 'expected' => '/SELECTIVITY/i', 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Repetition' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 2, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'search_condition', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Literal' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_2_of_production_1_of_rule_cond', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_expression' => bless( { 'impcount' => 2, 'calls' => [ '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression', '_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression', 'expected' => '\'+\', or \'-\'', 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 611 }, 'Parse::RecDescent::Repetition' ), bless( { 'subrule' => '_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression', 'matchrule' => 0, 'implicit' => 'function, or \'(\', or constant, or column_name, or host_variable, or special_register, or labeled_duration, or case_expression, or cast_specification, or OLAP_function, or method_invocation, or subtype_treatment, or sequence_reference', 'argcode' => undef, 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_expression', 'vars' => '', 'line' => 608 }, 'Parse::RecDescent::Rule' ), 'SCHEMA' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '\\w+', 'hashname' => '__PATTERN1__', 'description' => '/\\\\w+/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 142, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '\\w{1,128}', 'hashname' => '__PATTERN1__', 'description' => '/\\\\w\\{1,128\\}/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 144, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'SCHEMA', 'vars' => '', 'line' => 142 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_87_of_rule_sysibm_function' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'VARIANCE', 'hashname' => '__PATTERN1__', 'description' => '/VARIANCE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'VAR', 'hashname' => '__PATTERN1__', 'description' => '/VAR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_87_of_rule_sysibm_function', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '+', 'hashname' => '__STRING1__', 'description' => '\'+\'', 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Literal' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '-', 'hashname' => '__STRING1__', 'description' => '\'-\'', 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Literal' ) ], 'line' => 627 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression', 'vars' => '', 'line' => 626 }, 'Parse::RecDescent::Rule' ), 'get_bracketed' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 1, 'items' => [ bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 170, 'code' => '{ extract_bracketed($text, \'(\'); }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'get_bracketed', 'vars' => '', 'line' => 169 }, 'Parse::RecDescent::Rule' ), 'labeled_duration' => bless( { 'impcount' => 0, 'calls' => [ 'ld_type', 'ld_duration' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'ld_type', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 480 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'ld_duration', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 480 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'labeled_duration', 'vars' => '', 'line' => 480 }, 'Parse::RecDescent::Rule' ), 'group_end' => bless( { 'impcount' => 0, 'calls' => [ 'unsigned_constant' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'UNBOUNDED\\s+PRECEDING', 'hashname' => '__PATTERN1__', 'description' => '/UNBOUNDED\\\\s+PRECEDING/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 590, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'unsigned_constant', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 591 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'FOLLOWING', 'hashname' => '__PATTERN1__', 'description' => '/FOLLOWING/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 591, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 591 }, 'Parse::RecDescent::Production' ) ], 'name' => 'group_end', 'vars' => '', 'line' => 590 }, 'Parse::RecDescent::Rule' ), 'statement' => bless( { 'impcount' => 0, 'calls' => [ 'comment', 'create' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'comment', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 23 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'create', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 24 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 24 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 1, 'uncommit' => 0, 'error' => 1, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'msg' => '', 'hashname' => '__DIRECTIVE1__', 'commitonly' => '', 'lookahead' => 0, 'line' => 25 }, 'Parse::RecDescent::Error' ) ], 'line' => 25 }, 'Parse::RecDescent::Production' ) ], 'name' => 'statement', 'vars' => '', 'line' => 22 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause' => bless( { 'impcount' => 0, 'calls' => [ 'result_expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'result_expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'NULL', 'hashname' => '__PATTERN1__', 'description' => '/NULL/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 627, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 627 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause', 'vars' => '', 'line' => 626 }, 'Parse::RecDescent::Rule' ), '_alternation_2_of_production_1_of_rule_case_expression' => bless( { 'impcount' => 0, 'calls' => [ 'result_expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ELSE\\s+NULL', 'hashname' => '__PATTERN1__', 'description' => '/ELSE\\\\s+NULL/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 626, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ELSE', 'hashname' => '__PATTERN1__', 'description' => '/ELSE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 627, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'result_expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 627 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_2_of_production_1_of_rule_case_expression', 'vars' => '', 'line' => 626 }, 'Parse::RecDescent::Rule' ), 'subject_expression' => bless( { 'impcount' => 0, 'calls' => [ 'expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 1, 'items' => [ bless( { 'subrule' => 'expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 598 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 599, 'code' => '{ # with static result type that is a used-defined struct type }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'subject_expression', 'vars' => '', 'line' => 598 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_desc_option' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'NULLS\\s+FIRST', 'hashname' => '__PATTERN1__', 'description' => '/NULLS\\\\s+FIRST/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'NULLS\\s+LAST', 'hashname' => '__PATTERN1__', 'description' => '/NULLS\\\\s+LAST/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_desc_option', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'view_name' => bless( { 'impcount' => 0, 'calls' => [ 'SCHEMA', 'NAME' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 1, 'items' => [ bless( { 'subrule' => 'SCHEMA', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 129 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => '.', 'hashname' => '__STRING1__', 'description' => '\'.\'', 'lookahead' => 0, 'line' => 129 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'NAME', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 129 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 130, 'code' => '{ $return = { schema => $item[1], name => $item[3] } }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 1, 'items' => [ bless( { 'subrule' => 'NAME', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 131 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 132, 'code' => '{ $return = { name => $item[1] } }' }, 'Parse::RecDescent::Action' ) ], 'line' => 131 }, 'Parse::RecDescent::Production' ) ], 'name' => 'view_name', 'vars' => '', 'line' => 129 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_cond' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'AND', 'hashname' => '__PATTERN1__', 'description' => '/AND/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'OR', 'hashname' => '__PATTERN1__', 'description' => '/OR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_cond', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'numbering_function' => bless( { 'impcount' => 2, 'calls' => [ 'window_partition_clause', '_alternation_1_of_production_1_of_rule_numbering_function', '_alternation_2_of_production_1_of_rule_numbering_function' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 3, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ROW_NUMBER|ROWNUMBER', 'hashname' => '__PATTERN1__', 'description' => '/ROW_NUMBER|ROWNUMBER/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 546, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => '()', 'hashname' => '__STRING1__', 'description' => '\'()\'', 'lookahead' => 0, 'line' => 546 }, 'Parse::RecDescent::Literal' ), bless( { 'pattern' => 'OVER', 'hashname' => '__PATTERN2__', 'description' => '/OVER/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 546, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => '(', 'hashname' => '__STRING2__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 546 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'window_partition_clause', 'expected' => undef, 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 546 }, 'Parse::RecDescent::Repetition' ), bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_numbering_function', 'expected' => 'window_order_clause', 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 548 }, 'Parse::RecDescent::Repetition' ), bless( { 'subrule' => '_alternation_2_of_production_1_of_rule_numbering_function', 'expected' => '/RANGE\\\\s+BETWEEN\\\\s+UNBOUNDED\\\\s+PRECEDING\\\\s+AND\\\\s+UNBBOUNDED\\\\s+FOLLOWING/i, or window_aggregation_group_clause', 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 551 }, 'Parse::RecDescent::Repetition' ), bless( { 'pattern' => ')', 'hashname' => '__STRING3__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 551 }, 'Parse::RecDescent::Literal' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'numbering_function', 'vars' => '', 'line' => 546 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_window_aggregation_group_clause' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ROWS', 'hashname' => '__PATTERN1__', 'description' => '/ROWS/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 626, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'RANGE', 'hashname' => '__PATTERN1__', 'description' => '/RANGE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 627, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 627 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_window_aggregation_group_clause', 'vars' => '', 'line' => 626 }, 'Parse::RecDescent::Rule' ), 'group_bound1' => bless( { 'impcount' => 0, 'calls' => [ 'unsigned_constant' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'UNBOUNDED\\s+PRECEDING', 'hashname' => '__PATTERN1__', 'description' => '/UNBOUNDED\\\\s+PRECEDING/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 580, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'unsigned_constant', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 581 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'PRECEDING', 'hashname' => '__PATTERN1__', 'description' => '/PRECEDING/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 581, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 581 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'unsigned_constant', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 582 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'FOLLOWING', 'hashname' => '__PATTERN1__', 'description' => '/FOLLOWING/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 582, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 582 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '3', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CURRENT\\s+ROW', 'hashname' => '__PATTERN1__', 'description' => '/CURRENT\\\\s+ROW/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 583, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 583 }, 'Parse::RecDescent::Production' ) ], 'name' => 'group_bound1', 'vars' => '', 'line' => 580 }, 'Parse::RecDescent::Rule' ), 'OLAP_function' => bless( { 'impcount' => 0, 'calls' => [ 'ranking_function', 'numbering_function', 'aggregation_function' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'ranking_function', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 538 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'numbering_function', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 539 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 539 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'aggregation_function', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 540 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 540 }, 'Parse::RecDescent::Production' ) ], 'name' => 'OLAP_function', 'vars' => '', 'line' => 538 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_30_of_rule_sysibm_function' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DOUBLE', 'hashname' => '__PATTERN1__', 'description' => '/DOUBLE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DOUBLE_PRECISION', 'hashname' => '__PATTERN1__', 'description' => '/DOUBLE_PRECISION/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_30_of_rule_sysibm_function', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'FULL' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'full', 'hashname' => '__PATTERN1__', 'description' => '/full/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 113, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'FULL', 'vars' => '', 'line' => 113 }, 'Parse::RecDescent::Rule' ), '_alternation_2_of_production_1_of_rule_cast_specification' => bless( { 'impcount' => 1, 'calls' => [ '_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SCOPE', 'hashname' => '__PATTERN1__', 'description' => '/SCOPE/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 625, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => '_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification', 'matchrule' => 0, 'implicit' => 'typed_table_name, or typed_view_name', 'argcode' => undef, 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_2_of_production_1_of_rule_cast_specification', 'vars' => '', 'line' => 625 }, 'Parse::RecDescent::Rule' ), 'case_expression' => bless( { 'impcount' => 2, 'calls' => [ '_alternation_1_of_production_1_of_rule_case_expression', '_alternation_2_of_production_1_of_rule_case_expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CASE', 'hashname' => '__PATTERN1__', 'description' => '/CASE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 496, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_case_expression', 'matchrule' => 0, 'implicit' => 'searched_when_clause, or simple_when_clause', 'argcode' => undef, 'lookahead' => 0, 'line' => 498 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => '_alternation_2_of_production_1_of_rule_case_expression', 'expected' => '/ELSE\\\\s+NULL/i, or /ELSE/i', 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 501 }, 'Parse::RecDescent::Repetition' ), bless( { 'pattern' => 'END', 'hashname' => '__PATTERN2__', 'description' => '/END/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 501, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'case_expression', 'vars' => '', 'line' => 496 }, 'Parse::RecDescent::Rule' ), 'operator' => bless( { 'impcount' => 0, 'calls' => [ '_alternation_1_of_production_1_of_rule_operator' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_operator', 'matchrule' => 0, 'implicit' => '/CONCAT/i, or \'||\'', 'argcode' => undef, 'lookahead' => 0, 'line' => 321 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '/', 'hashname' => '__STRING1__', 'description' => '\'/\'', 'lookahead' => 0, 'line' => 321 }, 'Parse::RecDescent::Literal' ) ], 'line' => 321 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '*', 'hashname' => '__STRING1__', 'description' => '\'*\'', 'lookahead' => 0, 'line' => 321 }, 'Parse::RecDescent::Literal' ) ], 'line' => 321 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '3', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '+', 'hashname' => '__STRING1__', 'description' => '\'+\'', 'lookahead' => 0, 'line' => 321 }, 'Parse::RecDescent::Literal' ) ], 'line' => 321 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '4', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '-', 'hashname' => '__STRING1__', 'description' => '\'-\'', 'lookahead' => 0, 'line' => 321 }, 'Parse::RecDescent::Literal' ) ], 'line' => 321 }, 'Parse::RecDescent::Production' ) ], 'name' => 'operator', 'vars' => '', 'line' => 321 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_2_of_rule_type' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'INSERT', 'hashname' => '__PATTERN1__', 'description' => '/INSERT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DELETE', 'hashname' => '__PATTERN1__', 'description' => '/DELETE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'UPDATE', 'hashname' => '__PATTERN1__', 'description' => '/UPDATE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_2_of_rule_type', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_8_of_rule_sysibm_function' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CONCAT', 'hashname' => '__PATTERN1__', 'description' => '/CONCAT/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '||', 'hashname' => '__STRING1__', 'description' => '\'||\'', 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Literal' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_8_of_rule_sysibm_function', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'sequence_reference' => bless( { 'impcount' => 0, 'calls' => [ 'nextval_expression', 'prevval_expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'nextval_expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 608 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'prevval_expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 609 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 609 }, 'Parse::RecDescent::Production' ) ], 'name' => 'sequence_reference', 'vars' => '', 'line' => 608 }, 'Parse::RecDescent::Rule' ), 'sysibm_function' => bless( { 'impcount' => 0, 'calls' => [ '_alternation_1_of_production_1_of_rule_sysibm_function', '_alternation_1_of_production_8_of_rule_sysibm_function', '_alternation_1_of_production_9_of_rule_sysibm_function', '_alternation_1_of_production_12_of_rule_sysibm_function', '_alternation_1_of_production_17_of_rule_sysibm_function', '_alternation_1_of_production_30_of_rule_sysibm_function', '_alternation_1_of_production_41_of_rule_sysibm_function', '_alternation_1_of_production_42_of_rule_sysibm_function', '_alternation_1_of_production_63_of_rule_sysibm_function', '_alternation_1_of_production_83_of_rule_sysibm_function', '_alternation_1_of_production_87_of_rule_sysibm_function' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_sysibm_function', 'matchrule' => 0, 'implicit' => '/ABS/i, or /ABSVAL/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 332 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'AVG', 'hashname' => '__PATTERN1__', 'description' => '/AVG/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 333, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 333 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'BIGINT', 'hashname' => '__PATTERN1__', 'description' => '/BIGINT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 334, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 334 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '3', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'BLOB', 'hashname' => '__PATTERN1__', 'description' => '/BLOB/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 335, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 335 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '4', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CHAR', 'hashname' => '__PATTERN1__', 'description' => '/CHAR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 336, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 336 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '5', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CLOB', 'hashname' => '__PATTERN1__', 'description' => '/CLOB/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 337, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 337 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '6', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'COALESCE', 'hashname' => '__PATTERN1__', 'description' => '/COALESCE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 338, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 338 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '7', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_8_of_rule_sysibm_function', 'matchrule' => 0, 'implicit' => '/CONCAT/, or \'||\'', 'argcode' => undef, 'lookahead' => 0, 'line' => 339 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 339 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '8', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_9_of_rule_sysibm_function', 'matchrule' => 0, 'implicit' => '/CORRELATION/i, or /CORR/', 'argcode' => undef, 'lookahead' => 0, 'line' => 340 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 340 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '9', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'COUNT', 'hashname' => '__PATTERN1__', 'description' => '/COUNT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 341, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 341 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '10', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'COUNT_BIG', 'hashname' => '__PATTERN1__', 'description' => '/COUNT_BIG/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 342, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 342 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '11', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_12_of_rule_sysibm_function', 'matchrule' => 0, 'implicit' => '/COVARIANCE/i, or /COVAR/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 343 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 343 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '12', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DATE', 'hashname' => '__PATTERN1__', 'description' => '/DATE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 344, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 344 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '13', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DAY', 'hashname' => '__PATTERN1__', 'description' => '/DAY/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 345, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 345 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '14', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DAYS', 'hashname' => '__PATTERN1__', 'description' => '/DAYS/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 346, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 346 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '15', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DBCLOB', 'hashname' => '__PATTERN1__', 'description' => '/DBCLOB/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 347, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 347 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '16', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_17_of_rule_sysibm_function', 'matchrule' => 0, 'implicit' => '/DECIMAL/i, or /DEC/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 348 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 348 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '17', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DECRYPT_BIN', 'hashname' => '__PATTERN1__', 'description' => '/DECRYPT_BIN/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 349, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 349 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '18', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DECRYPT_CHAR', 'hashname' => '__PATTERN1__', 'description' => '/DECRYPT_CHAR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 350, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 350 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '19', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DEREF', 'hashname' => '__PATTERN1__', 'description' => '/DEREF/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 351, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 351 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '20', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DIGITS', 'hashname' => '__PATTERN1__', 'description' => '/DIGITS/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 352, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 352 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '21', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DLCOMMENT', 'hashname' => '__PATTERN1__', 'description' => '/DLCOMMENT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 353, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 353 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '22', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DLLINKTYPE', 'hashname' => '__PATTERN1__', 'description' => '/DLLINKTYPE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 354, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 354 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '23', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DLURLCOMPLETE', 'hashname' => '__PATTERN1__', 'description' => '/DLURLCOMPLETE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 355, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 355 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '24', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DLURLPATH', 'hashname' => '__PATTERN1__', 'description' => '/DLURLPATH/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 356, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 356 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '25', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DLURLPATHONLY', 'hashname' => '__PATTERN1__', 'description' => '/DLURLPATHONLY/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 357, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 357 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '26', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DLURLSCHEME', 'hashname' => '__PATTERN1__', 'description' => '/DLURLSCHEME/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 358, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 358 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '27', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DLURLSERVER', 'hashname' => '__PATTERN1__', 'description' => '/DLURLSERVER/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 359, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 359 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '28', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DLVALUE', 'hashname' => '__PATTERN1__', 'description' => '/DLVALUE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 360, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 360 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '29', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_30_of_rule_sysibm_function', 'matchrule' => 0, 'implicit' => '/DOUBLE/i, or /DOUBLE_PRECISION/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 361 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 361 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '30', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ENCRYPT', 'hashname' => '__PATTERN1__', 'description' => '/ENCRYPT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 362, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 362 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '31', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'EVENT_MON_STATE', 'hashname' => '__PATTERN1__', 'description' => '/EVENT_MON_STATE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 363, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 363 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '32', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'FLOAT', 'hashname' => '__PATTERN1__', 'description' => '/FLOAT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 364, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 364 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '33', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'GETHINT', 'hashname' => '__PATTERN1__', 'description' => '/GETHINT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 365, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 365 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '34', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'GENERATE_UNIQUE', 'hashname' => '__PATTERN1__', 'description' => '/GENERATE_UNIQUE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 366, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 366 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '35', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'GRAPHIC', 'hashname' => '__PATTERN1__', 'description' => '/GRAPHIC/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 367, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 367 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '36', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'GROUPING', 'hashname' => '__PATTERN1__', 'description' => '/GROUPING/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 368, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 368 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '37', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'HEX', 'hashname' => '__PATTERN1__', 'description' => '/HEX/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 369, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 369 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '38', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'HOUR', 'hashname' => '__PATTERN1__', 'description' => '/HOUR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 370, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 370 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '39', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'IDENTITY_VAL_LOCAL', 'hashname' => '__PATTERN1__', 'description' => '/IDENTITY_VAL_LOCAL/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 371, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 371 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '40', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_41_of_rule_sysibm_function', 'matchrule' => 0, 'implicit' => '/INTEGER/i, or /INT/', 'argcode' => undef, 'lookahead' => 0, 'line' => 372 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 372 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '41', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_42_of_rule_sysibm_function', 'matchrule' => 0, 'implicit' => '/LCASE/i, or /LOWER/', 'argcode' => undef, 'lookahead' => 0, 'line' => 373 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 373 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '42', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'LENGTH', 'hashname' => '__PATTERN1__', 'description' => '/LENGTH/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 374, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 374 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '43', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'LONG_VARCHAR', 'hashname' => '__PATTERN1__', 'description' => '/LONG_VARCHAR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 375, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 375 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '44', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'LONG_VARGRAPHIC', 'hashname' => '__PATTERN1__', 'description' => '/LONG_VARGRAPHIC/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 376, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 376 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '45', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'LTRIM', 'hashname' => '__PATTERN1__', 'description' => '/LTRIM/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 377, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 377 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '46', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'MAX', 'hashname' => '__PATTERN1__', 'description' => '/MAX/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 378, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 378 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '47', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'MICROSECOND', 'hashname' => '__PATTERN1__', 'description' => '/MICROSECOND/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 379, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 379 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '48', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'MIN', 'hashname' => '__PATTERN1__', 'description' => '/MIN/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 380, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 380 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '49', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'MINUTE', 'hashname' => '__PATTERN1__', 'description' => '/MINUTE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 381, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 381 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '50', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'MONTH', 'hashname' => '__PATTERN1__', 'description' => '/MONTH/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 382, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 382 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '51', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'MULTIPLY_ACT', 'hashname' => '__PATTERN1__', 'description' => '/MULTIPLY_ACT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 383, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 383 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '52', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'NODENUMBER', 'hashname' => '__PATTERN1__', 'description' => '/NODENUMBER/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 384, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 384 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '53', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'NULLIF', 'hashname' => '__PATTERN1__', 'description' => '/NULLIF/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 385, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 385 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '54', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'PARTITON', 'hashname' => '__PATTERN1__', 'description' => '/PARTITON/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 386, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 386 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '55', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'POSSTR', 'hashname' => '__PATTERN1__', 'description' => '/POSSTR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 387, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 387 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '56', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'RAISE_ERROR', 'hashname' => '__PATTERN1__', 'description' => '/RAISE_ERROR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 388, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 388 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '57', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'REAL', 'hashname' => '__PATTERN1__', 'description' => '/REAL/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 389, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 389 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '58', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'REC2XML', 'hashname' => '__PATTERN1__', 'description' => '/REC2XML/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 390, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 390 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '59', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'REGR_AVGX', 'hashname' => '__PATTERN1__', 'description' => '/REGR_AVGX/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 391, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 391 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '60', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'REGR_AVGY', 'hashname' => '__PATTERN1__', 'description' => '/REGR_AVGY/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 392, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 392 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '61', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'REGR_COUNT', 'hashname' => '__PATTERN1__', 'description' => '/REGR_COUNT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 393, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 393 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '62', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_63_of_rule_sysibm_function', 'matchrule' => 0, 'implicit' => '/REGR_INTERCEPT/i, or /REGR_ICPT/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 394 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 394 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '63', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'REGR_R2', 'hashname' => '__PATTERN1__', 'description' => '/REGR_R2/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 395, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 395 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '64', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'REGR_SLOPE', 'hashname' => '__PATTERN1__', 'description' => '/REGR_SLOPE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 396, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 396 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '65', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'REGR_SXX', 'hashname' => '__PATTERN1__', 'description' => '/REGR_SXX/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 397, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 397 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '66', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'REGR_SXY', 'hashname' => '__PATTERN1__', 'description' => '/REGR_SXY/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 398, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 398 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '67', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'REGR_SYY', 'hashname' => '__PATTERN1__', 'description' => '/REGR_SYY/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 399, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 399 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '68', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'RTRIM', 'hashname' => '__PATTERN1__', 'description' => '/RTRIM/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 400, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 400 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '69', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SECOND', 'hashname' => '__PATTERN1__', 'description' => '/SECOND/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 401, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 401 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '70', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SMALLINT', 'hashname' => '__PATTERN1__', 'description' => '/SMALLINT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 402, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 402 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '71', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'STDDEV', 'hashname' => '__PATTERN1__', 'description' => '/STDDEV/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 403, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 403 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '72', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SUBSTR', 'hashname' => '__PATTERN1__', 'description' => '/SUBSTR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 404, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 404 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '73', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SUM', 'hashname' => '__PATTERN1__', 'description' => '/SUM/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 405, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 405 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '74', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'TABLE_NAME', 'hashname' => '__PATTERN1__', 'description' => '/TABLE_NAME/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 406, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 406 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '75', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'TABLE_SCHEMA', 'hashname' => '__PATTERN1__', 'description' => '/TABLE_SCHEMA/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 407, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 407 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '76', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'TIME', 'hashname' => '__PATTERN1__', 'description' => '/TIME/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 408, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 408 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '77', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'TIMESTAMP', 'hashname' => '__PATTERN1__', 'description' => '/TIMESTAMP/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 409, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 409 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '78', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'TRANSLATE', 'hashname' => '__PATTERN1__', 'description' => '/TRANSLATE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 410, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 410 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '79', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'TYPE_ID', 'hashname' => '__PATTERN1__', 'description' => '/TYPE_ID/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 411, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 411 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '80', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'TYPE_NAME', 'hashname' => '__PATTERN1__', 'description' => '/TYPE_NAME/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 412, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 412 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '81', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'TYPE_SCHEMA', 'hashname' => '__PATTERN1__', 'description' => '/TYPE_SCHEMA/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 413, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 413 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '82', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_83_of_rule_sysibm_function', 'matchrule' => 0, 'implicit' => '/UCASE/i, or /UPPER/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 414 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 414 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '83', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'VALUE', 'hashname' => '__PATTERN1__', 'description' => '/VALUE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 415, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 415 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '84', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'VARCHAR', 'hashname' => '__PATTERN1__', 'description' => '/VARCHAR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 416, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 416 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '85', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'VARGRAPHIC', 'hashname' => '__PATTERN1__', 'description' => '/VARGRAPHIC/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 417, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 417 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '86', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_87_of_rule_sysibm_function', 'matchrule' => 0, 'implicit' => '/VARIANCE/i, or /VAR/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 418 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 418 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '87', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'YEAR', 'hashname' => '__PATTERN1__', 'description' => '/YEAR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 419, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 419 }, 'Parse::RecDescent::Production' ) ], 'name' => 'sysibm_function', 'vars' => '', 'line' => 332 }, 'Parse::RecDescent::Rule' ), 'window_partition_clause' => bless( { 'impcount' => 0, 'calls' => [ 'partitioning_expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 1, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 0, 'op' => [], 'items' => [ bless( { 'pattern' => 'PARTITION\\s+BY', 'hashname' => '__PATTERN1__', 'description' => '/PARTITION\\\\s+BY/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 553, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'expected' => '<leftop: partitioning_expression /,/ partitioning_expression>', 'min' => 1, 'name' => '\'partitioning_expression(s)\'', 'max' => 100000000, 'leftarg' => bless( { 'subrule' => 'partitioning_expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 553 }, 'Parse::RecDescent::Subrule' ), 'rightarg' => bless( { 'subrule' => 'partitioning_expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 553 }, 'Parse::RecDescent::Subrule' ), 'hashname' => '__DIRECTIVE1__', 'type' => 'leftop', 'op' => bless( { 'pattern' => ',', 'hashname' => '__PATTERN2__', 'description' => '/,/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 553, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) }, 'Parse::RecDescent::Operator' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'window_partition_clause', 'vars' => '', 'line' => 553 }, 'Parse::RecDescent::Rule' ), 'WHERE' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'where', 'hashname' => '__PATTERN1__', 'description' => '/where/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 117, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'WHERE', 'vars' => '', 'line' => 117 }, 'Parse::RecDescent::Rule' ), 'CREATE' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'create', 'hashname' => '__PATTERN1__', 'description' => '/create/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 101, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'CREATE', 'vars' => '', 'line' => 101 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_sysfun' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ABS', 'hashname' => '__PATTERN1__', 'description' => '/ABS/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ABSVAL', 'hashname' => '__PATTERN1__', 'description' => '/ABSVAL/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_sysfun', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_function' => bless( { 'impcount' => 0, 'calls' => [ 'sysibm_function', 'sysfun_function', 'userdefined_function' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SYSIBM\\.|', 'hashname' => '__PATTERN1__', 'description' => '/SYSIBM\\\\.|/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 625, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'sysibm_function', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 625 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SYSFUN\\.|', 'hashname' => '__PATTERN1__', 'description' => '/SYSFUN\\\\.|/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 626, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'sysfun_function', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 626 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'userdefined_function', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 627 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_function', 'vars' => '', 'line' => 625 }, 'Parse::RecDescent::Rule' ), 'identifier' => bless( { 'impcount' => 0, 'calls' => [ 'NAME' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'NAME', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 136 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'identifier', 'vars' => '', 'line' => 136 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause' => bless( { 'impcount' => 0, 'calls' => [ 'asc_option', 'desc_option' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'asc_option', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'desc_option', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 627 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause', 'vars' => '', 'line' => 626 }, 'Parse::RecDescent::Rule' ), 'result_expression' => bless( { 'impcount' => 0, 'calls' => [ 'expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 515 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'result_expression', 'vars' => '', 'line' => 515 }, 'Parse::RecDescent::Rule' ), 'scoped_reference_expression' => bless( { 'impcount' => 0, 'calls' => [ 'expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 1, 'items' => [ bless( { 'subrule' => 'expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 532 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 533, 'code' => '{ # scoped, reference }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'scoped_reference_expression', 'vars' => '', 'line' => 528 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification' => bless( { 'impcount' => 0, 'calls' => [ 'typed_table_name', 'typed_view_name' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'typed_table_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'typed_view_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 627 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cast_specification', 'vars' => '', 'line' => 626 }, 'Parse::RecDescent::Rule' ), 'when_clause' => bless( { 'impcount' => 0, 'calls' => [ 'search_condition' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 2, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 1, 'items' => [ bless( { 'pattern' => 'WHEN', 'hashname' => '__PATTERN1__', 'description' => '/WHEN/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 261, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 261 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'search_condition', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 261 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 261 }, 'Parse::RecDescent::Literal' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 261, 'code' => '{$return = $item[3]}' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'when_clause', 'vars' => '', 'line' => 259 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_asc_option' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'NULLS\\s+FIRST', 'hashname' => '__PATTERN1__', 'description' => '/NULLS\\\\s+FIRST/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'NULLS\\s+LAST', 'hashname' => '__PATTERN1__', 'description' => '/NULLS\\\\s+LAST/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_asc_option', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'sequence_name' => bless( { 'impcount' => 0, 'calls' => [ 'NAME' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'NAME', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 615 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'sequence_name', 'vars' => '', 'line' => 615 }, 'Parse::RecDescent::Rule' ), 'ld_duration' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'YEARS?', 'hashname' => '__PATTERN1__', 'description' => '/YEARS?/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 488, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'MONTHS?', 'hashname' => '__PATTERN1__', 'description' => '/MONTHS?/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 489, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 489 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DAYS?', 'hashname' => '__PATTERN1__', 'description' => '/DAYS?/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 490, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 490 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '3', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'HOURS?', 'hashname' => '__PATTERN1__', 'description' => '/HOURS?/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 491, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 491 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '4', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'MINUTES?', 'hashname' => '__PATTERN1__', 'description' => '/MINUTES?/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 492, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 492 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '5', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SECONDS?', 'hashname' => '__PATTERN1__', 'description' => '/SECONDS?/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 493, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 493 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '6', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'MICROSECONDS?', 'hashname' => '__PATTERN1__', 'description' => '/MICROSECONDS?/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 494, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 494 }, 'Parse::RecDescent::Production' ) ], 'name' => 'ld_duration', 'vars' => '', 'line' => 488 }, 'Parse::RecDescent::Rule' ), 'reference_a' => bless( { 'impcount' => 0, 'calls' => [ 'old_new_corr', 'old_new_table' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 1, 'items' => [ bless( { 'pattern' => 'REFERENCING', 'hashname' => '__PATTERN1__', 'description' => '/REFERENCING/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 283, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'old_new_corr', 'expected' => undef, 'min' => 0, 'argcode' => undef, 'max' => 2, 'matchrule' => 0, 'repspec' => '0..2', 'lookahead' => 0, 'line' => 283 }, 'Parse::RecDescent::Repetition' ), bless( { 'subrule' => 'old_new_table', 'expected' => undef, 'min' => 0, 'argcode' => undef, 'max' => 2, 'matchrule' => 0, 'repspec' => '0..2', 'lookahead' => 0, 'line' => 283 }, 'Parse::RecDescent::Repetition' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 284, 'code' => '{ $return = join(\' \', $item[1], join(\' \', @{$item[2]}), join(\' \', @{$item[3]}) ) }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'reference_a', 'vars' => '', 'line' => 283 }, 'Parse::RecDescent::Rule' ), 'cast_specification' => bless( { 'impcount' => 2, 'calls' => [ '_alternation_1_of_production_1_of_rule_cast_specification', 'data_type', '_alternation_2_of_production_1_of_rule_cast_specification' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 2, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CAST', 'hashname' => '__PATTERN1__', 'description' => '/CAST/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 517, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 517 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_cast_specification', 'matchrule' => 0, 'implicit' => 'expression, or /NULL/i, or parameter_marker', 'argcode' => undef, 'lookahead' => 0, 'line' => 520 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'AS', 'hashname' => '__PATTERN2__', 'description' => '/AS/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 520, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'data_type', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 520 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => '_alternation_2_of_production_1_of_rule_cast_specification', 'expected' => '/SCOPE/', 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 524 }, 'Parse::RecDescent::Repetition' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 524 }, 'Parse::RecDescent::Literal' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'cast_specification', 'vars' => '', 'line' => 517 }, 'Parse::RecDescent::Rule' ), 'type' => bless( { 'impcount' => 1, 'calls' => [ 'column_name', '_alternation_1_of_production_2_of_rule_type' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 1, 'uncommit' => undef, 'error' => undef, 'patcount' => 3, 'actcount' => 1, 'op' => [], 'items' => [ bless( { 'pattern' => 'UPDATE', 'hashname' => '__PATTERN1__', 'description' => '/UPDATE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 272, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => 'OF', 'hashname' => '__PATTERN2__', 'description' => '/OF/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 272, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'expected' => '<leftop: column_name /,/ column_name>', 'min' => 1, 'name' => '\'column_name(s)\'', 'max' => 100000000, 'leftarg' => bless( { 'subrule' => 'column_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 272 }, 'Parse::RecDescent::Subrule' ), 'rightarg' => bless( { 'subrule' => 'column_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 272 }, 'Parse::RecDescent::Subrule' ), 'hashname' => '__DIRECTIVE1__', 'type' => 'leftop', 'op' => bless( { 'pattern' => ',', 'hashname' => '__PATTERN3__', 'description' => '/,/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 272, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) }, 'Parse::RecDescent::Operator' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 273, 'code' => '{ $return = { event => \'update_on\', fields => $item[3] } }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 1, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_2_of_rule_type', 'matchrule' => 0, 'implicit' => '/INSERT/i, or /DELETE/i, or /UPDATE/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 277 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 278, 'code' => '{ $return = { event => $item[1] } }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'type', 'vars' => '', 'line' => 272 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_12_of_rule_sysibm_function' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'COVARIANCE', 'hashname' => '__PATTERN1__', 'description' => '/COVARIANCE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'COVAR', 'hashname' => '__PATTERN1__', 'description' => '/COVAR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_12_of_rule_sysibm_function', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'scalar_fullselect' => bless( { 'impcount' => 0, 'calls' => [ 'fullselect' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 2, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 478 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'fullselect', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 478 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 478 }, 'Parse::RecDescent::Literal' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'scalar_fullselect', 'vars' => '', 'line' => 478 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_options' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CASCADED', 'hashname' => '__PATTERN1__', 'description' => '/CASCADED/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'LOCAL', 'hashname' => '__PATTERN1__', 'description' => '/LOCAL/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_options', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'func_args' => bless( { 'impcount' => 0, 'calls' => [ 'expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 330 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'func_args', 'vars' => '', 'line' => 330 }, 'Parse::RecDescent::Rule' ), 'trigger_name' => bless( { 'impcount' => 0, 'calls' => [ 'SCHEMA', 'NAME' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 1, 'items' => [ bless( { 'subrule' => 'SCHEMA', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 119 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => '.', 'hashname' => '__STRING1__', 'description' => '\'.\'', 'lookahead' => 0, 'line' => 119 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'NAME', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 119 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 120, 'code' => '{ $return = { schema => $item[1], name => $item[3] } }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 1, 'items' => [ bless( { 'subrule' => 'NAME', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 121 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 122, 'code' => '{ $return = { name => $item[1] } }' }, 'Parse::RecDescent::Action' ) ], 'line' => 121 }, 'Parse::RecDescent::Production' ) ], 'name' => 'trigger_name', 'vars' => '', 'line' => 119 }, 'Parse::RecDescent::Rule' ), '_alternation_2_of_production_1_of_rule_numbering_function' => bless( { 'impcount' => 0, 'calls' => [ 'window_aggregation_group_clause' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'RANGE\\s+BETWEEN\\s+UNBOUNDED\\s+PRECEDING\\s+AND\\s+UNBBOUNDED\\s+FOLLOWING', 'hashname' => '__PATTERN1__', 'description' => '/RANGE\\\\s+BETWEEN\\\\s+UNBOUNDED\\\\s+PRECEDING\\\\s+AND\\\\s+UNBBOUNDED\\\\s+FOLLOWING/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 626, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'window_aggregation_group_clause', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 627 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_2_of_production_1_of_rule_numbering_function', 'vars' => '', 'line' => 626 }, 'Parse::RecDescent::Rule' ), 'method_name' => bless( { 'impcount' => 0, 'calls' => [ 'NAME' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 1, 'items' => [ bless( { 'subrule' => 'NAME', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 602 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 603, 'code' => '{ # must be a method of subject_expression }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'method_name', 'vars' => '', 'line' => 602 }, 'Parse::RecDescent::Rule' ), 'quantified_p' => bless( { 'impcount' => 0, 'calls' => [ 'expression1', 'fullselect' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 2, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'expression1', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => '(=|<>|<|>|<=|=>|\\^=|\\^<|\\^>|\\!=)', 'hashname' => '__PATTERN1__', 'description' => '/(=|<>|<|>|<=|=>|\\\\^=|\\\\^<|\\\\^>|\\\\!=)/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 626, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => 'SOME|ANY|ALL', 'hashname' => '__PATTERN2__', 'description' => '/SOME|ANY|ALL/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 626, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'fullselect', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Literal' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'quantified_p', 'vars' => '', 'line' => 626 }, 'Parse::RecDescent::Rule' ), 'common_table_expression' => bless( { 'impcount' => 0, 'calls' => [ 'table_name', 'column_list', 'get_bracketed', 'fullselect' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 1, 'items' => [ bless( { 'subrule' => 'table_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 162 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'column_list', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 162 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'AS', 'hashname' => '__PATTERN1__', 'description' => '/AS/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 162, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'get_bracketed', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 162 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 163, 'code' => '{ $return = { name => $item{table_name}{name}, query => $item[4] }; }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 2, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'table_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 174 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'column_list', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 174 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'AS', 'hashname' => '__PATTERN1__', 'description' => '/AS/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 174, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 174 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'fullselect', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 174 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 174 }, 'Parse::RecDescent::Literal' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'common_table_expression', 'vars' => '', 'line' => 160 }, 'Parse::RecDescent::Rule' ), 'after' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'AFTER', 'hashname' => '__PATTERN1__', 'description' => '/AFTER/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 270, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'after', 'vars' => '', 'line' => 270 }, 'Parse::RecDescent::Rule' ), 'predicate' => bless( { 'impcount' => 0, 'calls' => [ 'basic_p', 'quantified_p', 'between_p', 'exists_p', 'in_p', 'like_p', 'null_p', 'type_p' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'basic_p', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 622 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'quantified_p', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 622 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 622 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'between_p', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 622 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 622 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '3', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'exists_p', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 622 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 622 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '4', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'in_p', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 622 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 622 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '5', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'like_p', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 622 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 622 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '6', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'null_p', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 622 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 622 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '7', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'type_p', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 622 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 622 }, 'Parse::RecDescent::Production' ) ], 'name' => 'predicate', 'vars' => '', 'line' => 622 }, 'Parse::RecDescent::Rule' ), 'column_name' => bless( { 'impcount' => 0, 'calls' => [ 'NAME' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'NAME', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 134 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'column_name', 'vars' => '', 'line' => 134 }, 'Parse::RecDescent::Rule' ), 'method_invocation' => bless( { 'impcount' => 1, 'calls' => [ 'subject_expression', 'method_name', '_alternation_1_of_production_1_of_rule_method_invocation' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'subject_expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 593 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => '..', 'hashname' => '__STRING1__', 'description' => '\'..\'', 'lookahead' => 0, 'line' => 593 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'method_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 593 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_method_invocation', 'expected' => '\'(\'', 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 596 }, 'Parse::RecDescent::Repetition' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'method_invocation', 'vars' => '', 'line' => 593 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_dereference_operation' => bless( { 'impcount' => 0, 'calls' => [ 'expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 2, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'expression', 'expected' => undef, 'min' => 1, 'argcode' => undef, 'max' => 100000000, 'matchrule' => 0, 'repspec' => 's', 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Repetition' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Literal' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_dereference_operation', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_searched_when_clause' => bless( { 'impcount' => 1, 'calls' => [ 'search_condition', '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'WHEN', 'hashname' => '__PATTERN1__', 'description' => '/WHEN/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 624, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'search_condition', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 624 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'THEN', 'hashname' => '__PATTERN2__', 'description' => '/THEN/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 624, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause', 'matchrule' => 0, 'implicit' => 'result_expression, or /NULL/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_searched_when_clause', 'vars' => '', 'line' => 624 }, 'Parse::RecDescent::Rule' ), 'group_bound2' => bless( { 'impcount' => 0, 'calls' => [ 'unsigned_constant' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'UNBOUNDED\\s+PRECEDING', 'hashname' => '__PATTERN1__', 'description' => '/UNBOUNDED\\\\s+PRECEDING/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 585, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'unsigned_constant', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 586 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'PRECEDING', 'hashname' => '__PATTERN1__', 'description' => '/PRECEDING/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 586, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 586 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'unsigned_constant', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 587 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'FOLLOWING', 'hashname' => '__PATTERN1__', 'description' => '/FOLLOWING/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 587, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 587 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '3', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CURRENT\\s+ROW', 'hashname' => '__PATTERN1__', 'description' => '/CURRENT\\\\s+ROW/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 588, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 588 }, 'Parse::RecDescent::Production' ) ], 'name' => 'group_bound2', 'vars' => '', 'line' => 585 }, 'Parse::RecDescent::Rule' ), 'searched_when_clause' => bless( { 'impcount' => 1, 'calls' => [ '_alternation_1_of_production_1_of_rule_searched_when_clause' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_searched_when_clause', 'expected' => '/WHEN/i', 'min' => 1, 'argcode' => undef, 'max' => 100000000, 'matchrule' => 0, 'repspec' => 's', 'lookahead' => 0, 'line' => 507 }, 'Parse::RecDescent::Repetition' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'searched_when_clause', 'vars' => '', 'line' => 503 }, 'Parse::RecDescent::Rule' ), 'basic_p' => bless( { 'impcount' => 0, 'calls' => [ 'expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 624 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => '(=|<>|<|>|<=|=>|\\^=|\\^<|\\^>|\\!=)', 'hashname' => '__PATTERN1__', 'description' => '/(=|<>|<|>|<=|=>|\\\\^=|\\\\^<|\\\\^>|\\\\!=)/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 624, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 624 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'basic_p', 'vars' => '', 'line' => 624 }, 'Parse::RecDescent::Rule' ), 'asc_option' => bless( { 'impcount' => 1, 'calls' => [ '_alternation_1_of_production_1_of_rule_asc_option' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ASC', 'hashname' => '__PATTERN1__', 'description' => '/ASC/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 562, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_asc_option', 'expected' => '/NULLS\\\\s+FIRST/i, or /NULLS\\\\s+LAST/i', 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 562 }, 'Parse::RecDescent::Repetition' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'asc_option', 'vars' => '', 'line' => 562 }, 'Parse::RecDescent::Rule' ), 'search_condition' => bless( { 'impcount' => 1, 'calls' => [ '_alternation_1_of_production_2_of_rule_search_condition', 'cond' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '[^)]+', 'hashname' => '__PATTERN1__', 'description' => '/[^)]+/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 297, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'NOT|', 'hashname' => '__PATTERN1__', 'description' => '/NOT|/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 618, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => '_alternation_1_of_production_2_of_rule_search_condition', 'matchrule' => 0, 'implicit' => 'predicate, or \'(\'', 'argcode' => undef, 'lookahead' => 0, 'line' => 618 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'cond', 'expected' => undef, 'min' => 0, 'argcode' => undef, 'max' => 100000000, 'matchrule' => 0, 'repspec' => 's?', 'lookahead' => 0, 'line' => 618 }, 'Parse::RecDescent::Repetition' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'search_condition', 'vars' => '', 'line' => 296 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_operator' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CONCAT', 'hashname' => '__PATTERN1__', 'description' => '/CONCAT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '||', 'hashname' => '__STRING1__', 'description' => '\'||\'', 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Literal' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_operator', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'simple_when_clause' => bless( { 'impcount' => 1, 'calls' => [ 'expression', '_alternation_1_of_production_1_of_rule_simple_when_clause' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 509 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_simple_when_clause', 'expected' => '/WHEN/i', 'min' => 1, 'argcode' => undef, 'max' => 100000000, 'matchrule' => 0, 'repspec' => 's', 'lookahead' => 0, 'line' => 513 }, 'Parse::RecDescent::Repetition' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'simple_when_clause', 'vars' => '', 'line' => 509 }, 'Parse::RecDescent::Rule' ), 'INNER' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'inner', 'hashname' => '__PATTERN1__', 'description' => '/inner/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 107, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'INNER', 'vars' => '', 'line' => 107 }, 'Parse::RecDescent::Rule' ), 'eofile' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '^\\Z', 'hashname' => '__PATTERN1__', 'description' => '/^\\\\Z/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 20, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'eofile', 'vars' => '', 'line' => 20 }, 'Parse::RecDescent::Rule' ), 'cond' => bless( { 'impcount' => 2, 'calls' => [ '_alternation_1_of_production_1_of_rule_cond', '_alternation_2_of_production_1_of_rule_cond' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_cond', 'matchrule' => 0, 'implicit' => '/AND/i, or /OR/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 620 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'NOT|', 'hashname' => '__PATTERN1__', 'description' => '/NOT|/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 620, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => '_alternation_2_of_production_1_of_rule_cond', 'matchrule' => 0, 'implicit' => 'predicate, or \'(\'', 'argcode' => undef, 'lookahead' => 0, 'line' => 620 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'cond', 'vars' => '', 'line' => 620 }, 'Parse::RecDescent::Rule' ), 'ld_type' => bless( { 'impcount' => 0, 'calls' => [ 'function', 'expression', 'constant', 'column_name', 'host_variable' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'function', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 482 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 2, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 483 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 483 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 483 }, 'Parse::RecDescent::Literal' ) ], 'line' => 483 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'constant', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 484 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 484 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '3', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'column_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 485 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 485 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '4', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'host_variable', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 486 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 486 }, 'Parse::RecDescent::Production' ) ], 'name' => 'ld_type', 'vars' => '', 'line' => 482 }, 'Parse::RecDescent::Rule' ), 'RIGHT' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'right', 'hashname' => '__PATTERN1__', 'description' => '/right/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 111, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'RIGHT', 'vars' => '', 'line' => 111 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_method_invocation' => bless( { 'impcount' => 0, 'calls' => [ 'expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 2, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'expression', 'expected' => undef, 'min' => 1, 'argcode' => undef, 'max' => 100000000, 'matchrule' => 0, 'repspec' => 's', 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Repetition' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Literal' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_method_invocation', 'vars' => '', 'line' => 626 }, 'Parse::RecDescent::Rule' ), 'LEFT' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'left', 'hashname' => '__PATTERN1__', 'description' => '/left/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 109, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'LEFT', 'vars' => '', 'line' => 109 }, 'Parse::RecDescent::Rule' ), 'table_name' => bless( { 'impcount' => 0, 'calls' => [ 'SCHEMA', 'NAME' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 1, 'items' => [ bless( { 'subrule' => 'SCHEMA', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 124 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => '.', 'hashname' => '__STRING1__', 'description' => '\'.\'', 'lookahead' => 0, 'line' => 124 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'NAME', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 124 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 125, 'code' => '{ $return = { schema => $item[1], name => $item[3] } }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 1, 'items' => [ bless( { 'subrule' => 'NAME', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 126 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 127, 'code' => '{ $return = { name => $item[1] } }' }, 'Parse::RecDescent::Action' ) ], 'line' => 126 }, 'Parse::RecDescent::Production' ) ], 'name' => 'table_name', 'vars' => '', 'line' => 124 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_53_of_rule_sysfun' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'TRUNCATE', 'hashname' => '__PATTERN1__', 'description' => '/TRUNCATE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'TRUNC', 'hashname' => '__PATTERN1__', 'description' => '/TRUNC/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_53_of_rule_sysfun', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'options' => bless( { 'impcount' => 1, 'calls' => [ '_alternation_1_of_production_1_of_rule_options' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'WITH', 'hashname' => '__PATTERN1__', 'description' => '/WITH/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 150, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_options', 'matchrule' => 0, 'implicit' => '/CASCADED/i, or /LOCAL/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 150 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'CHECK\\s+OPTION', 'hashname' => '__PATTERN2__', 'description' => '/CHECK\\\\s+OPTION/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 150, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'options', 'vars' => '', 'line' => 150 }, 'Parse::RecDescent::Rule' ), 'function' => bless( { 'impcount' => 1, 'calls' => [ '_alternation_1_of_production_1_of_rule_function', 'func_args' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 2, 'dircount' => 1, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'op' => [], 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_function', 'matchrule' => 0, 'implicit' => '/SYSIBM\\\\.|/i, or /SYSFUN\\\\.|/i, or userdefined_function', 'argcode' => undef, 'lookahead' => 0, 'line' => 326 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 326 }, 'Parse::RecDescent::Literal' ), bless( { 'expected' => '<leftop: func_args /,/ func_args>', 'min' => 1, 'name' => '\'func_args(s)\'', 'max' => 100000000, 'leftarg' => bless( { 'subrule' => 'func_args', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 326 }, 'Parse::RecDescent::Subrule' ), 'rightarg' => bless( { 'subrule' => 'func_args', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 326 }, 'Parse::RecDescent::Subrule' ), 'hashname' => '__DIRECTIVE1__', 'type' => 'leftop', 'op' => bless( { 'pattern' => ',', 'hashname' => '__PATTERN1__', 'description' => '/,/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 326, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) }, 'Parse::RecDescent::Operator' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 326 }, 'Parse::RecDescent::Literal' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'function', 'vars' => '', 'line' => 323 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_41_of_rule_sysibm_function' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'INTEGER', 'hashname' => '__PATTERN1__', 'description' => '/INTEGER/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'INT', 'hashname' => '__PATTERN1__', 'description' => '/INT/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_41_of_rule_sysibm_function', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_case_expression' => bless( { 'impcount' => 0, 'calls' => [ 'searched_when_clause', 'simple_when_clause' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'searched_when_clause', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'simple_when_clause', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 627 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_case_expression', 'vars' => '', 'line' => 626 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_window_order_clause' => bless( { 'impcount' => 1, 'calls' => [ 'sort_key_expression', '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'sort_key_expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 624 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_window_order_clause', 'expected' => 'asc_option, or desc_option', 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Repetition' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_window_order_clause', 'vars' => '', 'line' => 624 }, 'Parse::RecDescent::Rule' ), 'create' => bless( { 'impcount' => 0, 'calls' => [ 'CREATE', 'TRIGGER', 'trigger_name', 'before', 'type', 'table_name', 'reference_b', 'triggered_action', 'after', 'reference_a', 'VIEW', 'view_name', 'column_list', 'with_expression', 'SQL_procedure_statement' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 1, 'items' => [ bless( { 'subrule' => 'CREATE', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 36 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'TRIGGER', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 36 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'trigger_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 36 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'before', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 36 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'type', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 36 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'ON', 'hashname' => '__PATTERN1__', 'description' => '/ON/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 36, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'table_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 36 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'reference_b', 'expected' => undef, 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 36 }, 'Parse::RecDescent::Repetition' ), bless( { 'pattern' => 'FOR EACH ROW', 'hashname' => '__PATTERN2__', 'description' => '/FOR EACH ROW/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 36, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => 'MODE DB2SQL', 'hashname' => '__STRING1__', 'description' => '\'MODE DB2SQL\'', 'lookahead' => 0, 'line' => 36 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'triggered_action', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 36 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 37, 'code' => '{ my $table_name = $item{\'table_name\'}{\'name\'}; $return = { table => $table_name, schema => $item{\'trigger_name\'}{\'schema\'}, name => $item{\'trigger_name\'}{\'name\'}, when => \'before\', db_event => $item{\'type\'}->{\'event\'}, fields => $item{\'type\'}{\'fields\'}, condition => $item{\'triggered_action\'}{\'condition\'}, reference => $item{\'reference_b\'}, granularity => $item[9], action => $item{\'triggered_action\'}{\'statement\'} }; push @triggers, $return; }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 1, 'items' => [ bless( { 'subrule' => 'CREATE', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 55 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'TRIGGER', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 55 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'trigger_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 55 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'after', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 55 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'type', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 55 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'ON', 'hashname' => '__PATTERN1__', 'description' => '/ON/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 55, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'table_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 55 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'reference_a', 'expected' => undef, 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 55 }, 'Parse::RecDescent::Repetition' ), bless( { 'pattern' => 'FOR EACH ROW|FOR EACH STATEMENT', 'hashname' => '__PATTERN2__', 'description' => '/FOR EACH ROW|FOR EACH STATEMENT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 55, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => 'MODE DB2SQL', 'hashname' => '__STRING1__', 'description' => '\'MODE DB2SQL\'', 'lookahead' => 0, 'line' => 55 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'triggered_action', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 55 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 56, 'code' => '{ my $table_name = $item{\'table_name\'}{\'name\'}; $return = { table => $table_name, schema => $item{\'trigger_name\'}{\'schema\'}, name => $item{\'trigger_name\'}{\'name\'}, when => \'after\', db_event => $item{\'type\'}{\'event\'}, fields => $item{\'type\'}{\'fields\'}, condition => $item{\'triggered_action\'}{\'condition\'}, reference => $item{\'reference_a\'}, granularity => $item[9], action => $item{\'triggered_action\'}{\'statement\'} }; push @triggers, $return; }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 1, 'items' => [ bless( { 'subrule' => 'CREATE', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 74 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'FEDERATED|', 'hashname' => '__PATTERN1__', 'description' => '/FEDERATED|/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 74, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'VIEW', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 74 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'view_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 74 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'column_list', 'expected' => undef, 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 74 }, 'Parse::RecDescent::Repetition' ), bless( { 'pattern' => 'AS', 'hashname' => '__PATTERN2__', 'description' => '/AS/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 74, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'with_expression', 'expected' => undef, 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 74 }, 'Parse::RecDescent::Repetition' ), bless( { 'subrule' => 'SQL_procedure_statement', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 74 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 75, 'code' => '{ $return = { name => $item{view_name}{name}, sql => $item{SQL_procedure_statement}, with => $item{\'with_expression(?)\'}, fields => $item{\'column_list(?)\'} }; push @views, $return; }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'create', 'vars' => '', 'line' => 36 }, 'Parse::RecDescent::Rule' ), 'sysfun' => bless( { 'impcount' => 0, 'calls' => [ '_alternation_1_of_production_1_of_rule_sysfun', '_alternation_1_of_production_7_of_rule_sysfun', 'I', '_alternation_1_of_production_53_of_rule_sysfun' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_sysfun', 'matchrule' => 0, 'implicit' => '/ABS/i, or /ABSVAL/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 421 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ACOS', 'hashname' => '__PATTERN1__', 'description' => '/ACOS/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 422, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 422 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ASCII', 'hashname' => '__PATTERN1__', 'description' => '/ASCII/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 423, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 423 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '3', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ASIN', 'hashname' => '__PATTERN1__', 'description' => '/ASIN/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 424, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 424 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '4', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ATAN', 'hashname' => '__PATTERN1__', 'description' => '/ATAN/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 425, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 425 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '5', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ATAN2', 'hashname' => '__PATTERN1__', 'description' => '/ATAN2/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 426, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 426 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '6', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_7_of_rule_sysfun', 'matchrule' => 0, 'implicit' => '/CEIL/i, or /CEILING/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 427 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 427 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '7', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CHAR', 'hashname' => '__PATTERN1__', 'description' => '/CHAR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 428, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 428 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '8', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CHR', 'hashname' => '__PATTERN1__', 'description' => '/CHR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 429, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 429 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '9', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'COS', 'hashname' => '__PATTERN1__', 'description' => '/COS/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 430, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 430 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '10', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'COT', 'hashname' => '__PATTERN1__', 'description' => '/COT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 431, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 431 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '11', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DAYNAME', 'hashname' => '__PATTERN1__', 'description' => '/DAYNAME/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 432, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 432 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '12', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DAYOFWEEK', 'hashname' => '__PATTERN1__', 'description' => '/DAYOFWEEK/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 433, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 433 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '13', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DAYOFWEEK_ISO', 'hashname' => '__PATTERN1__', 'description' => '/DAYOFWEEK_ISO/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 434, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 434 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '14', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DAYOFYEAR', 'hashname' => '__PATTERN1__', 'description' => '/DAYOFYEAR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 435, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 435 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '15', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DEGREES', 'hashname' => '__PATTERN1__', 'description' => '/DEGREES/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 436, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 436 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '16', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DIFFERENCE', 'hashname' => '__PATTERN1__', 'description' => '/DIFFERENCE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 437, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 437 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '17', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DOUBLE', 'hashname' => '__PATTERN1__', 'description' => '/DOUBLE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 438, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 438 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '18', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'EXP', 'hashname' => '__PATTERN1__', 'description' => '/EXP/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 439, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 439 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '19', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'FLOOR', 'hashname' => '__PATTERN1__', 'description' => '/FLOOR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 440, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 440 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '20', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'GET_ROUTINE_SAR', 'hashname' => '__PATTERN1__', 'description' => '/GET_ROUTINE_SAR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 441, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 441 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '21', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'INSERT', 'hashname' => '__PATTERN1__', 'description' => '/INSERT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 442, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 442 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '22', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'JULIAN_DAY', 'hashname' => '__PATTERN1__', 'description' => '/JULIAN_DAY/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 443, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 443 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '23', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'LCASE', 'hashname' => '__PATTERN1__', 'description' => '/LCASE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 444, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 444 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '24', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'LEFT', 'hashname' => '__PATTERN1__', 'description' => '/LEFT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 445, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 445 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '25', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'LN', 'hashname' => '__PATTERN1__', 'description' => '/LN/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 446, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 446 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '26', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'LOCATE', 'hashname' => '__PATTERN1__', 'description' => '/LOCATE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 447, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 447 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '27', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'LOG', 'hashname' => '__PATTERN1__', 'description' => '/LOG/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 448, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 448 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '28', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'LOG10', 'hashname' => '__PATTERN1__', 'description' => '/LOG10/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 449, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 449 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '29', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'LTRIM', 'hashname' => '__PATTERN1__', 'description' => '/LTRIM/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 450, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 450 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '30', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'MIDNIGHT_SECONDS', 'hashname' => '__PATTERN1__', 'description' => '/MIDNIGHT_SECONDS/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 451, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 451 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '31', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'MOD', 'hashname' => '__PATTERN1__', 'description' => '/MOD/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 452, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 452 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '32', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'MONTHNAME', 'hashname' => '__PATTERN1__', 'description' => '/MONTHNAME/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 453, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 453 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '33', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'POWER', 'hashname' => '__PATTERN1__', 'description' => '/POWER/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 454, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 454 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '34', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'PUT_ROUTINE_SAR', 'hashname' => '__PATTERN1__', 'description' => '/PUT_ROUTINE_SAR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 455, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 455 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '35', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'QUARTER', 'hashname' => '__PATTERN1__', 'description' => '/QUARTER/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 456, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 456 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '36', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'RADIANS', 'hashname' => '__PATTERN1__', 'description' => '/RADIANS/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 457, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 457 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '37', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'RAND', 'hashname' => '__PATTERN1__', 'description' => '/RAND/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 458, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 458 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '38', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'REPEAT', 'hashname' => '__PATTERN1__', 'description' => '/REPEAT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 459, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 459 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '39', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'REPLACE', 'hashname' => '__PATTERN1__', 'description' => '/REPLACE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 460, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 460 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '40', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'RIGHT', 'hashname' => '__PATTERN1__', 'description' => '/RIGHT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 461, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 461 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '41', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ROUND', 'hashname' => '__PATTERN1__', 'description' => '/ROUND/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 462, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 462 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '42', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'RTRIM', 'hashname' => '__PATTERN1__', 'description' => '/RTRIM/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 463, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'I', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 463 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 463 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '43', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SIGN', 'hashname' => '__PATTERN1__', 'description' => '/SIGN/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 464, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 464 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '44', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SIN', 'hashname' => '__PATTERN1__', 'description' => '/SIN/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 465, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 465 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '45', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SOUNDEX', 'hashname' => '__PATTERN1__', 'description' => '/SOUNDEX/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 466, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 466 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '46', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SPACE', 'hashname' => '__PATTERN1__', 'description' => '/SPACE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 467, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 467 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '47', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SQLCACHE_SNAPSHOT', 'hashname' => '__PATTERN1__', 'description' => '/SQLCACHE_SNAPSHOT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 468, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 468 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '48', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SQRT', 'hashname' => '__PATTERN1__', 'description' => '/SQRT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 469, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 469 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '49', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'TAN', 'hashname' => '__PATTERN1__', 'description' => '/TAN/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 470, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 470 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '50', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'TIMESTAMP_ISO', 'hashname' => '__PATTERN1__', 'description' => '/TIMESTAMP_ISO/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 471, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 471 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '51', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'TIMESTAMPDIFF', 'hashname' => '__PATTERN1__', 'description' => '/TIMESTAMPDIFF/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 472, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 472 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '52', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_53_of_rule_sysfun', 'matchrule' => 0, 'implicit' => '/TRUNCATE/i, or /TRUNC/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 473 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 473 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '53', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'UCASE', 'hashname' => '__PATTERN1__', 'description' => '/UCASE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 474, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 474 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '54', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'WEEK', 'hashname' => '__PATTERN1__', 'description' => '/WEEK/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 475, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 475 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '55', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'WEEK_ISO', 'hashname' => '__PATTERN1__', 'description' => '/WEEK_ISO/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 476, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 476 }, 'Parse::RecDescent::Production' ) ], 'name' => 'sysfun', 'vars' => '', 'line' => 421 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond' => bless( { 'impcount' => 0, 'calls' => [ 'numeric_constant' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SELECTIVITY', 'hashname' => '__PATTERN1__', 'description' => '/SELECTIVITY/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'numeric_constant', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule__alternation_2_of_production_1_of_rule_cond', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'NAME' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '\\w+', 'hashname' => '__PATTERN1__', 'description' => '/\\\\w+/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 146, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '\\w{1,18}', 'hashname' => '__PATTERN1__', 'description' => '/\\\\w\\{1,18\\}/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 148, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'NAME', 'vars' => '', 'line' => 146 }, 'Parse::RecDescent::Rule' ), 'constant' => bless( { 'impcount' => 0, 'calls' => [ 'int_const', 'float_const', 'dec_const', 'char_const', 'hex_const', 'grastr_const' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'int_const', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 328 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'float_const', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 328 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 328 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'dec_const', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 328 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 328 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '3', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'char_const', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 328 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 328 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '4', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'hex_const', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 328 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 328 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '5', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'grastr_const', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 328 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 328 }, 'Parse::RecDescent::Production' ) ], 'name' => 'constant', 'vars' => '', 'line' => 328 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_ranking_function' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'RANK', 'hashname' => '__PATTERN1__', 'description' => '/RANK/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 626, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => '()', 'hashname' => '__STRING1__', 'description' => '\'()\'', 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Literal' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DENSE_RANK|DENSERANK', 'hashname' => '__PATTERN1__', 'description' => '/DENSE_RANK|DENSERANK/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 627, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => '()', 'hashname' => '__STRING1__', 'description' => '\'()\'', 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Literal' ) ], 'line' => 627 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_ranking_function', 'vars' => '', 'line' => 626 }, 'Parse::RecDescent::Rule' ), 'window_aggregation_group_clause' => bless( { 'impcount' => 2, 'calls' => [ '_alternation_1_of_production_1_of_rule_window_aggregation_group_clause', '_alternation_2_of_production_1_of_rule_window_aggregation_group_clause' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_window_aggregation_group_clause', 'matchrule' => 0, 'implicit' => '/ROWS/i, or /RANGE/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 568 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => '_alternation_2_of_production_1_of_rule_window_aggregation_group_clause', 'matchrule' => 0, 'implicit' => 'group_start, or group_between, or group_end', 'argcode' => undef, 'lookahead' => 0, 'line' => 572 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'window_aggregation_group_clause', 'vars' => '', 'line' => 566 }, 'Parse::RecDescent::Rule' ), '_alternation_2_of_production_1_of_rule_window_aggregation_group_clause' => bless( { 'impcount' => 0, 'calls' => [ 'group_start', 'group_between', 'group_end' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'group_start', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 625 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'group_between', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 626 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'group_end', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 627 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_2_of_production_1_of_rule_window_aggregation_group_clause', 'vars' => '', 'line' => 625 }, 'Parse::RecDescent::Rule' ), 'VIEW' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'view', 'hashname' => '__PATTERN1__', 'description' => '/view/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 105, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'VIEW', 'vars' => '', 'line' => 105 }, 'Parse::RecDescent::Rule' ), 'with_expression' => bless( { 'impcount' => 0, 'calls' => [ 'common_table_expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 1, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 1, 'op' => [], 'items' => [ bless( { 'pattern' => 'WITH', 'hashname' => '__PATTERN1__', 'description' => '/WITH/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 89, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'expected' => '<leftop: common_table_expression /,/ common_table_expression>', 'min' => 1, 'name' => '\'common_table_expression(s)\'', 'max' => 100000000, 'leftarg' => bless( { 'subrule' => 'common_table_expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 89 }, 'Parse::RecDescent::Subrule' ), 'rightarg' => bless( { 'subrule' => 'common_table_expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 89 }, 'Parse::RecDescent::Subrule' ), 'hashname' => '__DIRECTIVE1__', 'type' => 'leftop', 'op' => bless( { 'pattern' => ',', 'hashname' => '__PATTERN2__', 'description' => '/,/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 89, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) }, 'Parse::RecDescent::Operator' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 90, 'code' => '{ $return = $item{\'common_table_expression\'}; }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'with_expression', 'vars' => '', 'line' => 87 }, 'Parse::RecDescent::Rule' ), 'numeric_constant' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '\\d+', 'hashname' => '__PATTERN1__', 'description' => '/\\\\d+/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 140, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'numeric_constant', 'vars' => '', 'line' => 140 }, 'Parse::RecDescent::Rule' ), 'old_new_table' => bless( { 'impcount' => 0, 'calls' => [ 'identifier' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 1, 'items' => [ bless( { 'pattern' => 'OLD_TABLE', 'hashname' => '__PATTERN1__', 'description' => '/OLD_TABLE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 291, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => '(AS)?', 'hashname' => '__PATTERN2__', 'description' => '/(AS)?/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 291, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'identifier', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 291 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 292, 'code' => '{ $return = join(\' \', @item[1..3] ) }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 1, 'items' => [ bless( { 'pattern' => 'NEW_TABLE', 'hashname' => '__PATTERN1__', 'description' => '/NEW_TABLE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 293, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => '(AS)?', 'hashname' => '__PATTERN2__', 'description' => '/(AS)?/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 293, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'identifier', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 293 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 294, 'code' => '{ $return = join(\' \', @item[1..3] ) }' }, 'Parse::RecDescent::Action' ) ], 'line' => 293 }, 'Parse::RecDescent::Production' ) ], 'name' => 'old_new_table', 'vars' => '', 'line' => 291 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_numbering_function' => bless( { 'impcount' => 0, 'calls' => [ 'window_order_clause', 'window_aggregation_group_clause' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'window_order_clause', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'window_aggregation_group_clause', 'expected' => undef, 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Repetition' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_numbering_function', 'vars' => '', 'line' => 627 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause' => bless( { 'impcount' => 0, 'calls' => [ 'result_expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'result_expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'NULL', 'hashname' => '__PATTERN1__', 'description' => '/NULL/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 627, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 627 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_searched_when_clause', 'vars' => '', 'line' => 626 }, 'Parse::RecDescent::Rule' ), 'old_new_corr' => bless( { 'impcount' => 0, 'calls' => [ 'correlation_name' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 1, 'items' => [ bless( { 'pattern' => 'OLD', 'hashname' => '__PATTERN1__', 'description' => '/OLD/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 286, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => '(AS)?', 'hashname' => '__PATTERN2__', 'description' => '/(AS)?/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 286, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'correlation_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 286 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 287, 'code' => '{ $return = join(\' \', @item[1..3] ) }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 1, 'items' => [ bless( { 'pattern' => 'NEW', 'hashname' => '__PATTERN1__', 'description' => '/NEW/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 288, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => '(AS)?', 'hashname' => '__PATTERN2__', 'description' => '/(AS)?/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 288, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'correlation_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 288 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 289, 'code' => '{ $return = join(\' \', @item[1..3] ) }' }, 'Parse::RecDescent::Action' ) ], 'line' => 288 }, 'Parse::RecDescent::Production' ) ], 'name' => 'old_new_corr', 'vars' => '', 'line' => 286 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_42_of_rule_sysibm_function' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'LCASE', 'hashname' => '__PATTERN1__', 'description' => '/LCASE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'LOWER', 'hashname' => '__PATTERN1__', 'description' => '/LOWER/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_42_of_rule_sysibm_function', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'subtype_treatment' => bless( { 'impcount' => 0, 'calls' => [ 'expression', 'data_type' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 2, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'TREAT', 'hashname' => '__PATTERN1__', 'description' => '/TREAT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 606, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 606 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 606 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'AS', 'hashname' => '__PATTERN2__', 'description' => '/AS/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 606, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'data_type', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 606 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 606 }, 'Parse::RecDescent::Literal' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'subtype_treatment', 'vars' => '', 'line' => 606 }, 'Parse::RecDescent::Rule' ), 'expression' => bless( { 'impcount' => 1, 'calls' => [ '_alternation_1_of_production_1_of_rule_expression' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 1, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'op' => [], 'items' => [ bless( { 'expected' => '<leftop: \'+\', or \'-\' /operator/ \'+\', or \'-\'>', 'min' => 1, 'name' => '\'_alternation_1_of_production_1_of_rule_expression(s)\'', 'max' => 100000000, 'leftarg' => bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_expression', 'matchrule' => 0, 'implicit' => '\'+\', or \'-\'', 'argcode' => undef, 'lookahead' => 0, 'line' => 319 }, 'Parse::RecDescent::Subrule' ), 'rightarg' => bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_expression', 'matchrule' => 0, 'implicit' => '\'+\', or \'-\'', 'argcode' => undef, 'lookahead' => 0, 'line' => 319 }, 'Parse::RecDescent::Subrule' ), 'hashname' => '__DIRECTIVE1__', 'type' => 'leftop', 'op' => bless( { 'pattern' => 'operator', 'hashname' => '__PATTERN1__', 'description' => '/operator/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 319, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) }, 'Parse::RecDescent::Operator' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'expression', 'vars' => '', 'line' => 299 }, 'Parse::RecDescent::Rule' ), '_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression' => bless( { 'impcount' => 0, 'calls' => [ 'function', 'expression', 'constant', 'column_name', 'host_variable', 'special_register', 'scalar_fullselect', 'labeled_duration', 'case_expression', 'cast_specification', 'OLAP_function', 'method_invocation', 'subtype_treatment', 'sequence_reference' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'function', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 613 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 2, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 614 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 614 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 614 }, 'Parse::RecDescent::Literal' ) ], 'line' => 614 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'constant', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 615 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 615 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '3', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'column_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 616 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 616 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '4', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'host_variable', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 617 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 617 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '5', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'special_register', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 618 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 618 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '6', 'strcount' => 2, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 619 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'scalar_fullselect', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 619 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 619 }, 'Parse::RecDescent::Literal' ) ], 'line' => 619 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '7', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'labeled_duration', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 620 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 620 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '8', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'case_expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 621 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 621 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '9', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'cast_specification', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 622 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 622 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '10', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'OLAP_function', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 624 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 623 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '11', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'method_invocation', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 625 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 625 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '12', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'subtype_treatment', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 626 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 626 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '13', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'sequence_reference', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 627 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_2_of_production_1_of_rule__alternation_1_of_production_1_of_rule_expression', 'vars' => '', 'line' => 613 }, 'Parse::RecDescent::Rule' ), 'startrule' => bless( { 'impcount' => 0, 'calls' => [ 'statement', 'eofile' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 1, 'items' => [ bless( { 'subrule' => 'statement', 'expected' => undef, 'min' => 1, 'argcode' => undef, 'max' => 100000000, 'matchrule' => 0, 'repspec' => 's', 'lookahead' => 0, 'line' => 12 }, 'Parse::RecDescent::Repetition' ), bless( { 'subrule' => 'eofile', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 12 }, 'Parse::RecDescent::Subrule' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 12, 'code' => '{ $return = { tables => \\%tables, views => \\@views, triggers => \\@triggers, } }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'startrule', 'vars' => '', 'line' => 11 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_cast_specification' => bless( { 'impcount' => 0, 'calls' => [ 'expression', 'parameter_marker' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 625 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'NULL', 'hashname' => '__PATTERN1__', 'description' => '/NULL/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 626, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 626 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'parameter_marker', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Subrule' ) ], 'line' => 627 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_cast_specification', 'vars' => '', 'line' => 625 }, 'Parse::RecDescent::Rule' ), 'before' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'NO CASCADE BEFORE', 'hashname' => '__PATTERN1__', 'description' => '/NO CASCADE BEFORE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 268, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'before', 'vars' => '', 'line' => 268 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_83_of_rule_sysibm_function' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'UCASE', 'hashname' => '__PATTERN1__', 'description' => '/UCASE/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'UPPER', 'hashname' => '__PATTERN1__', 'description' => '/UPPER/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_83_of_rule_sysibm_function', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'ranking_function' => bless( { 'impcount' => 1, 'calls' => [ '_alternation_1_of_production_1_of_rule_ranking_function', 'window_partition_clause', 'window_order_clause' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 2, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_ranking_function', 'matchrule' => 0, 'implicit' => '/RANK/, or /DENSE_RANK|DENSERANK/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 544 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'OVER', 'hashname' => '__PATTERN1__', 'description' => '/OVER/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 544, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 544 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'window_partition_clause', 'expected' => undef, 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 544 }, 'Parse::RecDescent::Repetition' ), bless( { 'subrule' => 'window_order_clause', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 544 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 544 }, 'Parse::RecDescent::Literal' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'ranking_function', 'vars' => '', 'line' => 542 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition' => bless( { 'impcount' => 0, 'calls' => [ 'numeric_constant' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'SELECTIVITY', 'hashname' => '__PATTERN1__', 'description' => '/SELECTIVITY/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'numeric_constant', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 628 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_2_of_rule_search_condition', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_sysibm_function' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ABS', 'hashname' => '__PATTERN1__', 'description' => '/ABS/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'ABSVAL', 'hashname' => '__PATTERN1__', 'description' => '/ABSVAL/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_sysibm_function', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'reference_b' => bless( { 'impcount' => 0, 'calls' => [ 'old_new_corr' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 1, 'items' => [ bless( { 'pattern' => 'REFERENCING', 'hashname' => '__PATTERN1__', 'description' => '/REFERENCING/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 280, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'old_new_corr', 'expected' => undef, 'min' => 0, 'argcode' => undef, 'max' => 2, 'matchrule' => 0, 'repspec' => '0..2', 'lookahead' => 0, 'line' => 280 }, 'Parse::RecDescent::Repetition' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 281, 'code' => '{ $return = join(\' \', $item[1], join(\' \', @{$item[2]}) ) }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'reference_b', 'vars' => '', 'line' => 280 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_simple_when_clause' => bless( { 'impcount' => 1, 'calls' => [ 'search_condition', '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'WHEN', 'hashname' => '__PATTERN1__', 'description' => '/WHEN/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 624, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'search_condition', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 624 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'THEN', 'hashname' => '__PATTERN2__', 'description' => '/THEN/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 624, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_simple_when_clause', 'matchrule' => 0, 'implicit' => 'result_expression, or /NULL/i', 'argcode' => undef, 'lookahead' => 0, 'line' => 627 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_1_of_rule_simple_when_clause', 'vars' => '', 'line' => 624 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_9_of_rule_sysibm_function' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CORRELATION', 'hashname' => '__PATTERN1__', 'description' => '/CORRELATION/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CORR', 'hashname' => '__PATTERN1__', 'description' => '/CORR/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_9_of_rule_sysibm_function', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_7_of_rule_sysfun' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CEIL', 'hashname' => '__PATTERN1__', 'description' => '/CEIL/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CEILING', 'hashname' => '__PATTERN1__', 'description' => '/CEILING/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_7_of_rule_sysfun', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'prevval_expression' => bless( { 'impcount' => 0, 'calls' => [ 'sequence_name' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'PREVVAL\\s+FOR', 'hashname' => '__PATTERN1__', 'description' => '/PREVVAL\\\\s+FOR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 613, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'sequence_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 613 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'prevval_expression', 'vars' => '', 'line' => 613 }, 'Parse::RecDescent::Rule' ), 'where_clause' => bless( { 'impcount' => 0, 'calls' => [ 'WHERE', 'search_condition' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'WHERE', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 218 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => 'search_condition', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 218 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'where_clause', 'vars' => '', 'line' => 216 }, 'Parse::RecDescent::Rule' ), 'group_start' => bless( { 'impcount' => 0, 'calls' => [ 'unsigned_constant' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'UNBOUNDED\\s+PRECEDING', 'hashname' => '__PATTERN1__', 'description' => '/UNBOUNDED\\\\s+PRECEDING/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 574, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'unsigned_constant', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 575 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'PRECEDING', 'hashname' => '__PATTERN1__', 'description' => '/PRECEDING/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 575, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 575 }, 'Parse::RecDescent::Production' ), bless( { 'number' => '2', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'CURRENT\\s+ROW', 'hashname' => '__PATTERN1__', 'description' => '/CURRENT\\\\s+ROW/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 576, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 576 }, 'Parse::RecDescent::Production' ) ], 'name' => 'group_start', 'vars' => '', 'line' => 574 }, 'Parse::RecDescent::Rule' ), 'correlation_name' => bless( { 'impcount' => 0, 'calls' => [ 'NAME' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'NAME', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 138 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'correlation_name', 'vars' => '', 'line' => 138 }, 'Parse::RecDescent::Rule' ), 'SQL_procedure_statement' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 1, 'items' => [ bless( { 'pattern' => '[^;]*', 'hashname' => '__PATTERN1__', 'description' => '/[^;]*/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 94, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'pattern' => '(;|\\z)', 'hashname' => '__PATTERN2__', 'description' => '/(;|\\\\z)/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 94, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 94, 'code' => '{ $return = $item[1] . $item[2] }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'SQL_procedure_statement', 'vars' => '', 'line' => 94 }, 'Parse::RecDescent::Rule' ), 'group_between' => bless( { 'impcount' => 0, 'calls' => [ 'group_bound1', 'group_bound2' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'BETWEEN', 'hashname' => '__PATTERN1__', 'description' => '/BETWEEN/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 578, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'group_bound1', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 578 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => 'AND', 'hashname' => '__PATTERN2__', 'description' => '/AND/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 578, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'group_bound2', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 578 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'group_between', 'vars' => '', 'line' => 578 }, 'Parse::RecDescent::Rule' ), 'nextval_expression' => bless( { 'impcount' => 0, 'calls' => [ 'sequence_name' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'NEXTVAL\\s+FOR', 'hashname' => '__PATTERN1__', 'description' => '/NEXTVAL\\\\s+FOR/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 611, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => 'sequence_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 611 }, 'Parse::RecDescent::Subrule' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'nextval_expression', 'vars' => '', 'line' => 611 }, 'Parse::RecDescent::Rule' ), 'desc_option' => bless( { 'impcount' => 1, 'calls' => [ '_alternation_1_of_production_1_of_rule_desc_option' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'DESC', 'hashname' => '__PATTERN1__', 'description' => '/DESC/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 564, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_desc_option', 'expected' => '/NULLS\\\\s+FIRST/i, or /NULLS\\\\s+LAST/i', 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 564 }, 'Parse::RecDescent::Repetition' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'desc_option', 'vars' => '', 'line' => 564 }, 'Parse::RecDescent::Rule' ), 'column_list' => bless( { 'impcount' => 0, 'calls' => [ 'column_name' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 2, 'dircount' => 1, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 1, 'op' => [], 'items' => [ bless( { 'pattern' => '(', 'hashname' => '__STRING1__', 'description' => '\'(\'', 'lookahead' => 0, 'line' => 96 }, 'Parse::RecDescent::Literal' ), bless( { 'expected' => '<leftop: column_name /,/ column_name>', 'min' => 1, 'name' => '\'column_name(s)\'', 'max' => 100000000, 'leftarg' => bless( { 'subrule' => 'column_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 96 }, 'Parse::RecDescent::Subrule' ), 'rightarg' => bless( { 'subrule' => 'column_name', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 96 }, 'Parse::RecDescent::Subrule' ), 'hashname' => '__DIRECTIVE1__', 'type' => 'leftop', 'op' => bless( { 'pattern' => ',', 'hashname' => '__PATTERN1__', 'description' => '/,/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 96, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) }, 'Parse::RecDescent::Operator' ), bless( { 'pattern' => ')', 'hashname' => '__STRING2__', 'description' => '\')\'', 'lookahead' => 0, 'line' => 96 }, 'Parse::RecDescent::Literal' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 97, 'code' => '{ $return = join(\' \', \'(\', @{$item[2]}, \')\'); }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'column_list', 'vars' => '', 'line' => 96 }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_63_of_rule_sysibm_function' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'REGR_INTERCEPT', 'hashname' => '__PATTERN1__', 'description' => '/REGR_INTERCEPT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ), bless( { 'number' => '1', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'REGR_ICPT', 'hashname' => '__PATTERN1__', 'description' => '/REGR_ICPT/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 628, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => 628 }, 'Parse::RecDescent::Production' ) ], 'name' => '_alternation_1_of_production_63_of_rule_sysibm_function', 'vars' => '', 'line' => 628 }, 'Parse::RecDescent::Rule' ), 'dereference_operation' => bless( { 'impcount' => 1, 'calls' => [ 'scoped_reference_expression', 'name1', '_alternation_1_of_production_1_of_rule_dereference_operation' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 1, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 0, 'actcount' => 0, 'items' => [ bless( { 'subrule' => 'scoped_reference_expression', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 526 }, 'Parse::RecDescent::Subrule' ), bless( { 'pattern' => '->', 'hashname' => '__STRING1__', 'description' => '\'->\'', 'lookahead' => 0, 'line' => 526 }, 'Parse::RecDescent::Literal' ), bless( { 'subrule' => 'name1', 'matchrule' => 0, 'implicit' => undef, 'argcode' => undef, 'lookahead' => 0, 'line' => 526 }, 'Parse::RecDescent::Subrule' ), bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_dereference_operation', 'expected' => '\'(\'', 'min' => 0, 'argcode' => undef, 'max' => 1, 'matchrule' => 0, 'repspec' => '?', 'lookahead' => 0, 'line' => 527 }, 'Parse::RecDescent::Repetition' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'dereference_operation', 'vars' => '', 'line' => 526 }, 'Parse::RecDescent::Rule' ), 'OUTER' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'outer', 'hashname' => '__PATTERN1__', 'description' => '/outer/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 115, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'OUTER', 'vars' => '', 'line' => 115 }, 'Parse::RecDescent::Rule' ), 'window_order_clause' => bless( { 'impcount' => 1, 'calls' => [ '_alternation_1_of_production_1_of_rule_window_order_clause' ], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 1, 'uncommit' => undef, 'error' => undef, 'patcount' => 2, 'actcount' => 0, 'op' => [], 'items' => [ bless( { 'pattern' => 'ORDER\\s+BY', 'hashname' => '__PATTERN1__', 'description' => '/ORDER\\\\s+BY/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 555, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'expected' => '<leftop: sort_key_expression /,/ sort_key_expression>', 'min' => 1, 'name' => '\'_alternation_1_of_production_1_of_rule_window_order_clause(s)\'', 'max' => 100000000, 'leftarg' => bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_window_order_clause', 'matchrule' => 0, 'implicit' => 'sort_key_expression', 'argcode' => undef, 'lookahead' => 0, 'line' => 560 }, 'Parse::RecDescent::Subrule' ), 'rightarg' => bless( { 'subrule' => '_alternation_1_of_production_1_of_rule_window_order_clause', 'matchrule' => 0, 'implicit' => 'sort_key_expression', 'argcode' => undef, 'lookahead' => 0, 'line' => 560 }, 'Parse::RecDescent::Subrule' ), 'hashname' => '__DIRECTIVE1__', 'type' => 'leftop', 'op' => bless( { 'pattern' => ',', 'hashname' => '__PATTERN2__', 'description' => '/,/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 560, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) }, 'Parse::RecDescent::Operator' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'window_order_clause', 'vars' => '', 'line' => 555 }, 'Parse::RecDescent::Rule' ), 'TRIGGER' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 0, 'items' => [ bless( { 'pattern' => 'trigger', 'hashname' => '__PATTERN1__', 'description' => '/trigger/i', 'lookahead' => 0, 'rdelim' => '/', 'line' => 103, 'mod' => 'i', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'TRIGGER', 'vars' => '', 'line' => 103 }, 'Parse::RecDescent::Rule' ), 'comment' => bless( { 'impcount' => 0, 'calls' => [], 'changed' => 0, 'opcount' => 0, 'prods' => [ bless( { 'number' => '0', 'strcount' => 0, 'dircount' => 0, 'uncommit' => undef, 'error' => undef, 'patcount' => 1, 'actcount' => 1, 'items' => [ bless( { 'pattern' => '^\\s*-{2}.*\\n', 'hashname' => '__PATTERN1__', 'description' => '/^\\\\s*-\\{2\\}.*\\\\n/', 'lookahead' => 0, 'rdelim' => '/', 'line' => 27, 'mod' => '', 'ldelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'hashname' => '__ACTION1__', 'lookahead' => 0, 'line' => 28, 'code' => '{ my $comment = $item[1]; $comment =~ s/^\\s*(-{2})\\s*//; $comment =~ s/\\s*$//; $return = $comment; }' }, 'Parse::RecDescent::Action' ) ], 'line' => undef }, 'Parse::RecDescent::Production' ) ], 'name' => 'comment', 'vars' => '', 'line' => 27 }, 'Parse::RecDescent::Rule' ) } }, 'Parse::RecDescent' ); }