don't use a precompiled version
Justin Hunter [Sat, 1 Aug 2009 23:32:51 +0000 (16:32 -0700)]
lib/SQL/Translator/Grammar/SQLite.pm

index 187e1ab..ac0fc0c 100644 (file)
@@ -1,4 +1,5 @@
-package SQL::Translator::Grammar::SQLite;
+use MooseX::Declare;
+role SQL::Translator::Grammar::SQLite {
 # -------------------------------------------------------------------
 # Copyright (C) 2002-2009 SQLFairy Authors
 #
@@ -17,784 +18,115 @@ package SQL::Translator::Grammar::SQLite;
 # 02111-1307  USA
 # -------------------------------------------------------------------
 
-=head1 NAME 
-
-SQL::Translator::Grammar::SQLite - grammar for SQLite
-
-=head1 DESCRIPTION
-
-This is a grammar for parsing CREATE statements for SQLite as 
-described here:
-
-    http://www.sqlite.org/lang.html
-
-CREATE INDEX
-
-sql-statement ::=
-    CREATE [TEMP | TEMPORARY] [UNIQUE] INDEX index-name 
-     ON [database-name .] table-name ( column-name [, column-name]* )
-     [ ON CONFLICT conflict-algorithm ]
-
-column-name ::=
-    name [ ASC | DESC ]
-
-CREATE TABLE
-
-sql-command ::=
-    CREATE [TEMP | TEMPORARY] TABLE table-name (
-        column-def [, column-def]*
-        [, constraint]*
-     )
-
-sql-command ::=
-    CREATE [TEMP | TEMPORARY] TABLE table-name AS select-statement
-
-column-def ::=
-    name [type] [[CONSTRAINT name] column-constraint]*
-
-type ::=
-    typename |
-     typename ( number ) |
-     typename ( number , number )
-
-column-constraint ::=
-    NOT NULL [ conflict-clause ] |
-    PRIMARY KEY [sort-order] [ conflict-clause ] |
-    UNIQUE [ conflict-clause ] |
-    CHECK ( expr ) [ conflict-clause ] |
-    DEFAULT value
-
-constraint ::=
-    PRIMARY KEY ( name [, name]* ) [ conflict-clause ]|
-    UNIQUE ( name [, name]* ) [ conflict-clause ] |
-    CHECK ( expr ) [ conflict-clause ]
-
-conflict-clause ::=
-    ON CONFLICT conflict-algorithm
-
-CREATE TRIGGER
-
-sql-statement ::=
-    CREATE [TEMP | TEMPORARY] TRIGGER trigger-name [ BEFORE | AFTER ]
-    database-event ON [database-name .] table-name
-    trigger-action
-
-sql-statement ::=
-    CREATE [TEMP | TEMPORARY] TRIGGER trigger-name INSTEAD OF
-    database-event ON [database-name .] view-name
-    trigger-action
-
-database-event ::=
-    DELETE | 
-    INSERT | 
-    UPDATE | 
-    UPDATE OF column-list
-
-trigger-action ::=
-    [ FOR EACH ROW | FOR EACH STATEMENT ] [ WHEN expression ] 
-        BEGIN 
-            trigger-step ; [ trigger-step ; ]*
-        END
-
-trigger-step ::=
-    update-statement | insert-statement | 
-    delete-statement | select-statement
-
-CREATE VIEW
-
-sql-command ::=
-    CREATE [TEMP | TEMPORARY] VIEW view-name AS select-statement
-
-ON CONFLICT clause
-
-    conflict-clause ::=
-    ON CONFLICT conflict-algorithm
-
-    conflict-algorithm ::=
-    ROLLBACK | ABORT | FAIL | IGNORE | REPLACE
-
-expression
-
-expr ::=
-    expr binary-op expr |
-    expr like-op expr |
-    unary-op expr |
-    ( expr ) |
-    column-name |
-    table-name . column-name |
-    database-name . table-name . column-name |
-    literal-value |
-    function-name ( expr-list | * ) |
-    expr (+) |
-    expr ISNULL |
-    expr NOTNULL |
-    expr [NOT] BETWEEN expr AND expr |
-    expr [NOT] IN ( value-list ) |
-    expr [NOT] IN ( select-statement ) |
-    ( select-statement ) |
-    CASE [expr] ( WHEN expr THEN expr )+ [ELSE expr] END
-
-like-op::=
-    LIKE | GLOB | NOT LIKE | NOT GLOB
-
-=cut
-
-use Parse::RecDescent;
-
-{ my $ERRORS;
-
-
-package Parse::RecDescent::SQL::Translator::Grammar::SQLite;
-use strict;
-use vars qw($skip $AUTOLOAD  );
-$skip = '\s*';
+#my $GRAMMAR = q!
+method _build_grammar {
+return q!
+{ 
     my ( %tables, $table_order, @table_comments, @views, @triggers );
-;
-
-
-{
-local $SIG{__WARN__} = sub {0};
-# PRETEND TO BE IN Parse::RecDescent NAMESPACE
-*Parse::RecDescent::SQL::Translator::Grammar::SQLite::AUTOLOAD = sub
-{
-       no strict 'refs';
-       $AUTOLOAD =~ s/^Parse::RecDescent::SQL::Translator::Grammar::SQLite/Parse::RecDescent/;
-       goto &{$AUTOLOAD};
-}
-}
-
-push @Parse::RecDescent::SQL::Translator::Grammar::SQLite::ISA, 'Parse::RecDescent';
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::WORD
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"WORD"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [WORD]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{WORD},
-                                 $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{WORD},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{WORD});
-               %item = (__RULE__ => q{WORD});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/\\w+/]}, Parse::RecDescent::_tracefirst($text),
-                                         q{WORD},
-                                         $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{WORD},
-                                         $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{WORD},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{WORD},
-                                         $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{WORD},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{WORD},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
 }
 
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::statement_body
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"statement_body"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [statement_body]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{statement_body},
-                                 $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: [string]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{statement_body},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{statement_body});
-               %item = (__RULE__ => q{statement_body});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [string]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{statement_body},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::string($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [string]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{statement_body},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [string]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{statement_body},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{string}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [string]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{statement_body},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [nonstring]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{statement_body},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[1];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{statement_body});
-               %item = (__RULE__ => q{statement_body});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [nonstring]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{statement_body},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::nonstring($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [nonstring]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{statement_body},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [nonstring]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{statement_body},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{nonstring}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [nonstring]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{statement_body},
-                                         $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_body},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{statement_body},
-                                         $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_body},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{statement_body},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
+#
+# The "eofile" rule makes the parser fail if any "statement" rule
+# fails.  Otherwise, the first successful match by a "statement" 
+# won't cause the failure needed to know that the parse, as a whole,
+# failed. -ky
+#
+startrule : statement(s) eofile { 
+    $return      = {
+        tables   => \%tables, 
+        views    => \@views,
+        triggers => \@triggers,
+    }
 }
 
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::for_each
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"for_each"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [for_each]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{for_each},
-                                 $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: [/FOR EACH ROW/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{for_each},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{for_each});
-               %item = (__RULE__ => q{for_each});
-               my $repcount = 0;
+eofile : /^\Z/
 
+statement : begin_transaction
+    | commit
+    | drop
+    | comment
+    | create
+    | <error>
 
-               Parse::RecDescent::_trace(q{Trying terminal: [/FOR EACH ROW/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{for_each},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
+begin_transaction : /begin/i TRANSACTION(?) SEMICOLON
 
-               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;
+commit : /commit/i SEMICOLON
 
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
-                                               . $& . q{])},
-                                                 Parse::RecDescent::_tracefirst($text))
-                                       if defined $::RD_TRACE;
-               push @item, $item{__PATTERN1__}=$&;
-               
+drop : /drop/i (tbl_drop | view_drop | trg_drop) SEMICOLON
 
+tbl_drop: TABLE <commit> table_name
 
-               Parse::RecDescent::_trace(q{>>Matched production: [/FOR EACH ROW/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{for_each},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
+view_drop: VIEW if_exists(?) view_name
 
+trg_drop: TRIGGER if_exists(?) trigger_name
 
-        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{for_each},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{for_each},
-                                         $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{for_each},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{for_each},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::column_def
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"column_def"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [column_def]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{column_def},
-                                 $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 NAME type column_constraint]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{column_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{column_def});
-               %item = (__RULE__ => q{column_def});
-               my $repcount = 0;
+comment : /^\s*(?:#|-{2}).*\n/
+    {
+        my $comment =  $item[1];
+        $comment    =~ s/^\s*(#|-{2})\s*//;
+        $comment    =~ s/\s*$//;
+        $return     = $comment;
+    }
 
+comment : /\/\*/ /[^\*]+/ /\*\// 
+    {
+        my $comment = $item[2];
+        $comment    =~ s/^\s*|\s*$//g;
+        $return = $comment;
+    }
 
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [comment]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_def},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::comment, 0, 100000000, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [comment]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_def},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [comment]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{comment(s?)}} = $_tok;
-               push @item, $_tok;
-               
+#
+# Create Index
+#
+create : CREATE TEMPORARY(?) UNIQUE(?) INDEX WORD ON table_name parens_field_list conflict_clause(?) SEMICOLON
+    {
+        my $db_name    = $item[7]->{'db_name'} || '';
+        my $table_name = $item[7]->{'name'};
 
+        my $index        =  { 
+            name         => $item[5],
+            columns       => $item[8],
+            on_conflict  => $item[9][0],
+            is_temporary => $item[2][0] ? 1 : 0,
+        };
 
-               Parse::RecDescent::_trace(q{Trying subrule: [NAME]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_def},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{NAME})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_def},
-                                                 $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_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{NAME}} = $_tok;
-               push @item, $_tok;
-               
-               }
+        my $is_unique = $item[3][0];
 
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [type]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_def},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{type})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::type, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [type]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_def},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [type]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{type(?)}} = $_tok;
-               push @item, $_tok;
-               
+        if ( $is_unique ) {
+            $index->{'type'} = 'unique';
+            push @{ $tables{ $table_name }{'constraints'} }, $index;
+        }
+        else {
+            push @{ $tables{ $table_name }{'indices'} }, $index;
+        }
+    }
 
+#
+# Create Table
+#
+create : CREATE TEMPORARY(?) TABLE table_name '(' definition(s /,/) ')' SEMICOLON
+    {
+        my $db_name    = $item[4]->{'db_name'} || '';
+        my $table_name = $item[4]->{'name'};
 
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [column_constraint]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_def},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{column_constraint})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::column_constraint, 0, 100000000, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [column_constraint]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_def},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [column_constraint]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{column_constraint(s?)}} = $_tok;
-               push @item, $_tok;
-               
+        $tables{ $table_name }{'name'}         = $table_name;
+        $tables{ $table_name }{'is_temporary'} = $item[2][0] ? 1 : 0;
+        $tables{ $table_name }{'order'}        = ++$table_order;
 
+        for my $def ( @{ $item[6] } ) {
+            if ( $def->{'supertype'} eq 'column' ) {
+                push @{ $tables{ $table_name }{'columns'} }, $def;
+            }
+            elsif ( $def->{'supertype'} eq 'constraint' ) {
+                push @{ $tables{ $table_name }{'constraints'} }, $def;
+            }
+        }
+    }
 
-               Parse::RecDescent::_trace(q{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
+definition : constraint_def | column_def 
 
-               $_tok = ($_noactions) ? 0 : do {
+column_def: comment(s?) NAME type(?) column_constraint(s?)
+    {
         my $column = {
             supertype      => 'column',
             name           => $item[2],
@@ -829,16766 +161,258 @@ sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::column_def
         }
 
         $column;
-    };
-               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: [comment NAME type column_constraint]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_def},
-                                         $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_def},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{column_def},
-                                         $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_def},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{column_def},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::constraint_def
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"constraint_def"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [constraint_def]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{constraint_def},
-                                 $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: [PRIMARY_KEY parens_field_list conflict_clause]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{constraint_def});
-               %item = (__RULE__ => q{constraint_def});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [PRIMARY_KEY]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{constraint_def},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::PRIMARY_KEY($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [PRIMARY_KEY]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{constraint_def},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [PRIMARY_KEY]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{PRIMARY_KEY}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying subrule: [parens_field_list]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{constraint_def},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{parens_field_list})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::parens_field_list($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [parens_field_list]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{constraint_def},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [parens_field_list]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{parens_field_list}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [conflict_clause]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{constraint_def},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{conflict_clause})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::conflict_clause, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [conflict_clause]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{constraint_def},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [conflict_clause]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{conflict_clause(?)}} = $_tok;
-               push @item, $_tok;
-               
+    }
 
+type : WORD parens_value_list(?)
+    {
+        $return = {
+            type => $item[1],
+            size => $item[2][0],
+        }
+    }
 
-               Parse::RecDescent::_trace(q{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
+column_constraint : NOT_NULL conflict_clause(?)
+    {
+        $return = {
+            type => 'not_null',
+        }
+    }
+    |
+    PRIMARY_KEY sort_order(?) conflict_clause(?)
+    {
+        $return = {
+            type        => 'primary_key',
+            sort_order  => $item[2][0],
+            on_conflict => $item[2][0], 
+        }
+    }
+    |
+    UNIQUE conflict_clause(?)
+    {
+        $return = {
+            type        => 'unique',
+            on_conflict => $item[2][0], 
+        }
+    }
+    |
+    CHECK_C '(' expr ')' conflict_clause(?)
+    {
+        $return = {
+            type        => 'check',
+            expression  => $item[3],
+            on_conflict => $item[5][0], 
+        }
+    }
+    |
+    DEFAULT VALUE
+    {
+        $return   = {
+            type  => 'default',
+            value => $item[2],
+        }
+    }
 
-               $_tok = ($_noactions) ? 0 : do {
+constraint_def : PRIMARY_KEY parens_field_list conflict_clause(?)
+    {
         $return         = {
             supertype   => 'constraint',
             type        => 'primary_key',
             columns      => $item[2],
             on_conflict => $item[3][0],
         }
-    };
-               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: [PRIMARY_KEY parens_field_list conflict_clause]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [UNIQUE parens_field_list conflict_clause]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[1];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{constraint_def});
-               %item = (__RULE__ => q{constraint_def});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [UNIQUE]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{constraint_def},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::UNIQUE($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [UNIQUE]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{constraint_def},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [UNIQUE]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{UNIQUE}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying subrule: [parens_field_list]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{constraint_def},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{parens_field_list})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::parens_field_list($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [parens_field_list]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{constraint_def},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [parens_field_list]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{parens_field_list}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [conflict_clause]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{constraint_def},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{conflict_clause})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::conflict_clause, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [conflict_clause]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{constraint_def},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [conflict_clause]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{conflict_clause(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do {
+    }
+    |
+    UNIQUE parens_field_list conflict_clause(?)
+    {
         $return         = {
             supertype   => 'constraint',
             type        => 'unique',
             columns      => $item[2],
             on_conflict => $item[3][0],
         }
-    };
-               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: [UNIQUE parens_field_list conflict_clause]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [CHECK_C '(' expr ')' conflict_clause]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[2];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{constraint_def});
-               %item = (__RULE__ => q{constraint_def});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [CHECK_C]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{constraint_def},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::CHECK_C($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [CHECK_C]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{constraint_def},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [CHECK_C]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{CHECK_C}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying terminal: ['(']},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $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: [expr]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{constraint_def},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{expr})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::expr($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [expr]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{constraint_def},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [expr]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{expr}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying terminal: [')']},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $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: [conflict_clause]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{constraint_def},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{conflict_clause})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::conflict_clause, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [conflict_clause]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{constraint_def},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [conflict_clause]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{conflict_clause(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do {
+    }
+    |
+    CHECK_C '(' expr ')' conflict_clause(?)
+    {
         $return         = {
             supertype   => 'constraint',
             type        => 'check',
             expression  => $item[3],
             on_conflict => $item[5][0],
         }
-    };
-               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: [CHECK_C '(' expr ')' conflict_clause]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{constraint_def},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
+    }
 
-        unless ( $_matched || defined($return) || defined($score) )
-       {
-               
+table_name : qualified_name
+    
+qualified_name : NAME 
+    { $return = { name => $item[1] } }
 
-               $_[1] = $text;  # NOT SURE THIS IS NEEDED
-               Parse::RecDescent::_trace(q{<<Didn't match rule>>},
-                                        Parse::RecDescent::_tracefirst($_[1]),
-                                        q{constraint_def},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{constraint_def},
-                                         $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{constraint_def},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{constraint_def},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
+qualified_name : /(\w+)\.(\w+)/ 
+    { $return = { db_name => $1, name => $2 } }
 
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::string
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"string"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [string]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{string},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
+field_name : NAME
 
-       
-       my $err_at = @{$thisparser->{errors}};
+conflict_clause : /on conflict/i conflict_algorigthm
 
-       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;
+conflict_algorigthm : /(rollback|abort|fail|ignore|replace)/i
 
-       
+parens_field_list : '(' column_list ')'
+    { $item[2] }
 
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [/'(\\\\.|''|[^\\\\\\'])*'/]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{string},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{string});
-               %item = (__RULE__ => q{string});
-               my $repcount = 0;
+column_list : field_name(s /,/)
 
+parens_value_list : '(' VALUE(s /,/) ')'
+    { $item[2] }
 
-               Parse::RecDescent::_trace(q{Trying terminal: [/'(\\\\.|''|[^\\\\\\'])*'/]}, Parse::RecDescent::_tracefirst($text),
-                                         q{string},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
+expr : /[^)]+/
 
-               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;
+sort_order : /(ASC|DESC)/i
 
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
-                                               . $& . q{])},
-                                                 Parse::RecDescent::_tracefirst($text))
-                                       if defined $::RD_TRACE;
-               push @item, $item{__PATTERN1__}=$&;
-               
+#
+# Create Trigger
 
+create : CREATE TEMPORARY(?) TRIGGER NAME before_or_after(?) database_event ON table_name trigger_action SEMICOLON
+    {
+        my $table_name = $item[8]->{'name'};
+        push @triggers, {
+            name         => $item[4],
+            is_temporary => $item[2][0] ? 1 : 0,
+            when         => $item[5][0],
+            instead_of   => 0,
+            db_events    => [ $item[6] ],
+            action       => $item[9],
+            on_table     => $table_name,
+        }
+    }
 
-               Parse::RecDescent::_trace(q{>>Matched production: [/'(\\\\.|''|[^\\\\\\'])*'/]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{string},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
+create : CREATE TEMPORARY(?) TRIGGER NAME instead_of database_event ON view_name trigger_action
+    {
+        my $table_name = $item[8]->{'name'};
+        push @triggers, {
+            name         => $item[4],
+            is_temporary => $item[2][0] ? 1 : 0,
+            when         => undef,
+            instead_of   => 1,
+            db_events    => [ $item[6] ],
+            action       => $item[9],
+            on_table     => $table_name,
+        }
+    }
 
+database_event : /(delete|insert|update)/i
 
-        unless ( $_matched || defined($return) || defined($score) )
-       {
-               
+database_event : /update of/i column_list
 
-               $_[1] = $text;  # NOT SURE THIS IS NEEDED
-               Parse::RecDescent::_trace(q{<<Didn't match rule>>},
-                                        Parse::RecDescent::_tracefirst($_[1]),
-                                        q{string},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{string},
-                                         $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{string},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{string},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
+trigger_action : for_each(?) when(?) BEGIN_C trigger_step(s) END_C
+    {
+        $return = {
+            for_each => $item[1][0],
+            when     => $item[2][0],
+            steps    => $item[4],
+        }
+    }
 
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::conflict_algorigthm
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"conflict_algorigthm"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [conflict_algorigthm]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{conflict_algorigthm},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
+for_each : /FOR EACH ROW/i
 
-       
-       my $err_at = @{$thisparser->{errors}};
+when : WHEN expr { $item[2] }
 
-       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;
+string :
+   /'(\\.|''|[^\\\'])*'/ 
 
-       
+nonstring : /[^;\'"]+/
 
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [/(rollback|abort|fail|ignore|replace)/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{conflict_algorigthm},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{conflict_algorigthm});
-               %item = (__RULE__ => q{conflict_algorigthm});
-               my $repcount = 0;
+statement_body : string | nonstring
 
+trigger_step : /(select|delete|insert|update)/i statement_body(s?) SEMICOLON
+    {
+        $return = join( ' ', $item[1], join ' ', @{ $item[2] || [] } )
+    }   
 
-               Parse::RecDescent::_trace(q{Trying terminal: [/(rollback|abort|fail|ignore|replace)/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{conflict_algorigthm},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
+before_or_after : /(before|after)/i { $return = lc $1 }
 
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?:(rollback|abort|fail|ignore|replace))//i)
-               {
-                       
-                       $expectation->failed();
-                       Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
-                                                 Parse::RecDescent::_tracefirst($text))
-                                       if defined $::RD_TRACE;
+instead_of : /instead of/i
 
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
-                                               . $& . q{])},
-                                                 Parse::RecDescent::_tracefirst($text))
-                                       if defined $::RD_TRACE;
-               push @item, $item{__PATTERN1__}=$&;
-               
+if_exists : /if exists/i
 
+view_name : qualified_name
 
-               Parse::RecDescent::_trace(q{>>Matched production: [/(rollback|abort|fail|ignore|replace)/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{conflict_algorigthm},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
+trigger_name : qualified_name
 
+#
+# Create View
+#
+create : CREATE TEMPORARY(?) VIEW view_name AS select_statement 
+    {
+        push @views, {
+            name         => $item[4]->{'name'},
+            sql          => $item[6], 
+            is_temporary => $item[2][0] ? 1 : 0,
+        }
+    }
 
-        unless ( $_matched || defined($return) || defined($score) )
-       {
-               
+select_statement : SELECT /[^;]+/ SEMICOLON
+    {
+        $return = join( ' ', $item[1], $item[2] );
+    }
 
-               $_[1] = $text;  # NOT SURE THIS IS NEEDED
-               Parse::RecDescent::_trace(q{<<Didn't match rule>>},
-                                        Parse::RecDescent::_tracefirst($_[1]),
-                                        q{conflict_algorigthm},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{conflict_algorigthm},
-                                         $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{conflict_algorigthm},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{conflict_algorigthm},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
+#
+# Tokens
+#
+BEGIN_C : /begin/i
 
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::INDEX
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"INDEX"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [INDEX]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{INDEX},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
+END_C : /end/i
 
-       
-       my $err_at = @{$thisparser->{errors}};
+TRANSACTION: /transaction/i
 
-       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;
+CREATE : /create/i
 
-       
+TEMPORARY : /temp(orary)?/i { 1 }
 
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [/index/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{INDEX},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{INDEX});
-               %item = (__RULE__ => q{INDEX});
-               my $repcount = 0;
+TABLE : /table/i
 
+INDEX : /index/i
 
-               Parse::RecDescent::_trace(q{Trying terminal: [/index/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{INDEX},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
+NOT_NULL : /not null/i
 
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?:index)//i)
-               {
-                       
-                       $expectation->failed();
-                       Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
-                                                 Parse::RecDescent::_tracefirst($text))
-                                       if defined $::RD_TRACE;
+PRIMARY_KEY : /primary key/i
 
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
-                                               . $& . q{])},
-                                                 Parse::RecDescent::_tracefirst($text))
-                                       if defined $::RD_TRACE;
-               push @item, $item{__PATTERN1__}=$&;
-               
+CHECK_C : /check/i
 
+DEFAULT : /default/i
 
-               Parse::RecDescent::_trace(q{>>Matched production: [/index/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{INDEX},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
+TRIGGER : /trigger/i
 
+VIEW : /view/i
 
-        unless ( $_matched || defined($return) || defined($score) )
-       {
-               
+SELECT : /select/i
 
-               $_[1] = $text;  # NOT SURE THIS IS NEEDED
-               Parse::RecDescent::_trace(q{<<Didn't match rule>>},
-                                        Parse::RecDescent::_tracefirst($_[1]),
-                                        q{INDEX},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{INDEX},
-                                         $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{INDEX},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{INDEX},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
+ON : /on/i
 
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::view_drop
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"view_drop"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [view_drop]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{view_drop},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
+AS : /as/i
 
-       
-       my $err_at = @{$thisparser->{errors}};
+WORD : /\w+/
 
-       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;
+WHEN : /when/i
 
-       
+UNIQUE : /unique/i { 1 }
 
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [VIEW if_exists view_name]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{view_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{view_drop});
-               %item = (__RULE__ => q{view_drop});
-               my $repcount = 0;
+SEMICOLON : ';'
 
+NAME : /'?(\w+)'?/ { $return = $1 }
 
-               Parse::RecDescent::_trace(q{Trying subrule: [VIEW]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{view_drop},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::VIEW($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [VIEW]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{view_drop},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [VIEW]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{view_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{VIEW}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [if_exists]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{view_drop},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{if_exists})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::if_exists, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [if_exists]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{view_drop},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [if_exists]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{view_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{if_exists(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [view_name]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{view_drop},
-                                 $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::Grammar::SQLite::view_name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [view_name]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{view_drop},
-                                                 $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{view_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{view_name}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [VIEW if_exists view_name]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{view_drop},
-                                         $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_drop},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{view_drop},
-                                         $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_drop},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{view_drop},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::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: [begin_transaction]},
-                                         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: [begin_transaction]},
-                                 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::Grammar::SQLite::begin_transaction($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [begin_transaction]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{statement},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [begin_transaction]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{statement},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{begin_transaction}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [begin_transaction]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{statement},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [commit]},
-                                         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: [commit]},
-                                 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::Grammar::SQLite::commit($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [commit]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{statement},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [commit]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{statement},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{commit}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [commit]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{statement},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [drop]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{statement},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[2];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{statement});
-               %item = (__RULE__ => q{statement});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [drop]},
-                                 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::Grammar::SQLite::drop($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [drop]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{statement},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [drop]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{statement},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{drop}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [drop]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{statement},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       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"}[3];
-               $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::Grammar::SQLite::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"}[4];
-               $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::Grammar::SQLite::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"}[5];
-               
-               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::Grammar::SQLite::field_name
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"field_name"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [field_name]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{field_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{field_name},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{field_name});
-               %item = (__RULE__ => q{field_name});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [NAME]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{field_name},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{field_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{field_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{field_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{field_name},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{field_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{field_name},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{field_name},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::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::Grammar::SQLite::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::Grammar::SQLite::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::Grammar::SQLite::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::Grammar::SQLite::TRANSACTION
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"TRANSACTION"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [TRANSACTION]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{TRANSACTION},
-                                 $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: [/transaction/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{TRANSACTION},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{TRANSACTION});
-               %item = (__RULE__ => q{TRANSACTION});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/transaction/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{TRANSACTION},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
-
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?:transaction)//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: [/transaction/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{TRANSACTION},
-                                         $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{TRANSACTION},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{TRANSACTION},
-                                         $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{TRANSACTION},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{TRANSACTION},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::VALUE
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"VALUE"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [VALUE]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{VALUE},
-                                 $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+(?:[eE]\\d+)?/]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{VALUE},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{VALUE});
-               %item = (__RULE__ => q{VALUE});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/[-+]?\\.?\\d+(?:[eE]\\d+)?/]}, Parse::RecDescent::_tracefirst($text),
-                                         q{VALUE},
-                                         $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+(?:[eE]\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{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{VALUE},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do { $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: [/[-+]?\\.?\\d+(?:[eE]\\d+)?/]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{VALUE},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [/'.*?'/]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{VALUE},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[1];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{VALUE});
-               %item = (__RULE__ => q{VALUE});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/'.*?'/]}, Parse::RecDescent::_tracefirst($text),
-                                         q{VALUE},
-                                         $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 action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{VALUE},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do { 
+VALUE : /[-+]?\.?\d+(?:[eE]\d+)?/
+    { $item[1] }
+    | /'.*?'/   
+    { 
         # remove leading/trailing quotes 
         my $val = $item[1];
         $val    =~ s/^['"]|['"]$//g;
         $return = $val;
-    };
-               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{VALUE},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [/NULL/]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{VALUE},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[2];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{VALUE});
-               %item = (__RULE__ => q{VALUE});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/NULL/]}, Parse::RecDescent::_tracefirst($text),
-                                         q{VALUE},
-                                         $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)//)
-               {
-                       
-                       $expectation->failed();
-                       Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
-                                                 Parse::RecDescent::_tracefirst($text))
-                                       if defined $::RD_TRACE;
-
-                       last;
-               }
-               Parse::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{VALUE},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do { 'NULL' };
-               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: [/NULL/]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{VALUE},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [/CURRENT_TIMESTAMP/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{VALUE},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[3];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{VALUE});
-               %item = (__RULE__ => q{VALUE});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/CURRENT_TIMESTAMP/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{VALUE},
-                                         $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_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{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{VALUE},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do { 'CURRENT_TIMESTAMP' };
-               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: [/CURRENT_TIMESTAMP/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{VALUE},
-                                         $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{VALUE},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{VALUE},
-                                         $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{VALUE},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{VALUE},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::END_C
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"END_C"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [END_C]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{END_C},
-                                 $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: [/end/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{END_C},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{END_C});
-               %item = (__RULE__ => q{END_C});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/end/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{END_C},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->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{__PATTERN1__}=$&;
-               
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [/end/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{END_C},
-                                         $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{END_C},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{END_C},
-                                         $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{END_C},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{END_C},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::sort_order
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"sort_order"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [sort_order]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{sort_order},
-                                 $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|DESC)/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{sort_order},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{sort_order});
-               %item = (__RULE__ => q{sort_order});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/(ASC|DESC)/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{sort_order},
-                                         $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|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{>>Matched production: [/(ASC|DESC)/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{sort_order},
-                                         $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{sort_order},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{sort_order},
-                                         $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{sort_order},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{sort_order},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::before_or_after
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"before_or_after"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [before_or_after]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{before_or_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: [/(before|after)/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{before_or_after},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{before_or_after});
-               %item = (__RULE__ => q{before_or_after});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/(before|after)/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{before_or_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(?:(before|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{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{before_or_after},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do { $return = lc $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: [/(before|after)/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{before_or_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{before_or_after},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{before_or_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{before_or_after},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{before_or_after},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::tbl_drop
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"tbl_drop"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [tbl_drop]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{tbl_drop},
-                                 $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 <commit> table_name]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{tbl_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{tbl_drop});
-               %item = (__RULE__ => q{tbl_drop});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [TABLE]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{tbl_drop},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::TABLE($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [TABLE]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{tbl_drop},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [TABLE]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{tbl_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{TABLE}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               
-
-               Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
-                                       Parse::RecDescent::_tracefirst($text),
-                                         q{tbl_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE; 
-               $_tok = do { $commit = 1 };
-               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{Trying subrule: [table_name]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{tbl_drop},
-                                 $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::Grammar::SQLite::table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [table_name]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{tbl_drop},
-                                                 $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{tbl_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{table_name}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [TABLE <commit> table_name]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{tbl_drop},
-                                         $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{tbl_drop},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{tbl_drop},
-                                         $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{tbl_drop},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{tbl_drop},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
+    }
+    | /NULL/
+    { 'NULL' }
+    | /CURRENT_TIMESTAMP/i
+    { 'CURRENT_TIMESTAMP' }
+!;
 }
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::trg_drop
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"trg_drop"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [trg_drop]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{trg_drop},
-                                 $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 if_exists trigger_name]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{trg_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{trg_drop});
-               %item = (__RULE__ => q{trg_drop});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [TRIGGER]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{trg_drop},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::TRIGGER($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [TRIGGER]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{trg_drop},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [TRIGGER]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{trg_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{TRIGGER}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [if_exists]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{trg_drop},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{if_exists})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::if_exists, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [if_exists]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{trg_drop},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [if_exists]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{trg_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{if_exists(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [trigger_name]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{trg_drop},
-                                 $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::Grammar::SQLite::trigger_name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [trigger_name]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{trg_drop},
-                                                 $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{trg_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{trigger_name}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [TRIGGER if_exists trigger_name]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{trg_drop},
-                                         $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{trg_drop},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{trg_drop},
-                                         $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{trg_drop},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{trg_drop},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
 }
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::_alternation_1_of_production_1_of_rule_drop
-{
-       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_drop"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_drop]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{_alternation_1_of_production_1_of_rule_drop},
-                                 $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: [tbl_drop]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{_alternation_1_of_production_1_of_rule_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{_alternation_1_of_production_1_of_rule_drop});
-               %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_drop});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [tbl_drop]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{_alternation_1_of_production_1_of_rule_drop},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::tbl_drop($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [tbl_drop]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{_alternation_1_of_production_1_of_rule_drop},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [tbl_drop]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{_alternation_1_of_production_1_of_rule_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{tbl_drop}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [tbl_drop]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{_alternation_1_of_production_1_of_rule_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [view_drop]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{_alternation_1_of_production_1_of_rule_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[1];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{_alternation_1_of_production_1_of_rule_drop});
-               %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_drop});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [view_drop]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{_alternation_1_of_production_1_of_rule_drop},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::view_drop($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [view_drop]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{_alternation_1_of_production_1_of_rule_drop},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [view_drop]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{_alternation_1_of_production_1_of_rule_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{view_drop}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [view_drop]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{_alternation_1_of_production_1_of_rule_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [trg_drop]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{_alternation_1_of_production_1_of_rule_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[2];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{_alternation_1_of_production_1_of_rule_drop});
-               %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_drop});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [trg_drop]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{_alternation_1_of_production_1_of_rule_drop},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::trg_drop($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [trg_drop]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{_alternation_1_of_production_1_of_rule_drop},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [trg_drop]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{_alternation_1_of_production_1_of_rule_drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{trg_drop}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [trg_drop]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{_alternation_1_of_production_1_of_rule_drop},
-                                         $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_drop},
-                                        $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_drop},
-                                         $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_drop},
-                                         $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_drop},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::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: [qualified_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: [qualified_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::Grammar::SQLite::qualified_name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [qualified_name]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{view_name},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [qualified_name]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{view_name},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{qualified_name}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [qualified_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::Grammar::SQLite::parens_value_list
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"parens_value_list"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [parens_value_list]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{parens_value_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: VALUE /,/ VALUE> ')']},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{parens_value_list},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{parens_value_list});
-               %item = (__RULE__ => q{parens_value_list});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: ['(']},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{parens_value_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: VALUE /,/ VALUE>]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{parens_value_list},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{<leftop: VALUE /,/ VALUE>})->at($text);
-
-               $_tok = undef;
-               OPLOOP: while (1)
-               {
-                 $repcount = 0;
-                 my  @item;
-                 
-                 # MATCH LEFTARG
-                 
-               Parse::RecDescent::_trace(q{Trying subrule: [VALUE]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{parens_value_list},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{VALUE})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::VALUE($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [VALUE]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{parens_value_list},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [VALUE]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{parens_value_list},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{VALUE}} = $_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{parens_value_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{'VALUE(s)'}=$1; $backtrack=1;}
-                       
-               Parse::RecDescent::_trace(q{Trying subrule: [VALUE]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{parens_value_list},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{VALUE})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::VALUE($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [VALUE]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{parens_value_list},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [VALUE]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{parens_value_list},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{VALUE}} = $_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: VALUE /,/ VALUE>]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{parens_value_list},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched operator: [<leftop: VALUE /,/ VALUE>]<< (return value: [}
-                                         . qq{@{$_tok||[]}} . q{]},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{parens_value_list},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-
-               push @item, $item{'VALUE(s)'}=$_tok||[];
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [')']},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{parens_value_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{parens_value_list},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do { $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: VALUE /,/ VALUE> ')']<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{parens_value_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{parens_value_list},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{parens_value_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{parens_value_list},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{parens_value_list},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::commit
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"commit"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [commit]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{commit},
-                                 $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: [/commit/i SEMICOLON]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{commit},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{commit});
-               %item = (__RULE__ => q{commit});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/commit/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{commit},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
-
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?:commit)//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: [SEMICOLON]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{commit},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{SEMICOLON})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::SEMICOLON($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [SEMICOLON]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{commit},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [SEMICOLON]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{commit},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{SEMICOLON}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [/commit/i SEMICOLON]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{commit},
-                                         $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{commit},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{commit},
-                                         $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{commit},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{commit},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::CHECK_C
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"CHECK_C"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [CHECK_C]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{CHECK_C},
-                                 $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: [/check/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{CHECK_C},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{CHECK_C});
-               %item = (__RULE__ => q{CHECK_C});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/check/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{CHECK_C},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
-
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?:check)//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: [/check/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{CHECK_C},
-                                         $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{CHECK_C},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{CHECK_C},
-                                         $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{CHECK_C},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{CHECK_C},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::SELECT
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"SELECT"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [SELECT]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{SELECT},
-                                 $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: [/select/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{SELECT},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{SELECT});
-               %item = (__RULE__ => q{SELECT});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/select/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{SELECT},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
-
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?:select)//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: [/select/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{SELECT},
-                                         $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{SELECT},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{SELECT},
-                                         $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{SELECT},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{SELECT},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::trigger_step
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"trigger_step"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [trigger_step]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{trigger_step},
-                                 $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: [/(select|delete|insert|update)/i statement_body SEMICOLON]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{trigger_step},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{trigger_step});
-               %item = (__RULE__ => q{trigger_step});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/(select|delete|insert|update)/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{trigger_step},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
-
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?:(select|delete|insert|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 repeated subrule: [statement_body]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{trigger_step},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{statement_body})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::statement_body, 0, 100000000, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [statement_body]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{trigger_step},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [statement_body]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{trigger_step},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{statement_body(s?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [SEMICOLON]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{trigger_step},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{SEMICOLON})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::SEMICOLON($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [SEMICOLON]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{trigger_step},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [SEMICOLON]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{trigger_step},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{SEMICOLON}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{trigger_step},
-                                         $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: [/(select|delete|insert|update)/i statement_body SEMICOLON]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{trigger_step},
-                                         $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_step},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{trigger_step},
-                                         $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_step},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{trigger_step},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::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: [qualified_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: [qualified_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::Grammar::SQLite::qualified_name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [qualified_name]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{table_name},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [qualified_name]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{table_name},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{qualified_name}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [qualified_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::Grammar::SQLite::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: [WORD parens_value_list]},
-                                         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 subrule: [WORD]},
-                                 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::Grammar::SQLite::WORD($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [WORD]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{type},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [WORD]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{type},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{WORD}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [parens_value_list]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{type},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{parens_value_list})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::parens_value_list, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [parens_value_list]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{type},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [parens_value_list]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{type},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{parens_value_list(?)}} = $_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 = {
-            type => $item[1],
-            size => $item[2][0],
-        }
-    };
-               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: [WORD parens_value_list]<<},
-                                         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::Grammar::SQLite::NOT_NULL
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"NOT_NULL"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [NOT_NULL]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{NOT_NULL},
-                                 $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: [/not null/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{NOT_NULL},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{NOT_NULL});
-               %item = (__RULE__ => q{NOT_NULL});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/not null/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{NOT_NULL},
-                                         $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 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: [/not null/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{NOT_NULL},
-                                         $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{NOT_NULL},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{NOT_NULL},
-                                         $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{NOT_NULL},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{NOT_NULL},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::TABLE
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"TABLE"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [TABLE]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{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: [/table/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{TABLE},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{TABLE});
-               %item = (__RULE__ => q{TABLE});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/table/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{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(?: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{>>Matched production: [/table/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{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{TABLE},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{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{TABLE},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{TABLE},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::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: [qualified_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: [qualified_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::Grammar::SQLite::qualified_name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [qualified_name]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{trigger_name},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [qualified_name]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{trigger_name},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{qualified_name}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [qualified_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::Grammar::SQLite::instead_of
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"instead_of"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [instead_of]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{instead_of},
-                                 $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: [/instead of/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{instead_of},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{instead_of});
-               %item = (__RULE__ => q{instead_of});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/instead of/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{instead_of},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
-
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?:instead 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{__PATTERN1__}=$&;
-               
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [/instead of/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{instead_of},
-                                         $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{instead_of},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{instead_of},
-                                         $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{instead_of},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{instead_of},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::drop
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"drop"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [drop]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{drop},
-                                 $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: [/drop/i tbl_drop, or view_drop, or trg_drop SEMICOLON]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{drop});
-               %item = (__RULE__ => q{drop});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/drop/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
-
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?:drop)//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_drop]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{drop},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{tbl_drop, or view_drop, or trg_drop})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::_alternation_1_of_production_1_of_rule_drop($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [_alternation_1_of_production_1_of_rule_drop]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{drop},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_drop]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{_alternation_1_of_production_1_of_rule_drop}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying subrule: [SEMICOLON]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{drop},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{SEMICOLON})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::SEMICOLON($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [SEMICOLON]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{drop},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [SEMICOLON]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{drop},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{SEMICOLON}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [/drop/i tbl_drop, or view_drop, or trg_drop SEMICOLON]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{drop},
-                                         $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{drop},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{drop},
-                                         $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{drop},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{drop},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::WHEN
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"WHEN"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [WHEN]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{WHEN},
-                                 $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{WHEN},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{WHEN});
-               %item = (__RULE__ => q{WHEN});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/when/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{WHEN},
-                                         $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{>>Matched production: [/when/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{WHEN},
-                                         $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},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{WHEN},
-                                         $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},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{WHEN},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::TEMPORARY
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"TEMPORARY"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [TEMPORARY]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{TEMPORARY},
-                                 $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: [/temp(orary)?/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{TEMPORARY},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{TEMPORARY});
-               %item = (__RULE__ => q{TEMPORARY});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/temp(orary)?/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{TEMPORARY},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
-
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?:temp(orary)?)//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 action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{TEMPORARY},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do { 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: [/temp(orary)?/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{TEMPORARY},
-                                         $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{TEMPORARY},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{TEMPORARY},
-                                         $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{TEMPORARY},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{TEMPORARY},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::database_event
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"database_event"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [database_event]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{database_event},
-                                 $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: [/(delete|insert|update)/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{database_event},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{database_event});
-               %item = (__RULE__ => q{database_event});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/(delete|insert|update)/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{database_event},
-                                         $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|insert|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: [/(delete|insert|update)/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{database_event},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [/update of/i column_list]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{database_event},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[1];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{database_event});
-               %item = (__RULE__ => q{database_event});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/update of/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{database_event},
-                                         $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 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{__PATTERN1__}=$&;
-               
-
-               Parse::RecDescent::_trace(q{Trying subrule: [column_list]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{database_event},
-                                 $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::Grammar::SQLite::column_list($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [column_list]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{database_event},
-                                                 $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{database_event},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{column_list}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [/update of/i column_list]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{database_event},
-                                         $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{database_event},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{database_event},
-                                         $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{database_event},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{database_event},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::definition
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"definition"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [definition]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{definition},
-                                 $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: [constraint_def]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{definition},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{definition});
-               %item = (__RULE__ => q{definition});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [constraint_def]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{definition},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::constraint_def($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [constraint_def]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{definition},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [constraint_def]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{definition},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{constraint_def}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [constraint_def]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{definition},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [column_def]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{definition},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[1];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{definition});
-               %item = (__RULE__ => q{definition});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [column_def]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{definition},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::column_def($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [column_def]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{definition},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [column_def]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{definition},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{column_def}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [column_def]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{definition},
-                                         $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{definition},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{definition},
-                                         $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{definition},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{definition},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::UNIQUE
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"UNIQUE"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [UNIQUE]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{UNIQUE},
-                                 $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: [/unique/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{UNIQUE},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{UNIQUE});
-               %item = (__RULE__ => q{UNIQUE});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/unique/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{UNIQUE},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
-
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?: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{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{UNIQUE},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do { 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: [/unique/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{UNIQUE},
-                                         $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{UNIQUE},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{UNIQUE},
-                                         $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{UNIQUE},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{UNIQUE},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::expr
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"expr"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [expr]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{expr},
-                                 $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{expr},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{expr});
-               %item = (__RULE__ => q{expr});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/[^)]+/]}, Parse::RecDescent::_tracefirst($text),
-                                         q{expr},
-                                         $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{expr},
-                                         $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{expr},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{expr},
-                                         $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{expr},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{expr},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::AS
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"AS"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [AS]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{AS},
-                                 $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: [/as/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{AS},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{AS});
-               %item = (__RULE__ => q{AS});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/as/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{AS},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->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{>>Matched production: [/as/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{AS},
-                                         $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{AS},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{AS},
-                                         $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{AS},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{AS},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::column_constraint
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"column_constraint"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [column_constraint]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{column_constraint},
-                                 $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: [NOT_NULL conflict_clause]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{column_constraint});
-               %item = (__RULE__ => q{column_constraint});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [NOT_NULL]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_constraint},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::NOT_NULL($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [NOT_NULL]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_constraint},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [NOT_NULL]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{NOT_NULL}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [conflict_clause]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_constraint},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{conflict_clause})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::conflict_clause, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [conflict_clause]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_constraint},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [conflict_clause]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{conflict_clause(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do {
-        $return = {
-            type => 'not_null',
-        }
-    };
-               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: [NOT_NULL conflict_clause]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [PRIMARY_KEY sort_order conflict_clause]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[1];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{column_constraint});
-               %item = (__RULE__ => q{column_constraint});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [PRIMARY_KEY]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_constraint},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::PRIMARY_KEY($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [PRIMARY_KEY]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_constraint},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [PRIMARY_KEY]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{PRIMARY_KEY}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [sort_order]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_constraint},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{sort_order})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::sort_order, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [sort_order]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_constraint},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [sort_order]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{sort_order(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [conflict_clause]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_constraint},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{conflict_clause})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::conflict_clause, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [conflict_clause]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_constraint},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [conflict_clause]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{conflict_clause(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do {
-        $return = {
-            type        => 'primary_key',
-            sort_order  => $item[2][0],
-            on_conflict => $item[2][0], 
-        }
-    };
-               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: [PRIMARY_KEY sort_order conflict_clause]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [UNIQUE conflict_clause]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[2];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{column_constraint});
-               %item = (__RULE__ => q{column_constraint});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [UNIQUE]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_constraint},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::UNIQUE($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [UNIQUE]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_constraint},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [UNIQUE]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{UNIQUE}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [conflict_clause]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_constraint},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{conflict_clause})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::conflict_clause, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [conflict_clause]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_constraint},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [conflict_clause]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{conflict_clause(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do {
-        $return = {
-            type        => 'unique',
-            on_conflict => $item[2][0], 
-        }
-    };
-               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: [UNIQUE conflict_clause]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [CHECK_C '(' expr ')' conflict_clause]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[3];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{column_constraint});
-               %item = (__RULE__ => q{column_constraint});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [CHECK_C]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_constraint},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::CHECK_C($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [CHECK_C]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_constraint},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [CHECK_C]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{CHECK_C}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying terminal: ['(']},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $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: [expr]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_constraint},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{expr})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::expr($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [expr]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_constraint},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [expr]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{expr}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying terminal: [')']},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $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: [conflict_clause]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_constraint},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{conflict_clause})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::conflict_clause, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [conflict_clause]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_constraint},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [conflict_clause]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{conflict_clause(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do {
-        $return = {
-            type        => 'check',
-            expression  => $item[3],
-            on_conflict => $item[5][0], 
-        }
-    };
-               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: [CHECK_C '(' expr ')' conflict_clause]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [DEFAULT VALUE]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[4];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{column_constraint});
-               %item = (__RULE__ => q{column_constraint});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [DEFAULT]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_constraint},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::DEFAULT($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [DEFAULT]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_constraint},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [DEFAULT]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{DEFAULT}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying subrule: [VALUE]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_constraint},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{VALUE})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::VALUE($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [VALUE]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_constraint},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [VALUE]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{VALUE}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do {
-        $return   = {
-            type  => 'default',
-            value => $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: [DEFAULT VALUE]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_constraint},
-                                         $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_constraint},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{column_constraint},
-                                         $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_constraint},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{column_constraint},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::conflict_clause
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"conflict_clause"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [conflict_clause]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{conflict_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: [/on conflict/i conflict_algorigthm]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{conflict_clause},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{conflict_clause});
-               %item = (__RULE__ => q{conflict_clause});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/on conflict/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{conflict_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(?:on conflict)//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: [conflict_algorigthm]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{conflict_clause},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{conflict_algorigthm})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::conflict_algorigthm($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [conflict_algorigthm]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{conflict_clause},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [conflict_algorigthm]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{conflict_clause},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{conflict_algorigthm}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [/on conflict/i conflict_algorigthm]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{conflict_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{conflict_clause},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{conflict_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{conflict_clause},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{conflict_clause},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::trigger_action
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"trigger_action"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [trigger_action]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{trigger_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: [for_each when BEGIN_C trigger_step END_C]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{trigger_action},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{trigger_action});
-               %item = (__RULE__ => q{trigger_action});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [for_each]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{trigger_action},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::for_each, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [for_each]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{trigger_action},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [for_each]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{trigger_action},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{for_each(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [when]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{trigger_action},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{when})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::when, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [when]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{trigger_action},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [when]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{trigger_action},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{when(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [BEGIN_C]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{trigger_action},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{BEGIN_C})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::BEGIN_C($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [BEGIN_C]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{trigger_action},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [BEGIN_C]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{trigger_action},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{BEGIN_C}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [trigger_step]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{trigger_action},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{trigger_step})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::trigger_step, 1, 100000000, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [trigger_step]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{trigger_action},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [trigger_step]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{trigger_action},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{trigger_step(s)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [END_C]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{trigger_action},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{END_C})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::END_C($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [END_C]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{trigger_action},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [END_C]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{trigger_action},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{END_C}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{trigger_action},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do {
-        $return = {
-            for_each => $item[1][0],
-            when     => $item[2][0],
-            steps    => $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: [for_each when BEGIN_C trigger_step END_C]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{trigger_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{trigger_action},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{trigger_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{trigger_action},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{trigger_action},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::nonstring
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"nonstring"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [nonstring]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{nonstring},
-                                 $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{nonstring},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{nonstring});
-               %item = (__RULE__ => q{nonstring});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/[^;\\'"]+/]}, Parse::RecDescent::_tracefirst($text),
-                                         q{nonstring},
-                                         $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{nonstring},
-                                         $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{nonstring},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{nonstring},
-                                         $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{nonstring},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{nonstring},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::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: field_name /,/ field_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 operator: [<leftop: field_name /,/ field_name>]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_list},
-                                 $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: [field_name]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_list},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{field_name})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::field_name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [field_name]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_list},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [field_name]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_list},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{field_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{'field_name(s)'}=$1; $backtrack=1;}
-                       
-               Parse::RecDescent::_trace(q{Trying subrule: [field_name]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{column_list},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{field_name})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::field_name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [field_name]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_list},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [field_name]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_list},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{field_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: field_name /,/ field_name>]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{column_list},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched operator: [<leftop: field_name /,/ field_name>]<< (return value: [}
-                                         . qq{@{$_tok||[]}} . q{]},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{column_list},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-
-               push @item, $item{'field_name(s)'}=$_tok||[];
-
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [<leftop: field_name /,/ field_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::Grammar::SQLite::SEMICOLON
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"SEMICOLON"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [SEMICOLON]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{SEMICOLON},
-                                 $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{SEMICOLON},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{SEMICOLON});
-               %item = (__RULE__ => q{SEMICOLON});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [';']},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{SEMICOLON},
-                                         $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{SEMICOLON},
-                                         $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{SEMICOLON},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{SEMICOLON},
-                                         $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{SEMICOLON},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{SEMICOLON},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::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 TEMPORARY UNIQUE INDEX WORD ON table_name parens_field_list conflict_clause SEMICOLON]},
-                                         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::Grammar::SQLite::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 repeated subrule: [TEMPORARY]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{TEMPORARY})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::TEMPORARY, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [TEMPORARY]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [TEMPORARY]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{TEMPORARY(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [UNIQUE]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{UNIQUE})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::UNIQUE, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [UNIQUE]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [UNIQUE]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{UNIQUE(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [INDEX]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{INDEX})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::INDEX($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [INDEX]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [INDEX]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{INDEX}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying subrule: [WORD]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{WORD})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::WORD($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [WORD]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [WORD]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{WORD}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying subrule: [ON]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{ON})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::ON($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [ON]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [ON]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{ON}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               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::Grammar::SQLite::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 subrule: [parens_field_list]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{parens_field_list})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::parens_field_list($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [parens_field_list]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [parens_field_list]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{parens_field_list}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [conflict_clause]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{conflict_clause})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::conflict_clause, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [conflict_clause]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [conflict_clause]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{conflict_clause(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [SEMICOLON]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{SEMICOLON})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::SEMICOLON($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [SEMICOLON]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [SEMICOLON]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{SEMICOLON}} = $_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 $db_name    = $item[7]->{'db_name'} || '';
-        my $table_name = $item[7]->{'name'};
-
-        my $index        =  { 
-            name         => $item[5],
-            columns       => $item[8],
-            on_conflict  => $item[9][0],
-            is_temporary => $item[2][0] ? 1 : 0,
-        };
-
-        my $is_unique = $item[3][0];
-
-        if ( $is_unique ) {
-            $index->{'type'} = 'unique';
-            push @{ $tables{ $table_name }{'constraints'} }, $index;
-        }
-        else {
-            push @{ $tables{ $table_name }{'indices'} }, $index;
-        }
-    };
-               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 TEMPORARY UNIQUE INDEX WORD ON table_name parens_field_list conflict_clause SEMICOLON]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [CREATE TEMPORARY TABLE table_name '(' <leftop: definition /,/ definition> ')' SEMICOLON]},
-                                         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::Grammar::SQLite::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 repeated subrule: [TEMPORARY]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{TEMPORARY})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::TEMPORARY, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [TEMPORARY]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [TEMPORARY]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{TEMPORARY(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [TABLE]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{TABLE})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::TABLE($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [TABLE]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [TABLE]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{TABLE}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               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::Grammar::SQLite::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 terminal: ['(']},
-                                         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\(//)
-               {
-                       
-                       $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: definition /,/ definition>]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{<leftop: definition /,/ definition>})->at($text);
-
-               $_tok = undef;
-               OPLOOP: while (1)
-               {
-                 $repcount = 0;
-                 my  @item;
-                 
-                 # MATCH LEFTARG
-                 
-               Parse::RecDescent::_trace(q{Trying subrule: [definition]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{definition})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::definition($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [definition]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [definition]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{definition}} = $_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{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(?:,)//)
-               {
-                       
-                       $expectation->failed();
-                       Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
-                                                 Parse::RecDescent::_tracefirst($text))
-                                       if defined $::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{'definition(s)'}=$1; $backtrack=1;}
-                       
-               Parse::RecDescent::_trace(q{Trying subrule: [definition]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{definition})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::definition($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [definition]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [definition]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{definition}} = $_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: definition /,/ definition>]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched operator: [<leftop: definition /,/ definition>]<< (return value: [}
-                                         . qq{@{$_tok||[]}} . q{]},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-
-               push @item, $item{'definition(s)'}=$_tok||[];
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [')']},
-                                         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\)//)
-               {
-                       
-                       $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 subrule: [SEMICOLON]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{SEMICOLON})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::SEMICOLON($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [SEMICOLON]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [SEMICOLON]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{SEMICOLON}} = $_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 $db_name    = $item[4]->{'db_name'} || '';
-        my $table_name = $item[4]->{'name'};
-
-        $tables{ $table_name }{'name'}         = $table_name;
-        $tables{ $table_name }{'is_temporary'} = $item[2][0] ? 1 : 0;
-        $tables{ $table_name }{'order'}        = ++$table_order;
-
-        for my $def ( @{ $item[6] } ) {
-            if ( $def->{'supertype'} eq 'column' ) {
-                push @{ $tables{ $table_name }{'columns'} }, $def;
-            }
-            elsif ( $def->{'supertype'} eq 'constraint' ) {
-                push @{ $tables{ $table_name }{'constraints'} }, $def;
-            }
-        }
-    };
-               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 TEMPORARY TABLE table_name '(' <leftop: definition /,/ definition> ')' SEMICOLON]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [CREATE TEMPORARY TRIGGER NAME before_or_after database_event ON table_name trigger_action SEMICOLON]},
-                                         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::Grammar::SQLite::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 repeated subrule: [TEMPORARY]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{TEMPORARY})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::TEMPORARY, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [TEMPORARY]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [TEMPORARY]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{TEMPORARY(?)}} = $_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::Grammar::SQLite::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: [NAME]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{NAME})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{NAME}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying repeated subrule: [before_or_after]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{before_or_after})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::before_or_after, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [before_or_after]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [before_or_after]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{before_or_after(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [database_event]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{database_event})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::database_event($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [database_event]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [database_event]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{database_event}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying subrule: [ON]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{ON})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::ON($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [ON]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [ON]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{ON}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               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::Grammar::SQLite::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 subrule: [trigger_action]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{trigger_action})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::trigger_action($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [trigger_action]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [trigger_action]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{trigger_action}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying subrule: [SEMICOLON]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{SEMICOLON})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::SEMICOLON($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [SEMICOLON]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [SEMICOLON]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{SEMICOLON}} = $_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[8]->{'name'};
-        push @triggers, {
-            name         => $item[4],
-            is_temporary => $item[2][0] ? 1 : 0,
-            when         => $item[5][0],
-            instead_of   => 0,
-            db_events    => [ $item[6] ],
-            action       => $item[9],
-            on_table     => $table_name,
-        }
-    };
-               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 TEMPORARY TRIGGER NAME before_or_after database_event ON table_name trigger_action SEMICOLON]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [CREATE TEMPORARY TRIGGER NAME instead_of database_event ON view_name trigger_action]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[3];
-               $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::Grammar::SQLite::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 repeated subrule: [TEMPORARY]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{TEMPORARY})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::TEMPORARY, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [TEMPORARY]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [TEMPORARY]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{TEMPORARY(?)}} = $_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::Grammar::SQLite::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: [NAME]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{NAME})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{NAME}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying subrule: [instead_of]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{instead_of})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::instead_of($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [instead_of]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [instead_of]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{instead_of}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying subrule: [database_event]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{database_event})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::database_event($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [database_event]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [database_event]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{database_event}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying subrule: [ON]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{ON})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::ON($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [ON]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [ON]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{ON}} = $_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::Grammar::SQLite::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 subrule: [trigger_action]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{trigger_action})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::trigger_action($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [trigger_action]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [trigger_action]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{trigger_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[8]->{'name'};
-        push @triggers, {
-            name         => $item[4],
-            is_temporary => $item[2][0] ? 1 : 0,
-            when         => undef,
-            instead_of   => 1,
-            db_events    => [ $item[6] ],
-            action       => $item[9],
-            on_table     => $table_name,
-        }
-    };
-               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 TEMPORARY TRIGGER NAME instead_of database_event ON view_name trigger_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 TEMPORARY VIEW view_name AS select_statement]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[4];
-               $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::Grammar::SQLite::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 repeated subrule: [TEMPORARY]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{TEMPORARY})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::TEMPORARY, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [TEMPORARY]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [TEMPORARY]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{TEMPORARY(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               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::Grammar::SQLite::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::Grammar::SQLite::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 subrule: [AS]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{AS})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::AS($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [AS]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [AS]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{AS}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying subrule: [select_statement]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{create},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{select_statement})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::select_statement($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [select_statement]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{create},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [select_statement]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{create},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{select_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 {
-        push @views, {
-            name         => $item[4]->{'name'},
-            sql          => $item[6], 
-            is_temporary => $item[2][0] ? 1 : 0,
-        }
-    };
-               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 TEMPORARY VIEW view_name AS select_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::Grammar::SQLite::when
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"when"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [when]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{when},
-                                 $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 expr]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{when},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{when});
-               %item = (__RULE__ => q{when});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [WHEN]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{when},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::WHEN($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [WHEN]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{when},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [WHEN]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{when},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{WHEN}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying subrule: [expr]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{when},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{expr})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::expr($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [expr]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{when},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [expr]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{when},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{expr}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{when},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do { $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: [WHEN expr]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{when},
-                                         $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},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{when},
-                                         $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},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{when},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::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{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{NAME},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do { $return = $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: [/'?(\\w+)'?/]<<},
-                                         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::Grammar::SQLite::ON
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"ON"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [ON]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{ON},
-                                 $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: [/on/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{ON},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{ON});
-               %item = (__RULE__ => q{ON});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/on/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{ON},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->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{>>Matched production: [/on/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{ON},
-                                         $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{ON},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{ON},
-                                         $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{ON},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{ON},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::DEFAULT
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"DEFAULT"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [DEFAULT]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{DEFAULT},
-                                 $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: [/default/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{DEFAULT},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{DEFAULT});
-               %item = (__RULE__ => q{DEFAULT});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/default/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{DEFAULT},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
-
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?:default)//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: [/default/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{DEFAULT},
-                                         $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{DEFAULT},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{DEFAULT},
-                                         $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{DEFAULT},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{DEFAULT},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::begin_transaction
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"begin_transaction"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [begin_transaction]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{begin_transaction},
-                                 $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: [/begin/i TRANSACTION SEMICOLON]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{begin_transaction},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{begin_transaction});
-               %item = (__RULE__ => q{begin_transaction});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/begin/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{begin_transaction},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
-
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?:begin)//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: [TRANSACTION]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{begin_transaction},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               $expectation->is(q{TRANSACTION})->at($text);
-               
-               unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::SQL::Translator::Grammar::SQLite::TRANSACTION, 0, 1, $_noactions,$expectation,undef))) 
-               {
-                       Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [TRANSACTION]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{begin_transaction},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched repeated subrule: [TRANSACTION]<< (}
-                                       . @$_tok . q{ times)},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{begin_transaction},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{TRANSACTION(?)}} = $_tok;
-               push @item, $_tok;
-               
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [SEMICOLON]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{begin_transaction},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{SEMICOLON})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::SEMICOLON($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [SEMICOLON]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{begin_transaction},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [SEMICOLON]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{begin_transaction},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{SEMICOLON}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-
-               Parse::RecDescent::_trace(q{>>Matched production: [/begin/i TRANSACTION SEMICOLON]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{begin_transaction},
-                                         $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{begin_transaction},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{begin_transaction},
-                                         $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{begin_transaction},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{begin_transaction},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::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::Grammar::SQLite::select_statement
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"select_statement"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [select_statement]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{select_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: [SELECT /[^;]+/ SEMICOLON]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{select_statement},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{select_statement});
-               %item = (__RULE__ => q{select_statement});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [SELECT]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{select_statement},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::SELECT($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [SELECT]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{select_statement},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [SELECT]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{select_statement},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{SELECT}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/[^;]+/]}, Parse::RecDescent::_tracefirst($text),
-                                         q{select_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 subrule: [SEMICOLON]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{select_statement},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{SEMICOLON})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::SEMICOLON($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [SEMICOLON]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{select_statement},
-                                                 $tracelevel)
-                                                       if defined $::RD_TRACE;
-                       $expectation->failed();
-                       last;
-               }
-               Parse::RecDescent::_trace(q{>>Matched subrule: [SEMICOLON]<< (return value: [}
-                                       . $_tok . q{]},
-                                         
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{select_statement},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{SEMICOLON}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{select_statement},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do {
-        $return = join( ' ', $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: [SELECT /[^;]+/ SEMICOLON]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{select_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{select_statement},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{select_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{select_statement},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{select_statement},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::if_exists
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"if_exists"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [if_exists]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{if_exists},
-                                 $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: [/if exists/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{if_exists},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{if_exists});
-               %item = (__RULE__ => q{if_exists});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/if exists/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{if_exists},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
-
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?:if exists)//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: [/if exists/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{if_exists},
-                                         $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{if_exists},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{if_exists},
-                                         $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{if_exists},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{if_exists},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::PRIMARY_KEY
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"PRIMARY_KEY"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [PRIMARY_KEY]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{PRIMARY_KEY},
-                                 $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: [/primary key/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{PRIMARY_KEY},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{PRIMARY_KEY});
-               %item = (__RULE__ => q{PRIMARY_KEY});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/primary key/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{PRIMARY_KEY},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
-
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?:primary key)//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: [/primary key/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{PRIMARY_KEY},
-                                         $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{PRIMARY_KEY},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{PRIMARY_KEY},
-                                         $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{PRIMARY_KEY},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{PRIMARY_KEY},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::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::Grammar::SQLite::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;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [/\\/\\*/ /[^\\*]+/ /\\*\\//]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{comment},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[1];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{comment});
-               %item = (__RULE__ => q{comment});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/\\/\\*/]}, 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(?:\/\*)//)
-               {
-                       
-                       $expectation->failed();
-                       Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
-                                                 Parse::RecDescent::_tracefirst($text))
-                                       if defined $::RD_TRACE;
-
-                       last;
-               }
-               Parse::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{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(?:[^\*]+)//)
-               {
-                       
-                       $expectation->failed();
-                       Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
-                                                 Parse::RecDescent::_tracefirst($text))
-                                       if 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{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(?:\*\/)//)
-               {
-                       
-                       $expectation->failed();
-                       Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
-                                                 Parse::RecDescent::_tracefirst($text))
-                                       if 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__}=$&;
-               
-
-               Parse::RecDescent::_trace(q{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{comment},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do {
-        my $comment = $item[2];
-        $comment    =~ s/^\s*|\s*$//g;
-        $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: [/\\/\\*/ /[^\\*]+/ /\\*\\//]<<},
-                                         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;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::BEGIN_C
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"BEGIN_C"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [BEGIN_C]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{BEGIN_C},
-                                 $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: [/begin/i]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{BEGIN_C},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{BEGIN_C});
-               %item = (__RULE__ => q{BEGIN_C});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/begin/i]}, Parse::RecDescent::_tracefirst($text),
-                                         q{BEGIN_C},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $lastsep = "";
-               $expectation->is(q{})->at($text);
-               
-
-               unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and   $text =~ s/\A(?:begin)//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: [/begin/i]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{BEGIN_C},
-                                         $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{BEGIN_C},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{BEGIN_C},
-                                         $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{BEGIN_C},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{BEGIN_C},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::qualified_name
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"qualified_name"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [qualified_name]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{qualified_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{qualified_name},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{qualified_name});
-               %item = (__RULE__ => q{qualified_name});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying subrule: [NAME]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{qualified_name},
-                                 $tracelevel)
-                                       if defined $::RD_TRACE;
-               if (1) { no strict qw{refs};
-               $expectation->is(q{})->at($text);
-               unless (defined ($_tok = Parse::RecDescent::SQL::Translator::Grammar::SQLite::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [NAME]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{qualified_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{qualified_name},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{NAME}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{qualified_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{qualified_name},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $_matched = 1;
-               last;
-       }
-
-
-       while (!$_matched && !$commit)
-       {
-               
-               Parse::RecDescent::_trace(q{Trying production: [/(\\w+)\\.(\\w+)/]},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{qualified_name},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[1];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{qualified_name});
-               %item = (__RULE__ => q{qualified_name});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: [/(\\w+)\\.(\\w+)/]}, Parse::RecDescent::_tracefirst($text),
-                                         q{qualified_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+)\.(\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{Trying action},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{qualified_name},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do { $return = { db_name => $1, name => $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: [/(\\w+)\\.(\\w+)/]<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{qualified_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{qualified_name},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{qualified_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{qualified_name},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{qualified_name},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::parens_field_list
-{
-       my $thisparser = $_[0];
-       use vars q{$tracelevel};
-       local $tracelevel = ($tracelevel||0)+1;
-       $ERRORS = 0;
-       my $thisrule = $thisparser->{"rules"}{"parens_field_list"};
-       
-       Parse::RecDescent::_trace(q{Trying rule: [parens_field_list]},
-                                 Parse::RecDescent::_tracefirst($_[1]),
-                                 q{parens_field_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: ['(' column_list ')']},
-                                         Parse::RecDescent::_tracefirst($_[1]),
-                                         q{parens_field_list},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               my $thisprod = $thisrule->{"prods"}[0];
-               $text = $_[1];
-               my $_savetext;
-               @item = (q{parens_field_list});
-               %item = (__RULE__ => q{parens_field_list});
-               my $repcount = 0;
-
-
-               Parse::RecDescent::_trace(q{Trying terminal: ['(']},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{parens_field_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 subrule: [column_list]},
-                                 Parse::RecDescent::_tracefirst($text),
-                                 q{parens_field_list},
-                                 $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::Grammar::SQLite::column_list($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
-               {
-                       
-                       Parse::RecDescent::_trace(q{<<Didn't match subrule: [column_list]>>},
-                                                 Parse::RecDescent::_tracefirst($text),
-                                                 q{parens_field_list},
-                                                 $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{parens_field_list},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               $item{q{column_list}} = $_tok;
-               push @item, $_tok;
-               
-               }
-
-               Parse::RecDescent::_trace(q{Trying terminal: [')']},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{parens_field_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{parens_field_list},
-                                         $tracelevel)
-                                               if defined $::RD_TRACE;
-               
-
-               $_tok = ($_noactions) ? 0 : do { $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: ['(' column_list ')']<<},
-                                         Parse::RecDescent::_tracefirst($text),
-                                         q{parens_field_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{parens_field_list},
-                                        $tracelevel)
-                                       if defined $::RD_TRACE;
-               return undef;
-       }
-       if (!defined($return) && defined($score))
-       {
-               Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
-                                         q{parens_field_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{parens_field_list},
-                                         $tracelevel);
-               Parse::RecDescent::_trace(q{(consumed: [} .
-                                         Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, 
-                                         Parse::RecDescent::_tracefirst($text),
-                                         , q{parens_field_list},
-                                         $tracelevel)
-       }
-       $_[1] = $text;
-       return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::SQL::Translator::Grammar::SQLite::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;
-}
-}
-package SQL::Translator::Grammar::SQLite; sub new { my $self = bless( {
-                 '_AUTOTREE' => undef,
-                 'localvars' => '',
-                 'startcode' => '',
-                 '_check' => {
-                               'thisoffset' => '',
-                               'itempos' => '',
-                               'prevoffset' => '',
-                               'prevline' => '',
-                               'prevcolumn' => '',
-                               'thiscolumn' => ''
-                             },
-                 'namespace' => 'Parse::RecDescent::SQL::Translator::Grammar::SQLite',
-                 '_AUTOACTION' => undef,
-                 'rules' => {
-                              'WORD' => 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' => 388,
-                                                                                             'mod' => '',
-                                                                                             'ldelim' => '/'
-                                                                                           }, 'Parse::RecDescent::Token' )
-                                                                                  ],
-                                                                       'line' => undef
-                                                                     }, 'Parse::RecDescent::Production' )
-                                                            ],
-                                                 'name' => 'WORD',
-                                                 'vars' => '',
-                                                 'line' => 388
-                                               }, 'Parse::RecDescent::Rule' ),
-                              'statement_body' => bless( {
-                                                           'impcount' => 0,
-                                                           'calls' => [
-                                                                        'string',
-                                                                        'nonstring'
-                                                                      ],
-                                                           'changed' => 0,
-                                                           'opcount' => 0,
-                                                           'prods' => [
-                                                                        bless( {
-                                                                                 'number' => '0',
-                                                                                 'strcount' => 0,
-                                                                                 'dircount' => 0,
-                                                                                 'uncommit' => undef,
-                                                                                 'error' => undef,
-                                                                                 'patcount' => 0,
-                                                                                 'actcount' => 0,
-                                                                                 'items' => [
-                                                                                              bless( {
-                                                                                                       'subrule' => 'string',
-                                                                                                       'matchrule' => 0,
-                                                                                                       'implicit' => undef,
-                                                                                                       'argcode' => undef,
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 319
-                                                                                                     }, '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' => 'nonstring',
-                                                                                                       'matchrule' => 0,
-                                                                                                       'implicit' => undef,
-                                                                                                       'argcode' => undef,
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 319
-                                                                                                     }, 'Parse::RecDescent::Subrule' )
-                                                                                            ],
-                                                                                 'line' => 319
-                                                                               }, 'Parse::RecDescent::Production' )
-                                                                      ],
-                                                           'name' => 'statement_body',
-                                                           'vars' => '',
-                                                           'line' => 319
-                                                         }, 'Parse::RecDescent::Rule' ),
-                              'for_each' => 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' => 'FOR EACH ROW',
-                                                                                                 'hashname' => '__PATTERN1__',
-                                                                                                 'description' => '/FOR EACH ROW/i',
-                                                                                                 'lookahead' => 0,
-                                                                                                 'rdelim' => '/',
-                                                                                                 'line' => 310,
-                                                                                                 'mod' => 'i',
-                                                                                                 'ldelim' => '/'
-                                                                                               }, 'Parse::RecDescent::Token' )
-                                                                                      ],
-                                                                           'line' => undef
-                                                                         }, 'Parse::RecDescent::Production' )
-                                                                ],
-                                                     'name' => 'for_each',
-                                                     'vars' => '',
-                                                     'line' => 310
-                                                   }, 'Parse::RecDescent::Rule' ),
-                              'column_def' => bless( {
-                                                       'impcount' => 0,
-                                                       'calls' => [
-                                                                    'comment',
-                                                                    'NAME',
-                                                                    'type',
-                                                                    'column_constraint'
-                                                                  ],
-                                                       'changed' => 0,
-                                                       'opcount' => 0,
-                                                       'prods' => [
-                                                                    bless( {
-                                                                             'number' => '0',
-                                                                             'strcount' => 0,
-                                                                             'dircount' => 0,
-                                                                             'uncommit' => undef,
-                                                                             'error' => undef,
-                                                                             'patcount' => 0,
-                                                                             'actcount' => 1,
-                                                                             'items' => [
-                                                                                          bless( {
-                                                                                                   'subrule' => 'comment',
-                                                                                                   'expected' => undef,
-                                                                                                   'min' => 0,
-                                                                                                   'argcode' => undef,
-                                                                                                   'max' => 100000000,
-                                                                                                   'matchrule' => 0,
-                                                                                                   'repspec' => 's?',
-                                                                                                   'lookahead' => 0,
-                                                                                                   'line' => 123
-                                                                                                 }, 'Parse::RecDescent::Repetition' ),
-                                                                                          bless( {
-                                                                                                   'subrule' => 'NAME',
-                                                                                                   'matchrule' => 0,
-                                                                                                   'implicit' => undef,
-                                                                                                   'argcode' => undef,
-                                                                                                   'lookahead' => 0,
-                                                                                                   'line' => 123
-                                                                                                 }, 'Parse::RecDescent::Subrule' ),
-                                                                                          bless( {
-                                                                                                   'subrule' => 'type',
-                                                                                                   'expected' => undef,
-                                                                                                   'min' => 0,
-                                                                                                   'argcode' => undef,
-                                                                                                   'max' => 1,
-                                                                                                   'matchrule' => 0,
-                                                                                                   'repspec' => '?',
-                                                                                                   'lookahead' => 0,
-                                                                                                   'line' => 123
-                                                                                                 }, 'Parse::RecDescent::Repetition' ),
-                                                                                          bless( {
-                                                                                                   'subrule' => 'column_constraint',
-                                                                                                   'expected' => undef,
-                                                                                                   'min' => 0,
-                                                                                                   'argcode' => undef,
-                                                                                                   'max' => 100000000,
-                                                                                                   'matchrule' => 0,
-                                                                                                   'repspec' => 's?',
-                                                                                                   'lookahead' => 0,
-                                                                                                   'line' => 123
-                                                                                                 }, 'Parse::RecDescent::Repetition' ),
-                                                                                          bless( {
-                                                                                                   'hashname' => '__ACTION1__',
-                                                                                                   'lookahead' => 0,
-                                                                                                   'line' => 124,
-                                                                                                   'code' => '{
-        my $column = {
-            supertype      => \'column\',
-            name           => $item[2],
-            data_type      => $item[3][0]->{\'type\'},
-            size           => $item[3][0]->{\'size\'},
-            is_nullable    => 1,
-            is_primary_key => 0,
-            is_unique      => 0,
-            check          => \'\',
-            default        => undef,
-            constraints    => $item[4],
-            comments       => $item[1],
-        };
-
-
-        for my $c ( @{ $item[4] } ) {
-            if ( $c->{\'type\'} eq \'not_null\' ) {
-                $column->{\'is_nullable\'} = 0;
-            }
-            elsif ( $c->{\'type\'} eq \'primary_key\' ) {
-                $column->{\'is_primary_key\'} = 1;
-            }
-            elsif ( $c->{\'type\'} eq \'unique\' ) {
-                $column->{\'is_unique\'} = 1;
-            }
-            elsif ( $c->{\'type\'} eq \'check\' ) {
-                $column->{\'check\'} = $c->{\'expression\'};
-            }
-            elsif ( $c->{\'type\'} eq \'default\' ) {
-                $column->{\'default\'} = $c->{\'value\'};
-            }
-        }
-
-        $column;
-    }'
-                                                                                                 }, 'Parse::RecDescent::Action' )
-                                                                                        ],
-                                                                             'line' => undef
-                                                                           }, 'Parse::RecDescent::Production' )
-                                                                  ],
-                                                       'name' => 'column_def',
-                                                       'vars' => '',
-                                                       'line' => 123
-                                                     }, 'Parse::RecDescent::Rule' ),
-                              'constraint_def' => bless( {
-                                                           'impcount' => 0,
-                                                           'calls' => [
-                                                                        'PRIMARY_KEY',
-                                                                        'parens_field_list',
-                                                                        'conflict_clause',
-                                                                        'UNIQUE',
-                                                                        'CHECK_C',
-                                                                        'expr'
-                                                                      ],
-                                                           'changed' => 0,
-                                                           'opcount' => 0,
-                                                           'prods' => [
-                                                                        bless( {
-                                                                                 'number' => '0',
-                                                                                 'strcount' => 0,
-                                                                                 'dircount' => 0,
-                                                                                 'uncommit' => undef,
-                                                                                 'error' => undef,
-                                                                                 'patcount' => 0,
-                                                                                 'actcount' => 1,
-                                                                                 'items' => [
-                                                                                              bless( {
-                                                                                                       'subrule' => 'PRIMARY_KEY',
-                                                                                                       'matchrule' => 0,
-                                                                                                       'implicit' => undef,
-                                                                                                       'argcode' => undef,
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 210
-                                                                                                     }, 'Parse::RecDescent::Subrule' ),
-                                                                                              bless( {
-                                                                                                       'subrule' => 'parens_field_list',
-                                                                                                       'matchrule' => 0,
-                                                                                                       'implicit' => undef,
-                                                                                                       'argcode' => undef,
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 210
-                                                                                                     }, 'Parse::RecDescent::Subrule' ),
-                                                                                              bless( {
-                                                                                                       'subrule' => 'conflict_clause',
-                                                                                                       'expected' => undef,
-                                                                                                       'min' => 0,
-                                                                                                       'argcode' => undef,
-                                                                                                       'max' => 1,
-                                                                                                       'matchrule' => 0,
-                                                                                                       'repspec' => '?',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 210
-                                                                                                     }, 'Parse::RecDescent::Repetition' ),
-                                                                                              bless( {
-                                                                                                       'hashname' => '__ACTION1__',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 211,
-                                                                                                       'code' => '{
-        $return         = {
-            supertype   => \'constraint\',
-            type        => \'primary_key\',
-            columns      => $item[2],
-            on_conflict => $item[3][0],
-        }
-    }'
-                                                                                                     }, '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' => 'UNIQUE',
-                                                                                                       'matchrule' => 0,
-                                                                                                       'implicit' => undef,
-                                                                                                       'argcode' => undef,
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 220
-                                                                                                     }, 'Parse::RecDescent::Subrule' ),
-                                                                                              bless( {
-                                                                                                       'subrule' => 'parens_field_list',
-                                                                                                       'matchrule' => 0,
-                                                                                                       'implicit' => undef,
-                                                                                                       'argcode' => undef,
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 220
-                                                                                                     }, 'Parse::RecDescent::Subrule' ),
-                                                                                              bless( {
-                                                                                                       'subrule' => 'conflict_clause',
-                                                                                                       'expected' => undef,
-                                                                                                       'min' => 0,
-                                                                                                       'argcode' => undef,
-                                                                                                       'max' => 1,
-                                                                                                       'matchrule' => 0,
-                                                                                                       'repspec' => '?',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 220
-                                                                                                     }, 'Parse::RecDescent::Repetition' ),
-                                                                                              bless( {
-                                                                                                       'hashname' => '__ACTION1__',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 221,
-                                                                                                       'code' => '{
-        $return         = {
-            supertype   => \'constraint\',
-            type        => \'unique\',
-            columns      => $item[2],
-            on_conflict => $item[3][0],
-        }
-    }'
-                                                                                                     }, 'Parse::RecDescent::Action' )
-                                                                                            ],
-                                                                                 'line' => 219
-                                                                               }, 'Parse::RecDescent::Production' ),
-                                                                        bless( {
-                                                                                 'number' => '2',
-                                                                                 'strcount' => 2,
-                                                                                 'dircount' => 0,
-                                                                                 'uncommit' => undef,
-                                                                                 'error' => undef,
-                                                                                 'patcount' => 0,
-                                                                                 'actcount' => 1,
-                                                                                 'items' => [
-                                                                                              bless( {
-                                                                                                       'subrule' => 'CHECK_C',
-                                                                                                       'matchrule' => 0,
-                                                                                                       'implicit' => undef,
-                                                                                                       'argcode' => undef,
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 230
-                                                                                                     }, 'Parse::RecDescent::Subrule' ),
-                                                                                              bless( {
-                                                                                                       'pattern' => '(',
-                                                                                                       'hashname' => '__STRING1__',
-                                                                                                       'description' => '\'(\'',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 230
-                                                                                                     }, 'Parse::RecDescent::Literal' ),
-                                                                                              bless( {
-                                                                                                       'subrule' => 'expr',
-                                                                                                       'matchrule' => 0,
-                                                                                                       'implicit' => undef,
-                                                                                                       'argcode' => undef,
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 230
-                                                                                                     }, 'Parse::RecDescent::Subrule' ),
-                                                                                              bless( {
-                                                                                                       'pattern' => ')',
-                                                                                                       'hashname' => '__STRING2__',
-                                                                                                       'description' => '\')\'',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 230
-                                                                                                     }, 'Parse::RecDescent::Literal' ),
-                                                                                              bless( {
-                                                                                                       'subrule' => 'conflict_clause',
-                                                                                                       'expected' => undef,
-                                                                                                       'min' => 0,
-                                                                                                       'argcode' => undef,
-                                                                                                       'max' => 1,
-                                                                                                       'matchrule' => 0,
-                                                                                                       'repspec' => '?',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 230
-                                                                                                     }, 'Parse::RecDescent::Repetition' ),
-                                                                                              bless( {
-                                                                                                       'hashname' => '__ACTION1__',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 231,
-                                                                                                       'code' => '{
-        $return         = {
-            supertype   => \'constraint\',
-            type        => \'check\',
-            expression  => $item[3],
-            on_conflict => $item[5][0],
-        }
-    }'
-                                                                                                     }, 'Parse::RecDescent::Action' )
-                                                                                            ],
-                                                                                 'line' => 229
-                                                                               }, 'Parse::RecDescent::Production' )
-                                                                      ],
-                                                           'name' => 'constraint_def',
-                                                           'vars' => '',
-                                                           'line' => 210
-                                                         }, 'Parse::RecDescent::Rule' ),
-                              'string' => 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' => '\'(\\\\.|\'\'|[^\\\\\\\'])*\'',
-                                                                                               'hashname' => '__PATTERN1__',
-                                                                                               'description' => '/\'(\\\\\\\\.|\'\'|[^\\\\\\\\\\\\\'])*\'/',
-                                                                                               'lookahead' => 0,
-                                                                                               'rdelim' => '/',
-                                                                                               'line' => 315,
-                                                                                               'mod' => '',
-                                                                                               'ldelim' => '/'
-                                                                                             }, 'Parse::RecDescent::Token' )
-                                                                                    ],
-                                                                         'line' => undef
-                                                                       }, 'Parse::RecDescent::Production' )
-                                                              ],
-                                                   'name' => 'string',
-                                                   'vars' => '',
-                                                   'line' => 314
-                                                 }, 'Parse::RecDescent::Rule' ),
-                              'conflict_algorigthm' => 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' => '(rollback|abort|fail|ignore|replace)',
-                                                                                                            'hashname' => '__PATTERN1__',
-                                                                                                            'description' => '/(rollback|abort|fail|ignore|replace)/i',
-                                                                                                            'lookahead' => 0,
-                                                                                                            'rdelim' => '/',
-                                                                                                            'line' => 252,
-                                                                                                            'mod' => 'i',
-                                                                                                            'ldelim' => '/'
-                                                                                                          }, 'Parse::RecDescent::Token' )
-                                                                                                 ],
-                                                                                      'line' => undef
-                                                                                    }, 'Parse::RecDescent::Production' )
-                                                                           ],
-                                                                'name' => 'conflict_algorigthm',
-                                                                'vars' => '',
-                                                                'line' => 252
-                                                              }, 'Parse::RecDescent::Rule' ),
-                              'INDEX' => 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' => 'index',
-                                                                                              'hashname' => '__PATTERN1__',
-                                                                                              'description' => '/index/i',
-                                                                                              'lookahead' => 0,
-                                                                                              'rdelim' => '/',
-                                                                                              'line' => 368,
-                                                                                              'mod' => 'i',
-                                                                                              'ldelim' => '/'
-                                                                                            }, 'Parse::RecDescent::Token' )
-                                                                                   ],
-                                                                        'line' => undef
-                                                                      }, 'Parse::RecDescent::Production' )
-                                                             ],
-                                                  'name' => 'INDEX',
-                                                  'vars' => '',
-                                                  'line' => 368
-                                                }, 'Parse::RecDescent::Rule' ),
-                              'view_drop' => bless( {
-                                                      'impcount' => 0,
-                                                      'calls' => [
-                                                                   'VIEW',
-                                                                   'if_exists',
-                                                                   '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' => 'VIEW',
-                                                                                                  'matchrule' => 0,
-                                                                                                  'implicit' => undef,
-                                                                                                  'argcode' => undef,
-                                                                                                  'lookahead' => 0,
-                                                                                                  'line' => 54
-                                                                                                }, 'Parse::RecDescent::Subrule' ),
-                                                                                         bless( {
-                                                                                                  'subrule' => 'if_exists',
-                                                                                                  'expected' => undef,
-                                                                                                  'min' => 0,
-                                                                                                  'argcode' => undef,
-                                                                                                  'max' => 1,
-                                                                                                  'matchrule' => 0,
-                                                                                                  'repspec' => '?',
-                                                                                                  'lookahead' => 0,
-                                                                                                  'line' => 54
-                                                                                                }, 'Parse::RecDescent::Repetition' ),
-                                                                                         bless( {
-                                                                                                  'subrule' => 'view_name',
-                                                                                                  'matchrule' => 0,
-                                                                                                  'implicit' => undef,
-                                                                                                  'argcode' => undef,
-                                                                                                  'lookahead' => 0,
-                                                                                                  'line' => 54
-                                                                                                }, 'Parse::RecDescent::Subrule' )
-                                                                                       ],
-                                                                            'line' => undef
-                                                                          }, 'Parse::RecDescent::Production' )
-                                                                 ],
-                                                      'name' => 'view_drop',
-                                                      'vars' => '',
-                                                      'line' => 54
-                                                    }, 'Parse::RecDescent::Rule' ),
-                              'statement' => bless( {
-                                                      'impcount' => 0,
-                                                      'calls' => [
-                                                                   'begin_transaction',
-                                                                   'commit',
-                                                                   'drop',
-                                                                   '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' => 'begin_transaction',
-                                                                                                  'matchrule' => 0,
-                                                                                                  'implicit' => undef,
-                                                                                                  'argcode' => undef,
-                                                                                                  'lookahead' => 0,
-                                                                                                  'line' => 39
-                                                                                                }, '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' => 'commit',
-                                                                                                  'matchrule' => 0,
-                                                                                                  'implicit' => undef,
-                                                                                                  'argcode' => undef,
-                                                                                                  'lookahead' => 0,
-                                                                                                  'line' => 40
-                                                                                                }, 'Parse::RecDescent::Subrule' )
-                                                                                       ],
-                                                                            'line' => 40
-                                                                          }, 'Parse::RecDescent::Production' ),
-                                                                   bless( {
-                                                                            'number' => '2',
-                                                                            'strcount' => 0,
-                                                                            'dircount' => 0,
-                                                                            'uncommit' => undef,
-                                                                            'error' => undef,
-                                                                            'patcount' => 0,
-                                                                            'actcount' => 0,
-                                                                            'items' => [
-                                                                                         bless( {
-                                                                                                  'subrule' => 'drop',
-                                                                                                  'matchrule' => 0,
-                                                                                                  'implicit' => undef,
-                                                                                                  'argcode' => undef,
-                                                                                                  'lookahead' => 0,
-                                                                                                  'line' => 41
-                                                                                                }, 'Parse::RecDescent::Subrule' )
-                                                                                       ],
-                                                                            'line' => 41
-                                                                          }, 'Parse::RecDescent::Production' ),
-                                                                   bless( {
-                                                                            'number' => '3',
-                                                                            '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' => 42
-                                                                                                }, 'Parse::RecDescent::Subrule' )
-                                                                                       ],
-                                                                            'line' => 42
-                                                                          }, 'Parse::RecDescent::Production' ),
-                                                                   bless( {
-                                                                            'number' => '4',
-                                                                            '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' => 43
-                                                                                                }, 'Parse::RecDescent::Subrule' )
-                                                                                       ],
-                                                                            'line' => 43
-                                                                          }, 'Parse::RecDescent::Production' ),
-                                                                   bless( {
-                                                                            'number' => '5',
-                                                                            'strcount' => 0,
-                                                                            'dircount' => 1,
-                                                                            'uncommit' => 0,
-                                                                            'error' => 1,
-                                                                            'patcount' => 0,
-                                                                            'actcount' => 0,
-                                                                            'items' => [
-                                                                                         bless( {
-                                                                                                  'msg' => '',
-                                                                                                  'hashname' => '__DIRECTIVE1__',
-                                                                                                  'commitonly' => '',
-                                                                                                  'lookahead' => 0,
-                                                                                                  'line' => 44
-                                                                                                }, 'Parse::RecDescent::Error' )
-                                                                                       ],
-                                                                            'line' => 44
-                                                                          }, 'Parse::RecDescent::Production' )
-                                                                 ],
-                                                      'name' => 'statement',
-                                                      'vars' => '',
-                                                      'line' => 39
-                                                    }, 'Parse::RecDescent::Rule' ),
-                              'field_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' => 248
-                                                                                                 }, 'Parse::RecDescent::Subrule' )
-                                                                                        ],
-                                                                             'line' => undef
-                                                                           }, 'Parse::RecDescent::Production' )
-                                                                  ],
-                                                       'name' => 'field_name',
-                                                       'vars' => '',
-                                                       'line' => 248
-                                                     }, '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' => 37,
-                                                                                               'mod' => '',
-                                                                                               'ldelim' => '/'
-                                                                                             }, 'Parse::RecDescent::Token' )
-                                                                                    ],
-                                                                         'line' => undef
-                                                                       }, 'Parse::RecDescent::Production' )
-                                                              ],
-                                                   'name' => 'eofile',
-                                                   'vars' => '',
-                                                   'line' => 37
-                                                 }, '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' => 29
-                                                                                                }, 'Parse::RecDescent::Repetition' ),
-                                                                                         bless( {
-                                                                                                  'subrule' => 'eofile',
-                                                                                                  'matchrule' => 0,
-                                                                                                  'implicit' => undef,
-                                                                                                  'argcode' => undef,
-                                                                                                  'lookahead' => 0,
-                                                                                                  'line' => 29
-                                                                                                }, 'Parse::RecDescent::Subrule' ),
-                                                                                         bless( {
-                                                                                                  'hashname' => '__ACTION1__',
-                                                                                                  'lookahead' => 0,
-                                                                                                  'line' => 29,
-                                                                                                  'code' => '{ 
-    $return      = {
-        tables   => \\%tables, 
-        views    => \\@views,
-        triggers => \\@triggers,
-    }
-}'
-                                                                                                }, 'Parse::RecDescent::Action' )
-                                                                                       ],
-                                                                            'line' => undef
-                                                                          }, 'Parse::RecDescent::Production' )
-                                                                 ],
-                                                      'name' => 'startrule',
-                                                      'vars' => '',
-                                                      'line' => 28
-                                                    }, 'Parse::RecDescent::Rule' ),
-                              'TRANSACTION' => 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' => 'transaction',
-                                                                                                    'hashname' => '__PATTERN1__',
-                                                                                                    'description' => '/transaction/i',
-                                                                                                    'lookahead' => 0,
-                                                                                                    'rdelim' => '/',
-                                                                                                    'line' => 360,
-                                                                                                    'mod' => 'i',
-                                                                                                    'ldelim' => '/'
-                                                                                                  }, 'Parse::RecDescent::Token' )
-                                                                                         ],
-                                                                              'line' => undef
-                                                                            }, 'Parse::RecDescent::Production' )
-                                                                   ],
-                                                        'name' => 'TRANSACTION',
-                                                        'vars' => '',
-                                                        'line' => 360
-                                                      }, 'Parse::RecDescent::Rule' ),
-                              'VALUE' => 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' => '[-+]?\\.?\\d+(?:[eE]\\d+)?',
-                                                                                              'hashname' => '__PATTERN1__',
-                                                                                              'description' => '/[-+]?\\\\.?\\\\d+(?:[eE]\\\\d+)?/',
-                                                                                              'lookahead' => 0,
-                                                                                              'rdelim' => '/',
-                                                                                              'line' => 398,
-                                                                                              'mod' => '',
-                                                                                              'ldelim' => '/'
-                                                                                            }, 'Parse::RecDescent::Token' ),
-                                                                                     bless( {
-                                                                                              'hashname' => '__ACTION1__',
-                                                                                              'lookahead' => 0,
-                                                                                              'line' => 399,
-                                                                                              'code' => '{ $item[1] }'
-                                                                                            }, 'Parse::RecDescent::Action' )
-                                                                                   ],
-                                                                        'line' => undef
-                                                                      }, 'Parse::RecDescent::Production' ),
-                                                               bless( {
-                                                                        'number' => '1',
-                                                                        'strcount' => 0,
-                                                                        'dircount' => 0,
-                                                                        'uncommit' => undef,
-                                                                        'error' => undef,
-                                                                        'patcount' => 1,
-                                                                        'actcount' => 1,
-                                                                        'items' => [
-                                                                                     bless( {
-                                                                                              'pattern' => '\'.*?\'',
-                                                                                              'hashname' => '__PATTERN1__',
-                                                                                              'description' => '/\'.*?\'/',
-                                                                                              'lookahead' => 0,
-                                                                                              'rdelim' => '/',
-                                                                                              'line' => 400,
-                                                                                              'mod' => '',
-                                                                                              'ldelim' => '/'
-                                                                                            }, 'Parse::RecDescent::Token' ),
-                                                                                     bless( {
-                                                                                              'hashname' => '__ACTION1__',
-                                                                                              'lookahead' => 0,
-                                                                                              'line' => 401,
-                                                                                              'code' => '{ 
-        # remove leading/trailing quotes 
-        my $val = $item[1];
-        $val    =~ s/^[\'"]|[\'"]$//g;
-        $return = $val;
-    }'
-                                                                                            }, 'Parse::RecDescent::Action' )
-                                                                                   ],
-                                                                        'line' => 400
-                                                                      }, 'Parse::RecDescent::Production' ),
-                                                               bless( {
-                                                                        'number' => '2',
-                                                                        'strcount' => 0,
-                                                                        'dircount' => 0,
-                                                                        'uncommit' => undef,
-                                                                        'error' => undef,
-                                                                        'patcount' => 1,
-                                                                        'actcount' => 1,
-                                                                        'items' => [
-                                                                                     bless( {
-                                                                                              'pattern' => 'NULL',
-                                                                                              'hashname' => '__PATTERN1__',
-                                                                                              'description' => '/NULL/',
-                                                                                              'lookahead' => 0,
-                                                                                              'rdelim' => '/',
-                                                                                              'line' => 407,
-                                                                                              'mod' => '',
-                                                                                              'ldelim' => '/'
-                                                                                            }, 'Parse::RecDescent::Token' ),
-                                                                                     bless( {
-                                                                                              'hashname' => '__ACTION1__',
-                                                                                              'lookahead' => 0,
-                                                                                              'line' => 408,
-                                                                                              'code' => '{ \'NULL\' }'
-                                                                                            }, 'Parse::RecDescent::Action' )
-                                                                                   ],
-                                                                        'line' => 407
-                                                                      }, 'Parse::RecDescent::Production' ),
-                                                               bless( {
-                                                                        'number' => '3',
-                                                                        'strcount' => 0,
-                                                                        'dircount' => 0,
-                                                                        'uncommit' => undef,
-                                                                        'error' => undef,
-                                                                        'patcount' => 1,
-                                                                        'actcount' => 1,
-                                                                        'items' => [
-                                                                                     bless( {
-                                                                                              'pattern' => 'CURRENT_TIMESTAMP',
-                                                                                              'hashname' => '__PATTERN1__',
-                                                                                              'description' => '/CURRENT_TIMESTAMP/i',
-                                                                                              'lookahead' => 0,
-                                                                                              'rdelim' => '/',
-                                                                                              'line' => 409,
-                                                                                              'mod' => 'i',
-                                                                                              'ldelim' => '/'
-                                                                                            }, 'Parse::RecDescent::Token' ),
-                                                                                     bless( {
-                                                                                              'hashname' => '__ACTION1__',
-                                                                                              'lookahead' => 0,
-                                                                                              'line' => 410,
-                                                                                              'code' => '{ \'CURRENT_TIMESTAMP\' }'
-                                                                                            }, 'Parse::RecDescent::Action' )
-                                                                                   ],
-                                                                        'line' => 409
-                                                                      }, 'Parse::RecDescent::Production' )
-                                                             ],
-                                                  'name' => 'VALUE',
-                                                  'vars' => '',
-                                                  'line' => 398
-                                                }, 'Parse::RecDescent::Rule' ),
-                              'END_C' => 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' => 'end',
-                                                                                              'hashname' => '__PATTERN1__',
-                                                                                              'description' => '/end/i',
-                                                                                              'lookahead' => 0,
-                                                                                              'rdelim' => '/',
-                                                                                              'line' => 358,
-                                                                                              'mod' => 'i',
-                                                                                              'ldelim' => '/'
-                                                                                            }, 'Parse::RecDescent::Token' )
-                                                                                   ],
-                                                                        'line' => undef
-                                                                      }, 'Parse::RecDescent::Production' )
-                                                             ],
-                                                  'name' => 'END_C',
-                                                  'vars' => '',
-                                                  'line' => 358
-                                                }, 'Parse::RecDescent::Rule' ),
-                              'sort_order' => 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' => '(ASC|DESC)',
-                                                                                                   'hashname' => '__PATTERN1__',
-                                                                                                   'description' => '/(ASC|DESC)/i',
-                                                                                                   'lookahead' => 0,
-                                                                                                   'rdelim' => '/',
-                                                                                                   'line' => 264,
-                                                                                                   'mod' => 'i',
-                                                                                                   'ldelim' => '/'
-                                                                                                 }, 'Parse::RecDescent::Token' )
-                                                                                        ],
-                                                                             'line' => undef
-                                                                           }, 'Parse::RecDescent::Production' )
-                                                                  ],
-                                                       'name' => 'sort_order',
-                                                       'vars' => '',
-                                                       'line' => 264
-                                                     }, 'Parse::RecDescent::Rule' ),
-                              'before_or_after' => 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' => '(before|after)',
-                                                                                                        'hashname' => '__PATTERN1__',
-                                                                                                        'description' => '/(before|after)/i',
-                                                                                                        'lookahead' => 0,
-                                                                                                        'rdelim' => '/',
-                                                                                                        'line' => 326,
-                                                                                                        'mod' => 'i',
-                                                                                                        'ldelim' => '/'
-                                                                                                      }, 'Parse::RecDescent::Token' ),
-                                                                                               bless( {
-                                                                                                        'hashname' => '__ACTION1__',
-                                                                                                        'lookahead' => 0,
-                                                                                                        'line' => 326,
-                                                                                                        'code' => '{ $return = lc $1 }'
-                                                                                                      }, 'Parse::RecDescent::Action' )
-                                                                                             ],
-                                                                                  'line' => undef
-                                                                                }, 'Parse::RecDescent::Production' )
-                                                                       ],
-                                                            'name' => 'before_or_after',
-                                                            'vars' => '',
-                                                            'line' => 326
-                                                          }, 'Parse::RecDescent::Rule' ),
-                              'tbl_drop' => bless( {
-                                                     'impcount' => 0,
-                                                     'calls' => [
-                                                                  'TABLE',
-                                                                  'table_name'
-                                                                ],
-                                                     'changed' => 0,
-                                                     'opcount' => 0,
-                                                     'prods' => [
-                                                                  bless( {
-                                                                           'number' => '0',
-                                                                           'strcount' => 0,
-                                                                           'dircount' => 1,
-                                                                           'uncommit' => undef,
-                                                                           'error' => undef,
-                                                                           'patcount' => 0,
-                                                                           'actcount' => 0,
-                                                                           'items' => [
-                                                                                        bless( {
-                                                                                                 'subrule' => 'TABLE',
-                                                                                                 'matchrule' => 0,
-                                                                                                 'implicit' => undef,
-                                                                                                 'argcode' => undef,
-                                                                                                 'lookahead' => 0,
-                                                                                                 'line' => 52
-                                                                                               }, 'Parse::RecDescent::Subrule' ),
-                                                                                        bless( {
-                                                                                                 'hashname' => '__DIRECTIVE1__',
-                                                                                                 'name' => '<commit>',
-                                                                                                 'lookahead' => 0,
-                                                                                                 'line' => 52,
-                                                                                                 'code' => '$commit = 1'
-                                                                                               }, 'Parse::RecDescent::Directive' ),
-                                                                                        bless( {
-                                                                                                 'subrule' => 'table_name',
-                                                                                                 'matchrule' => 0,
-                                                                                                 'implicit' => undef,
-                                                                                                 'argcode' => undef,
-                                                                                                 'lookahead' => 0,
-                                                                                                 'line' => 52
-                                                                                               }, 'Parse::RecDescent::Subrule' )
-                                                                                      ],
-                                                                           'line' => undef
-                                                                         }, 'Parse::RecDescent::Production' )
-                                                                ],
-                                                     'name' => 'tbl_drop',
-                                                     'vars' => '',
-                                                     'line' => 52
-                                                   }, 'Parse::RecDescent::Rule' ),
-                              'trg_drop' => bless( {
-                                                     'impcount' => 0,
-                                                     'calls' => [
-                                                                  'TRIGGER',
-                                                                  'if_exists',
-                                                                  'trigger_name'
-                                                                ],
-                                                     'changed' => 0,
-                                                     'opcount' => 0,
-                                                     'prods' => [
-                                                                  bless( {
-                                                                           'number' => '0',
-                                                                           'strcount' => 0,
-                                                                           'dircount' => 0,
-                                                                           'uncommit' => undef,
-                                                                           'error' => undef,
-                                                                           'patcount' => 0,
-                                                                           'actcount' => 0,
-                                                                           'items' => [
-                                                                                        bless( {
-                                                                                                 'subrule' => 'TRIGGER',
-                                                                                                 'matchrule' => 0,
-                                                                                                 'implicit' => undef,
-                                                                                                 'argcode' => undef,
-                                                                                                 'lookahead' => 0,
-                                                                                                 'line' => 56
-                                                                                               }, 'Parse::RecDescent::Subrule' ),
-                                                                                        bless( {
-                                                                                                 'subrule' => 'if_exists',
-                                                                                                 'expected' => undef,
-                                                                                                 'min' => 0,
-                                                                                                 'argcode' => undef,
-                                                                                                 'max' => 1,
-                                                                                                 'matchrule' => 0,
-                                                                                                 'repspec' => '?',
-                                                                                                 'lookahead' => 0,
-                                                                                                 'line' => 56
-                                                                                               }, 'Parse::RecDescent::Repetition' ),
-                                                                                        bless( {
-                                                                                                 'subrule' => 'trigger_name',
-                                                                                                 'matchrule' => 0,
-                                                                                                 'implicit' => undef,
-                                                                                                 'argcode' => undef,
-                                                                                                 'lookahead' => 0,
-                                                                                                 'line' => 56
-                                                                                               }, 'Parse::RecDescent::Subrule' )
-                                                                                      ],
-                                                                           'line' => undef
-                                                                         }, 'Parse::RecDescent::Production' )
-                                                                ],
-                                                     'name' => 'trg_drop',
-                                                     'vars' => '',
-                                                     'line' => 56
-                                                   }, 'Parse::RecDescent::Rule' ),
-                              '_alternation_1_of_production_1_of_rule_drop' => bless( {
-                                                                                        'impcount' => 0,
-                                                                                        'calls' => [
-                                                                                                     'tbl_drop',
-                                                                                                     'view_drop',
-                                                                                                     'trg_drop'
-                                                                                                   ],
-                                                                                        'changed' => 0,
-                                                                                        'opcount' => 0,
-                                                                                        'prods' => [
-                                                                                                     bless( {
-                                                                                                              'number' => '0',
-                                                                                                              'strcount' => 0,
-                                                                                                              'dircount' => 0,
-                                                                                                              'uncommit' => undef,
-                                                                                                              'error' => undef,
-                                                                                                              'patcount' => 0,
-                                                                                                              'actcount' => 0,
-                                                                                                              'items' => [
-                                                                                                                           bless( {
-                                                                                                                                    'subrule' => 'tbl_drop',
-                                                                                                                                    'matchrule' => 0,
-                                                                                                                                    'implicit' => undef,
-                                                                                                                                    'argcode' => undef,
-                                                                                                                                    'lookahead' => 0,
-                                                                                                                                    'line' => 411
-                                                                                                                                  }, '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' => 'view_drop',
-                                                                                                                                    'matchrule' => 0,
-                                                                                                                                    'implicit' => undef,
-                                                                                                                                    'argcode' => undef,
-                                                                                                                                    'lookahead' => 0,
-                                                                                                                                    'line' => 411
-                                                                                                                                  }, 'Parse::RecDescent::Subrule' )
-                                                                                                                         ],
-                                                                                                              'line' => 411
-                                                                                                            }, 'Parse::RecDescent::Production' ),
-                                                                                                     bless( {
-                                                                                                              'number' => '2',
-                                                                                                              'strcount' => 0,
-                                                                                                              'dircount' => 0,
-                                                                                                              'uncommit' => undef,
-                                                                                                              'error' => undef,
-                                                                                                              'patcount' => 0,
-                                                                                                              'actcount' => 0,
-                                                                                                              'items' => [
-                                                                                                                           bless( {
-                                                                                                                                    'subrule' => 'trg_drop',
-                                                                                                                                    'matchrule' => 0,
-                                                                                                                                    'implicit' => undef,
-                                                                                                                                    'argcode' => undef,
-                                                                                                                                    'lookahead' => 0,
-                                                                                                                                    'line' => 411
-                                                                                                                                  }, 'Parse::RecDescent::Subrule' )
-                                                                                                                         ],
-                                                                                                              'line' => 411
-                                                                                                            }, 'Parse::RecDescent::Production' )
-                                                                                                   ],
-                                                                                        'name' => '_alternation_1_of_production_1_of_rule_drop',
-                                                                                        'vars' => '',
-                                                                                        'line' => 411
-                                                                                      }, 'Parse::RecDescent::Rule' ),
-                              'view_name' => bless( {
-                                                      'impcount' => 0,
-                                                      'calls' => [
-                                                                   'qualified_name'
-                                                                 ],
-                                                      'changed' => 0,
-                                                      'opcount' => 0,
-                                                      'prods' => [
-                                                                   bless( {
-                                                                            'number' => '0',
-                                                                            'strcount' => 0,
-                                                                            'dircount' => 0,
-                                                                            'uncommit' => undef,
-                                                                            'error' => undef,
-                                                                            'patcount' => 0,
-                                                                            'actcount' => 0,
-                                                                            'items' => [
-                                                                                         bless( {
-                                                                                                  'subrule' => 'qualified_name',
-                                                                                                  'matchrule' => 0,
-                                                                                                  'implicit' => undef,
-                                                                                                  'argcode' => undef,
-                                                                                                  'lookahead' => 0,
-                                                                                                  'line' => 332
-                                                                                                }, 'Parse::RecDescent::Subrule' )
-                                                                                       ],
-                                                                            'line' => undef
-                                                                          }, 'Parse::RecDescent::Production' )
-                                                                 ],
-                                                      'name' => 'view_name',
-                                                      'vars' => '',
-                                                      'line' => 332
-                                                    }, 'Parse::RecDescent::Rule' ),
-                              'parens_value_list' => bless( {
-                                                              'impcount' => 0,
-                                                              'calls' => [
-                                                                           'VALUE'
-                                                                         ],
-                                                              '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' => 259
-                                                                                                        }, 'Parse::RecDescent::Literal' ),
-                                                                                                 bless( {
-                                                                                                          'expected' => '<leftop: VALUE /,/ VALUE>',
-                                                                                                          'min' => 1,
-                                                                                                          'name' => '\'VALUE(s)\'',
-                                                                                                          'max' => 100000000,
-                                                                                                          'leftarg' => bless( {
-                                                                                                                                'subrule' => 'VALUE',
-                                                                                                                                'matchrule' => 0,
-                                                                                                                                'implicit' => undef,
-                                                                                                                                'argcode' => undef,
-                                                                                                                                'lookahead' => 0,
-                                                                                                                                'line' => 259
-                                                                                                                              }, 'Parse::RecDescent::Subrule' ),
-                                                                                                          'rightarg' => bless( {
-                                                                                                                                 'subrule' => 'VALUE',
-                                                                                                                                 'matchrule' => 0,
-                                                                                                                                 'implicit' => undef,
-                                                                                                                                 'argcode' => undef,
-                                                                                                                                 'lookahead' => 0,
-                                                                                                                                 'line' => 259
-                                                                                                                               }, 'Parse::RecDescent::Subrule' ),
-                                                                                                          'hashname' => '__DIRECTIVE1__',
-                                                                                                          'type' => 'leftop',
-                                                                                                          'op' => bless( {
-                                                                                                                           'pattern' => ',',
-                                                                                                                           'hashname' => '__PATTERN1__',
-                                                                                                                           'description' => '/,/',
-                                                                                                                           'lookahead' => 0,
-                                                                                                                           'rdelim' => '/',
-                                                                                                                           'line' => 259,
-                                                                                                                           'mod' => '',
-                                                                                                                           'ldelim' => '/'
-                                                                                                                         }, 'Parse::RecDescent::Token' )
-                                                                                                        }, 'Parse::RecDescent::Operator' ),
-                                                                                                 bless( {
-                                                                                                          'pattern' => ')',
-                                                                                                          'hashname' => '__STRING2__',
-                                                                                                          'description' => '\')\'',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 259
-                                                                                                        }, 'Parse::RecDescent::Literal' ),
-                                                                                                 bless( {
-                                                                                                          'hashname' => '__ACTION1__',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 260,
-                                                                                                          'code' => '{ $item[2] }'
-                                                                                                        }, 'Parse::RecDescent::Action' )
-                                                                                               ],
-                                                                                    'line' => undef
-                                                                                  }, 'Parse::RecDescent::Production' )
-                                                                         ],
-                                                              'name' => 'parens_value_list',
-                                                              'vars' => '',
-                                                              'line' => 259
-                                                            }, 'Parse::RecDescent::Rule' ),
-                              'commit' => bless( {
-                                                   'impcount' => 0,
-                                                   'calls' => [
-                                                                'SEMICOLON'
-                                                              ],
-                                                   'changed' => 0,
-                                                   'opcount' => 0,
-                                                   'prods' => [
-                                                                bless( {
-                                                                         'number' => '0',
-                                                                         'strcount' => 0,
-                                                                         'dircount' => 0,
-                                                                         'uncommit' => undef,
-                                                                         'error' => undef,
-                                                                         'patcount' => 1,
-                                                                         'actcount' => 0,
-                                                                         'items' => [
-                                                                                      bless( {
-                                                                                               'pattern' => 'commit',
-                                                                                               'hashname' => '__PATTERN1__',
-                                                                                               'description' => '/commit/i',
-                                                                                               'lookahead' => 0,
-                                                                                               'rdelim' => '/',
-                                                                                               'line' => 48,
-                                                                                               'mod' => 'i',
-                                                                                               'ldelim' => '/'
-                                                                                             }, 'Parse::RecDescent::Token' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'SEMICOLON',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 48
-                                                                                             }, 'Parse::RecDescent::Subrule' )
-                                                                                    ],
-                                                                         'line' => undef
-                                                                       }, 'Parse::RecDescent::Production' )
-                                                              ],
-                                                   'name' => 'commit',
-                                                   'vars' => '',
-                                                   'line' => 48
-                                                 }, 'Parse::RecDescent::Rule' ),
-                              'CHECK_C' => 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' => 'check',
-                                                                                                'hashname' => '__PATTERN1__',
-                                                                                                'description' => '/check/i',
-                                                                                                'lookahead' => 0,
-                                                                                                'rdelim' => '/',
-                                                                                                'line' => 374,
-                                                                                                'mod' => 'i',
-                                                                                                'ldelim' => '/'
-                                                                                              }, 'Parse::RecDescent::Token' )
-                                                                                     ],
-                                                                          'line' => undef
-                                                                        }, 'Parse::RecDescent::Production' )
-                                                               ],
-                                                    'name' => 'CHECK_C',
-                                                    'vars' => '',
-                                                    'line' => 374
-                                                  }, 'Parse::RecDescent::Rule' ),
-                              'SELECT' => 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' => 'select',
-                                                                                               'hashname' => '__PATTERN1__',
-                                                                                               'description' => '/select/i',
-                                                                                               'lookahead' => 0,
-                                                                                               'rdelim' => '/',
-                                                                                               'line' => 382,
-                                                                                               'mod' => 'i',
-                                                                                               'ldelim' => '/'
-                                                                                             }, 'Parse::RecDescent::Token' )
-                                                                                    ],
-                                                                         'line' => undef
-                                                                       }, 'Parse::RecDescent::Production' )
-                                                              ],
-                                                   'name' => 'SELECT',
-                                                   'vars' => '',
-                                                   'line' => 382
-                                                 }, 'Parse::RecDescent::Rule' ),
-                              'trigger_step' => bless( {
-                                                         'impcount' => 0,
-                                                         'calls' => [
-                                                                      'statement_body',
-                                                                      'SEMICOLON'
-                                                                    ],
-                                                         'changed' => 0,
-                                                         'opcount' => 0,
-                                                         'prods' => [
-                                                                      bless( {
-                                                                               'number' => '0',
-                                                                               'strcount' => 0,
-                                                                               'dircount' => 0,
-                                                                               'uncommit' => undef,
-                                                                               'error' => undef,
-                                                                               'patcount' => 1,
-                                                                               'actcount' => 1,
-                                                                               'items' => [
-                                                                                            bless( {
-                                                                                                     'pattern' => '(select|delete|insert|update)',
-                                                                                                     'hashname' => '__PATTERN1__',
-                                                                                                     'description' => '/(select|delete|insert|update)/i',
-                                                                                                     'lookahead' => 0,
-                                                                                                     'rdelim' => '/',
-                                                                                                     'line' => 321,
-                                                                                                     'mod' => 'i',
-                                                                                                     'ldelim' => '/'
-                                                                                                   }, 'Parse::RecDescent::Token' ),
-                                                                                            bless( {
-                                                                                                     'subrule' => 'statement_body',
-                                                                                                     'expected' => undef,
-                                                                                                     'min' => 0,
-                                                                                                     'argcode' => undef,
-                                                                                                     'max' => 100000000,
-                                                                                                     'matchrule' => 0,
-                                                                                                     'repspec' => 's?',
-                                                                                                     'lookahead' => 0,
-                                                                                                     'line' => 321
-                                                                                                   }, 'Parse::RecDescent::Repetition' ),
-                                                                                            bless( {
-                                                                                                     'subrule' => 'SEMICOLON',
-                                                                                                     'matchrule' => 0,
-                                                                                                     'implicit' => undef,
-                                                                                                     'argcode' => undef,
-                                                                                                     'lookahead' => 0,
-                                                                                                     'line' => 321
-                                                                                                   }, 'Parse::RecDescent::Subrule' ),
-                                                                                            bless( {
-                                                                                                     'hashname' => '__ACTION1__',
-                                                                                                     'lookahead' => 0,
-                                                                                                     'line' => 322,
-                                                                                                     'code' => '{
-        $return = join( \' \', $item[1], join \' \', @{ $item[2] || [] } )
-    }'
-                                                                                                   }, 'Parse::RecDescent::Action' )
-                                                                                          ],
-                                                                               'line' => undef
-                                                                             }, 'Parse::RecDescent::Production' )
-                                                                    ],
-                                                         'name' => 'trigger_step',
-                                                         'vars' => '',
-                                                         'line' => 321
-                                                       }, 'Parse::RecDescent::Rule' ),
-                              'table_name' => bless( {
-                                                       'impcount' => 0,
-                                                       'calls' => [
-                                                                    'qualified_name'
-                                                                  ],
-                                                       'changed' => 0,
-                                                       'opcount' => 0,
-                                                       'prods' => [
-                                                                    bless( {
-                                                                             'number' => '0',
-                                                                             'strcount' => 0,
-                                                                             'dircount' => 0,
-                                                                             'uncommit' => undef,
-                                                                             'error' => undef,
-                                                                             'patcount' => 0,
-                                                                             'actcount' => 0,
-                                                                             'items' => [
-                                                                                          bless( {
-                                                                                                   'subrule' => 'qualified_name',
-                                                                                                   'matchrule' => 0,
-                                                                                                   'implicit' => undef,
-                                                                                                   'argcode' => undef,
-                                                                                                   'lookahead' => 0,
-                                                                                                   'line' => 240
-                                                                                                 }, 'Parse::RecDescent::Subrule' )
-                                                                                        ],
-                                                                             'line' => undef
-                                                                           }, 'Parse::RecDescent::Production' )
-                                                                  ],
-                                                       'name' => 'table_name',
-                                                       'vars' => '',
-                                                       'line' => 240
-                                                     }, 'Parse::RecDescent::Rule' ),
-                              'type' => bless( {
-                                                 'impcount' => 0,
-                                                 'calls' => [
-                                                              'WORD',
-                                                              'parens_value_list'
-                                                            ],
-                                                 'changed' => 0,
-                                                 'opcount' => 0,
-                                                 'prods' => [
-                                                              bless( {
-                                                                       'number' => '0',
-                                                                       'strcount' => 0,
-                                                                       'dircount' => 0,
-                                                                       'uncommit' => undef,
-                                                                       'error' => undef,
-                                                                       'patcount' => 0,
-                                                                       'actcount' => 1,
-                                                                       'items' => [
-                                                                                    bless( {
-                                                                                             'subrule' => 'WORD',
-                                                                                             'matchrule' => 0,
-                                                                                             'implicit' => undef,
-                                                                                             'argcode' => undef,
-                                                                                             'lookahead' => 0,
-                                                                                             'line' => 161
-                                                                                           }, 'Parse::RecDescent::Subrule' ),
-                                                                                    bless( {
-                                                                                             'subrule' => 'parens_value_list',
-                                                                                             'expected' => undef,
-                                                                                             'min' => 0,
-                                                                                             'argcode' => undef,
-                                                                                             'max' => 1,
-                                                                                             'matchrule' => 0,
-                                                                                             'repspec' => '?',
-                                                                                             'lookahead' => 0,
-                                                                                             'line' => 161
-                                                                                           }, 'Parse::RecDescent::Repetition' ),
-                                                                                    bless( {
-                                                                                             'hashname' => '__ACTION1__',
-                                                                                             'lookahead' => 0,
-                                                                                             'line' => 162,
-                                                                                             'code' => '{
-        $return = {
-            type => $item[1],
-            size => $item[2][0],
-        }
-    }'
-                                                                                           }, 'Parse::RecDescent::Action' )
-                                                                                  ],
-                                                                       'line' => undef
-                                                                     }, 'Parse::RecDescent::Production' )
-                                                            ],
-                                                 'name' => 'type',
-                                                 'vars' => '',
-                                                 'line' => 161
-                                               }, 'Parse::RecDescent::Rule' ),
-                              'NOT_NULL' => 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' => 'not null',
-                                                                                                 'hashname' => '__PATTERN1__',
-                                                                                                 'description' => '/not null/i',
-                                                                                                 'lookahead' => 0,
-                                                                                                 'rdelim' => '/',
-                                                                                                 'line' => 370,
-                                                                                                 'mod' => 'i',
-                                                                                                 'ldelim' => '/'
-                                                                                               }, 'Parse::RecDescent::Token' )
-                                                                                      ],
-                                                                           'line' => undef
-                                                                         }, 'Parse::RecDescent::Production' )
-                                                                ],
-                                                     'name' => 'NOT_NULL',
-                                                     'vars' => '',
-                                                     'line' => 370
-                                                   }, 'Parse::RecDescent::Rule' ),
-                              'TABLE' => 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' => 'table',
-                                                                                              'hashname' => '__PATTERN1__',
-                                                                                              'description' => '/table/i',
-                                                                                              'lookahead' => 0,
-                                                                                              'rdelim' => '/',
-                                                                                              'line' => 366,
-                                                                                              'mod' => 'i',
-                                                                                              'ldelim' => '/'
-                                                                                            }, 'Parse::RecDescent::Token' )
-                                                                                   ],
-                                                                        'line' => undef
-                                                                      }, 'Parse::RecDescent::Production' )
-                                                             ],
-                                                  'name' => 'TABLE',
-                                                  'vars' => '',
-                                                  'line' => 366
-                                                }, 'Parse::RecDescent::Rule' ),
-                              'trigger_name' => bless( {
-                                                         'impcount' => 0,
-                                                         'calls' => [
-                                                                      'qualified_name'
-                                                                    ],
-                                                         'changed' => 0,
-                                                         'opcount' => 0,
-                                                         'prods' => [
-                                                                      bless( {
-                                                                               'number' => '0',
-                                                                               'strcount' => 0,
-                                                                               'dircount' => 0,
-                                                                               'uncommit' => undef,
-                                                                               'error' => undef,
-                                                                               'patcount' => 0,
-                                                                               'actcount' => 0,
-                                                                               'items' => [
-                                                                                            bless( {
-                                                                                                     'subrule' => 'qualified_name',
-                                                                                                     'matchrule' => 0,
-                                                                                                     'implicit' => undef,
-                                                                                                     'argcode' => undef,
-                                                                                                     'lookahead' => 0,
-                                                                                                     'line' => 334
-                                                                                                   }, 'Parse::RecDescent::Subrule' )
-                                                                                          ],
-                                                                               'line' => undef
-                                                                             }, 'Parse::RecDescent::Production' )
-                                                                    ],
-                                                         'name' => 'trigger_name',
-                                                         'vars' => '',
-                                                         'line' => 334
-                                                       }, 'Parse::RecDescent::Rule' ),
-                              'instead_of' => 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' => 'instead of',
-                                                                                                   'hashname' => '__PATTERN1__',
-                                                                                                   'description' => '/instead of/i',
-                                                                                                   'lookahead' => 0,
-                                                                                                   'rdelim' => '/',
-                                                                                                   'line' => 328,
-                                                                                                   'mod' => 'i',
-                                                                                                   'ldelim' => '/'
-                                                                                                 }, 'Parse::RecDescent::Token' )
-                                                                                        ],
-                                                                             'line' => undef
-                                                                           }, 'Parse::RecDescent::Production' )
-                                                                  ],
-                                                       'name' => 'instead_of',
-                                                       'vars' => '',
-                                                       'line' => 328
-                                                     }, 'Parse::RecDescent::Rule' ),
-                              'drop' => bless( {
-                                                 'impcount' => 1,
-                                                 'calls' => [
-                                                              '_alternation_1_of_production_1_of_rule_drop',
-                                                              'SEMICOLON'
-                                                            ],
-                                                 'changed' => 0,
-                                                 'opcount' => 0,
-                                                 'prods' => [
-                                                              bless( {
-                                                                       'number' => '0',
-                                                                       'strcount' => 0,
-                                                                       'dircount' => 0,
-                                                                       'uncommit' => undef,
-                                                                       'error' => undef,
-                                                                       'patcount' => 1,
-                                                                       'actcount' => 0,
-                                                                       'items' => [
-                                                                                    bless( {
-                                                                                             'pattern' => 'drop',
-                                                                                             'hashname' => '__PATTERN1__',
-                                                                                             'description' => '/drop/i',
-                                                                                             'lookahead' => 0,
-                                                                                             'rdelim' => '/',
-                                                                                             'line' => 50,
-                                                                                             'mod' => 'i',
-                                                                                             'ldelim' => '/'
-                                                                                           }, 'Parse::RecDescent::Token' ),
-                                                                                    bless( {
-                                                                                             'subrule' => '_alternation_1_of_production_1_of_rule_drop',
-                                                                                             'matchrule' => 0,
-                                                                                             'implicit' => 'tbl_drop, or view_drop, or trg_drop',
-                                                                                             'argcode' => undef,
-                                                                                             'lookahead' => 0,
-                                                                                             'line' => 50
-                                                                                           }, 'Parse::RecDescent::Subrule' ),
-                                                                                    bless( {
-                                                                                             'subrule' => 'SEMICOLON',
-                                                                                             'matchrule' => 0,
-                                                                                             'implicit' => undef,
-                                                                                             'argcode' => undef,
-                                                                                             'lookahead' => 0,
-                                                                                             'line' => 50
-                                                                                           }, 'Parse::RecDescent::Subrule' )
-                                                                                  ],
-                                                                       'line' => undef
-                                                                     }, 'Parse::RecDescent::Production' )
-                                                            ],
-                                                 'name' => 'drop',
-                                                 'vars' => '',
-                                                 'line' => 50
-                                               }, 'Parse::RecDescent::Rule' ),
-                              'WHEN' => 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' => 'when',
-                                                                                             'hashname' => '__PATTERN1__',
-                                                                                             'description' => '/when/i',
-                                                                                             'lookahead' => 0,
-                                                                                             'rdelim' => '/',
-                                                                                             'line' => 390,
-                                                                                             'mod' => 'i',
-                                                                                             'ldelim' => '/'
-                                                                                           }, 'Parse::RecDescent::Token' )
-                                                                                  ],
-                                                                       'line' => undef
-                                                                     }, 'Parse::RecDescent::Production' )
-                                                            ],
-                                                 'name' => 'WHEN',
-                                                 'vars' => '',
-                                                 'line' => 390
-                                               }, 'Parse::RecDescent::Rule' ),
-                              'TEMPORARY' => 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' => 'temp(orary)?',
-                                                                                                  'hashname' => '__PATTERN1__',
-                                                                                                  'description' => '/temp(orary)?/i',
-                                                                                                  'lookahead' => 0,
-                                                                                                  'rdelim' => '/',
-                                                                                                  'line' => 364,
-                                                                                                  'mod' => 'i',
-                                                                                                  'ldelim' => '/'
-                                                                                                }, 'Parse::RecDescent::Token' ),
-                                                                                         bless( {
-                                                                                                  'hashname' => '__ACTION1__',
-                                                                                                  'lookahead' => 0,
-                                                                                                  'line' => 364,
-                                                                                                  'code' => '{ 1 }'
-                                                                                                }, 'Parse::RecDescent::Action' )
-                                                                                       ],
-                                                                            'line' => undef
-                                                                          }, 'Parse::RecDescent::Production' )
-                                                                 ],
-                                                      'name' => 'TEMPORARY',
-                                                      'vars' => '',
-                                                      'line' => 364
-                                                    }, 'Parse::RecDescent::Rule' ),
-                              'database_event' => bless( {
-                                                           'impcount' => 0,
-                                                           'calls' => [
-                                                                        'column_list'
-                                                                      ],
-                                                           'changed' => 0,
-                                                           'opcount' => 0,
-                                                           'prods' => [
-                                                                        bless( {
-                                                                                 'number' => '0',
-                                                                                 'strcount' => 0,
-                                                                                 'dircount' => 0,
-                                                                                 'uncommit' => undef,
-                                                                                 'error' => undef,
-                                                                                 'patcount' => 1,
-                                                                                 'actcount' => 0,
-                                                                                 'items' => [
-                                                                                              bless( {
-                                                                                                       'pattern' => '(delete|insert|update)',
-                                                                                                       'hashname' => '__PATTERN1__',
-                                                                                                       'description' => '/(delete|insert|update)/i',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'rdelim' => '/',
-                                                                                                       'line' => 297,
-                                                                                                       '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' => 'update of',
-                                                                                                       'hashname' => '__PATTERN1__',
-                                                                                                       'description' => '/update of/i',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'rdelim' => '/',
-                                                                                                       'line' => 299,
-                                                                                                       'mod' => 'i',
-                                                                                                       'ldelim' => '/'
-                                                                                                     }, 'Parse::RecDescent::Token' ),
-                                                                                              bless( {
-                                                                                                       'subrule' => 'column_list',
-                                                                                                       'matchrule' => 0,
-                                                                                                       'implicit' => undef,
-                                                                                                       'argcode' => undef,
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 299
-                                                                                                     }, 'Parse::RecDescent::Subrule' )
-                                                                                            ],
-                                                                                 'line' => undef
-                                                                               }, 'Parse::RecDescent::Production' )
-                                                                      ],
-                                                           'name' => 'database_event',
-                                                           'vars' => '',
-                                                           'line' => 297
-                                                         }, 'Parse::RecDescent::Rule' ),
-                              'definition' => bless( {
-                                                       'impcount' => 0,
-                                                       'calls' => [
-                                                                    'constraint_def',
-                                                                    'column_def'
-                                                                  ],
-                                                       'changed' => 0,
-                                                       'opcount' => 0,
-                                                       'prods' => [
-                                                                    bless( {
-                                                                             'number' => '0',
-                                                                             'strcount' => 0,
-                                                                             'dircount' => 0,
-                                                                             'uncommit' => undef,
-                                                                             'error' => undef,
-                                                                             'patcount' => 0,
-                                                                             'actcount' => 0,
-                                                                             'items' => [
-                                                                                          bless( {
-                                                                                                   'subrule' => 'constraint_def',
-                                                                                                   'matchrule' => 0,
-                                                                                                   'implicit' => undef,
-                                                                                                   'argcode' => undef,
-                                                                                                   'lookahead' => 0,
-                                                                                                   'line' => 121
-                                                                                                 }, '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' => 'column_def',
-                                                                                                   'matchrule' => 0,
-                                                                                                   'implicit' => undef,
-                                                                                                   'argcode' => undef,
-                                                                                                   'lookahead' => 0,
-                                                                                                   'line' => 121
-                                                                                                 }, 'Parse::RecDescent::Subrule' )
-                                                                                        ],
-                                                                             'line' => 121
-                                                                           }, 'Parse::RecDescent::Production' )
-                                                                  ],
-                                                       'name' => 'definition',
-                                                       'vars' => '',
-                                                       'line' => 121
-                                                     }, 'Parse::RecDescent::Rule' ),
-                              'UNIQUE' => 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' => 'unique',
-                                                                                               'hashname' => '__PATTERN1__',
-                                                                                               'description' => '/unique/i',
-                                                                                               'lookahead' => 0,
-                                                                                               'rdelim' => '/',
-                                                                                               'line' => 392,
-                                                                                               'mod' => 'i',
-                                                                                               'ldelim' => '/'
-                                                                                             }, 'Parse::RecDescent::Token' ),
-                                                                                      bless( {
-                                                                                               'hashname' => '__ACTION1__',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 392,
-                                                                                               'code' => '{ 1 }'
-                                                                                             }, 'Parse::RecDescent::Action' )
-                                                                                    ],
-                                                                         'line' => undef
-                                                                       }, 'Parse::RecDescent::Production' )
-                                                              ],
-                                                   'name' => 'UNIQUE',
-                                                   'vars' => '',
-                                                   'line' => 392
-                                                 }, 'Parse::RecDescent::Rule' ),
-                              'expr' => 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' => '[^)]+',
-                                                                                             'hashname' => '__PATTERN1__',
-                                                                                             'description' => '/[^)]+/',
-                                                                                             'lookahead' => 0,
-                                                                                             'rdelim' => '/',
-                                                                                             'line' => 262,
-                                                                                             'mod' => '',
-                                                                                             'ldelim' => '/'
-                                                                                           }, 'Parse::RecDescent::Token' )
-                                                                                  ],
-                                                                       'line' => undef
-                                                                     }, 'Parse::RecDescent::Production' )
-                                                            ],
-                                                 'name' => 'expr',
-                                                 'vars' => '',
-                                                 'line' => 262
-                                               }, 'Parse::RecDescent::Rule' ),
-                              'AS' => 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' => 'as',
-                                                                                           'hashname' => '__PATTERN1__',
-                                                                                           'description' => '/as/i',
-                                                                                           'lookahead' => 0,
-                                                                                           'rdelim' => '/',
-                                                                                           'line' => 386,
-                                                                                           'mod' => 'i',
-                                                                                           'ldelim' => '/'
-                                                                                         }, 'Parse::RecDescent::Token' )
-                                                                                ],
-                                                                     'line' => undef
-                                                                   }, 'Parse::RecDescent::Production' )
-                                                          ],
-                                               'name' => 'AS',
-                                               'vars' => '',
-                                               'line' => 386
-                                             }, 'Parse::RecDescent::Rule' ),
-                              'column_constraint' => bless( {
-                                                              'impcount' => 0,
-                                                              'calls' => [
-                                                                           'NOT_NULL',
-                                                                           'conflict_clause',
-                                                                           'PRIMARY_KEY',
-                                                                           'sort_order',
-                                                                           'UNIQUE',
-                                                                           'CHECK_C',
-                                                                           'expr',
-                                                                           'DEFAULT',
-                                                                           'VALUE'
-                                                                         ],
-                                                              'changed' => 0,
-                                                              'opcount' => 0,
-                                                              'prods' => [
-                                                                           bless( {
-                                                                                    'number' => '0',
-                                                                                    'strcount' => 0,
-                                                                                    'dircount' => 0,
-                                                                                    'uncommit' => undef,
-                                                                                    'error' => undef,
-                                                                                    'patcount' => 0,
-                                                                                    'actcount' => 1,
-                                                                                    'items' => [
-                                                                                                 bless( {
-                                                                                                          'subrule' => 'NOT_NULL',
-                                                                                                          'matchrule' => 0,
-                                                                                                          'implicit' => undef,
-                                                                                                          'argcode' => undef,
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 169
-                                                                                                        }, 'Parse::RecDescent::Subrule' ),
-                                                                                                 bless( {
-                                                                                                          'subrule' => 'conflict_clause',
-                                                                                                          'expected' => undef,
-                                                                                                          'min' => 0,
-                                                                                                          'argcode' => undef,
-                                                                                                          'max' => 1,
-                                                                                                          'matchrule' => 0,
-                                                                                                          'repspec' => '?',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 169
-                                                                                                        }, 'Parse::RecDescent::Repetition' ),
-                                                                                                 bless( {
-                                                                                                          'hashname' => '__ACTION1__',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 170,
-                                                                                                          'code' => '{
-        $return = {
-            type => \'not_null\',
-        }
-    }'
-                                                                                                        }, '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' => 'PRIMARY_KEY',
-                                                                                                          'matchrule' => 0,
-                                                                                                          'implicit' => undef,
-                                                                                                          'argcode' => undef,
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 176
-                                                                                                        }, 'Parse::RecDescent::Subrule' ),
-                                                                                                 bless( {
-                                                                                                          'subrule' => 'sort_order',
-                                                                                                          'expected' => undef,
-                                                                                                          'min' => 0,
-                                                                                                          'argcode' => undef,
-                                                                                                          'max' => 1,
-                                                                                                          'matchrule' => 0,
-                                                                                                          'repspec' => '?',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 176
-                                                                                                        }, 'Parse::RecDescent::Repetition' ),
-                                                                                                 bless( {
-                                                                                                          'subrule' => 'conflict_clause',
-                                                                                                          'expected' => undef,
-                                                                                                          'min' => 0,
-                                                                                                          'argcode' => undef,
-                                                                                                          'max' => 1,
-                                                                                                          'matchrule' => 0,
-                                                                                                          'repspec' => '?',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 176
-                                                                                                        }, 'Parse::RecDescent::Repetition' ),
-                                                                                                 bless( {
-                                                                                                          'hashname' => '__ACTION1__',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 177,
-                                                                                                          'code' => '{
-        $return = {
-            type        => \'primary_key\',
-            sort_order  => $item[2][0],
-            on_conflict => $item[2][0], 
-        }
-    }'
-                                                                                                        }, 'Parse::RecDescent::Action' )
-                                                                                               ],
-                                                                                    'line' => 175
-                                                                                  }, 'Parse::RecDescent::Production' ),
-                                                                           bless( {
-                                                                                    'number' => '2',
-                                                                                    'strcount' => 0,
-                                                                                    'dircount' => 0,
-                                                                                    'uncommit' => undef,
-                                                                                    'error' => undef,
-                                                                                    'patcount' => 0,
-                                                                                    'actcount' => 1,
-                                                                                    'items' => [
-                                                                                                 bless( {
-                                                                                                          'subrule' => 'UNIQUE',
-                                                                                                          'matchrule' => 0,
-                                                                                                          'implicit' => undef,
-                                                                                                          'argcode' => undef,
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 185
-                                                                                                        }, 'Parse::RecDescent::Subrule' ),
-                                                                                                 bless( {
-                                                                                                          'subrule' => 'conflict_clause',
-                                                                                                          'expected' => undef,
-                                                                                                          'min' => 0,
-                                                                                                          'argcode' => undef,
-                                                                                                          'max' => 1,
-                                                                                                          'matchrule' => 0,
-                                                                                                          'repspec' => '?',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 185
-                                                                                                        }, 'Parse::RecDescent::Repetition' ),
-                                                                                                 bless( {
-                                                                                                          'hashname' => '__ACTION1__',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 186,
-                                                                                                          'code' => '{
-        $return = {
-            type        => \'unique\',
-            on_conflict => $item[2][0], 
-        }
-    }'
-                                                                                                        }, 'Parse::RecDescent::Action' )
-                                                                                               ],
-                                                                                    'line' => 184
-                                                                                  }, 'Parse::RecDescent::Production' ),
-                                                                           bless( {
-                                                                                    'number' => '3',
-                                                                                    'strcount' => 2,
-                                                                                    'dircount' => 0,
-                                                                                    'uncommit' => undef,
-                                                                                    'error' => undef,
-                                                                                    'patcount' => 0,
-                                                                                    'actcount' => 1,
-                                                                                    'items' => [
-                                                                                                 bless( {
-                                                                                                          'subrule' => 'CHECK_C',
-                                                                                                          'matchrule' => 0,
-                                                                                                          'implicit' => undef,
-                                                                                                          'argcode' => undef,
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 193
-                                                                                                        }, 'Parse::RecDescent::Subrule' ),
-                                                                                                 bless( {
-                                                                                                          'pattern' => '(',
-                                                                                                          'hashname' => '__STRING1__',
-                                                                                                          'description' => '\'(\'',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 193
-                                                                                                        }, 'Parse::RecDescent::Literal' ),
-                                                                                                 bless( {
-                                                                                                          'subrule' => 'expr',
-                                                                                                          'matchrule' => 0,
-                                                                                                          'implicit' => undef,
-                                                                                                          'argcode' => undef,
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 193
-                                                                                                        }, 'Parse::RecDescent::Subrule' ),
-                                                                                                 bless( {
-                                                                                                          'pattern' => ')',
-                                                                                                          'hashname' => '__STRING2__',
-                                                                                                          'description' => '\')\'',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 193
-                                                                                                        }, 'Parse::RecDescent::Literal' ),
-                                                                                                 bless( {
-                                                                                                          'subrule' => 'conflict_clause',
-                                                                                                          'expected' => undef,
-                                                                                                          'min' => 0,
-                                                                                                          'argcode' => undef,
-                                                                                                          'max' => 1,
-                                                                                                          'matchrule' => 0,
-                                                                                                          'repspec' => '?',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 193
-                                                                                                        }, 'Parse::RecDescent::Repetition' ),
-                                                                                                 bless( {
-                                                                                                          'hashname' => '__ACTION1__',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 194,
-                                                                                                          'code' => '{
-        $return = {
-            type        => \'check\',
-            expression  => $item[3],
-            on_conflict => $item[5][0], 
-        }
-    }'
-                                                                                                        }, 'Parse::RecDescent::Action' )
-                                                                                               ],
-                                                                                    'line' => 192
-                                                                                  }, 'Parse::RecDescent::Production' ),
-                                                                           bless( {
-                                                                                    'number' => '4',
-                                                                                    'strcount' => 0,
-                                                                                    'dircount' => 0,
-                                                                                    'uncommit' => undef,
-                                                                                    'error' => undef,
-                                                                                    'patcount' => 0,
-                                                                                    'actcount' => 1,
-                                                                                    'items' => [
-                                                                                                 bless( {
-                                                                                                          'subrule' => 'DEFAULT',
-                                                                                                          'matchrule' => 0,
-                                                                                                          'implicit' => undef,
-                                                                                                          'argcode' => undef,
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 202
-                                                                                                        }, 'Parse::RecDescent::Subrule' ),
-                                                                                                 bless( {
-                                                                                                          'subrule' => 'VALUE',
-                                                                                                          'matchrule' => 0,
-                                                                                                          'implicit' => undef,
-                                                                                                          'argcode' => undef,
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 202
-                                                                                                        }, 'Parse::RecDescent::Subrule' ),
-                                                                                                 bless( {
-                                                                                                          'hashname' => '__ACTION1__',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 203,
-                                                                                                          'code' => '{
-        $return   = {
-            type  => \'default\',
-            value => $item[2],
-        }
-    }'
-                                                                                                        }, 'Parse::RecDescent::Action' )
-                                                                                               ],
-                                                                                    'line' => 201
-                                                                                  }, 'Parse::RecDescent::Production' )
-                                                                         ],
-                                                              'name' => 'column_constraint',
-                                                              'vars' => '',
-                                                              'line' => 169
-                                                            }, 'Parse::RecDescent::Rule' ),
-                              'conflict_clause' => bless( {
-                                                            'impcount' => 0,
-                                                            'calls' => [
-                                                                         'conflict_algorigthm'
-                                                                       ],
-                                                            'changed' => 0,
-                                                            'opcount' => 0,
-                                                            'prods' => [
-                                                                         bless( {
-                                                                                  'number' => '0',
-                                                                                  'strcount' => 0,
-                                                                                  'dircount' => 0,
-                                                                                  'uncommit' => undef,
-                                                                                  'error' => undef,
-                                                                                  'patcount' => 1,
-                                                                                  'actcount' => 0,
-                                                                                  'items' => [
-                                                                                               bless( {
-                                                                                                        'pattern' => 'on conflict',
-                                                                                                        'hashname' => '__PATTERN1__',
-                                                                                                        'description' => '/on conflict/i',
-                                                                                                        'lookahead' => 0,
-                                                                                                        'rdelim' => '/',
-                                                                                                        'line' => 250,
-                                                                                                        'mod' => 'i',
-                                                                                                        'ldelim' => '/'
-                                                                                                      }, 'Parse::RecDescent::Token' ),
-                                                                                               bless( {
-                                                                                                        'subrule' => 'conflict_algorigthm',
-                                                                                                        'matchrule' => 0,
-                                                                                                        'implicit' => undef,
-                                                                                                        'argcode' => undef,
-                                                                                                        'lookahead' => 0,
-                                                                                                        'line' => 250
-                                                                                                      }, 'Parse::RecDescent::Subrule' )
-                                                                                             ],
-                                                                                  'line' => undef
-                                                                                }, 'Parse::RecDescent::Production' )
-                                                                       ],
-                                                            'name' => 'conflict_clause',
-                                                            'vars' => '',
-                                                            'line' => 250
-                                                          }, 'Parse::RecDescent::Rule' ),
-                              'trigger_action' => bless( {
-                                                           'impcount' => 0,
-                                                           'calls' => [
-                                                                        'for_each',
-                                                                        'when',
-                                                                        'BEGIN_C',
-                                                                        'trigger_step',
-                                                                        'END_C'
-                                                                      ],
-                                                           'changed' => 0,
-                                                           'opcount' => 0,
-                                                           'prods' => [
-                                                                        bless( {
-                                                                                 'number' => '0',
-                                                                                 'strcount' => 0,
-                                                                                 'dircount' => 0,
-                                                                                 'uncommit' => undef,
-                                                                                 'error' => undef,
-                                                                                 'patcount' => 0,
-                                                                                 'actcount' => 1,
-                                                                                 'items' => [
-                                                                                              bless( {
-                                                                                                       'subrule' => 'for_each',
-                                                                                                       'expected' => undef,
-                                                                                                       'min' => 0,
-                                                                                                       'argcode' => undef,
-                                                                                                       'max' => 1,
-                                                                                                       'matchrule' => 0,
-                                                                                                       'repspec' => '?',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 301
-                                                                                                     }, 'Parse::RecDescent::Repetition' ),
-                                                                                              bless( {
-                                                                                                       'subrule' => 'when',
-                                                                                                       'expected' => undef,
-                                                                                                       'min' => 0,
-                                                                                                       'argcode' => undef,
-                                                                                                       'max' => 1,
-                                                                                                       'matchrule' => 0,
-                                                                                                       'repspec' => '?',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 301
-                                                                                                     }, 'Parse::RecDescent::Repetition' ),
-                                                                                              bless( {
-                                                                                                       'subrule' => 'BEGIN_C',
-                                                                                                       'matchrule' => 0,
-                                                                                                       'implicit' => undef,
-                                                                                                       'argcode' => undef,
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 301
-                                                                                                     }, 'Parse::RecDescent::Subrule' ),
-                                                                                              bless( {
-                                                                                                       'subrule' => 'trigger_step',
-                                                                                                       'expected' => undef,
-                                                                                                       'min' => 1,
-                                                                                                       'argcode' => undef,
-                                                                                                       'max' => 100000000,
-                                                                                                       'matchrule' => 0,
-                                                                                                       'repspec' => 's',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 301
-                                                                                                     }, 'Parse::RecDescent::Repetition' ),
-                                                                                              bless( {
-                                                                                                       'subrule' => 'END_C',
-                                                                                                       'matchrule' => 0,
-                                                                                                       'implicit' => undef,
-                                                                                                       'argcode' => undef,
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 301
-                                                                                                     }, 'Parse::RecDescent::Subrule' ),
-                                                                                              bless( {
-                                                                                                       'hashname' => '__ACTION1__',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 302,
-                                                                                                       'code' => '{
-        $return = {
-            for_each => $item[1][0],
-            when     => $item[2][0],
-            steps    => $item[4],
-        }
-    }'
-                                                                                                     }, 'Parse::RecDescent::Action' )
-                                                                                            ],
-                                                                                 'line' => undef
-                                                                               }, 'Parse::RecDescent::Production' )
-                                                                      ],
-                                                           'name' => 'trigger_action',
-                                                           'vars' => '',
-                                                           'line' => 301
-                                                         }, 'Parse::RecDescent::Rule' ),
-                              'nonstring' => 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' => '[^;\\\'"]+',
-                                                                                                  'hashname' => '__PATTERN1__',
-                                                                                                  'description' => '/[^;\\\\\'"]+/',
-                                                                                                  'lookahead' => 0,
-                                                                                                  'rdelim' => '/',
-                                                                                                  'line' => 317,
-                                                                                                  'mod' => '',
-                                                                                                  'ldelim' => '/'
-                                                                                                }, 'Parse::RecDescent::Token' )
-                                                                                       ],
-                                                                            'line' => undef
-                                                                          }, 'Parse::RecDescent::Production' )
-                                                                 ],
-                                                      'name' => 'nonstring',
-                                                      'vars' => '',
-                                                      'line' => 317
-                                                    }, 'Parse::RecDescent::Rule' ),
-                              'column_list' => bless( {
-                                                        'impcount' => 0,
-                                                        'calls' => [
-                                                                     'field_name'
-                                                                   ],
-                                                        '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: field_name /,/ field_name>',
-                                                                                                    'min' => 1,
-                                                                                                    'name' => '\'field_name(s)\'',
-                                                                                                    'max' => 100000000,
-                                                                                                    'leftarg' => bless( {
-                                                                                                                          'subrule' => 'field_name',
-                                                                                                                          'matchrule' => 0,
-                                                                                                                          'implicit' => undef,
-                                                                                                                          'argcode' => undef,
-                                                                                                                          'lookahead' => 0,
-                                                                                                                          'line' => 257
-                                                                                                                        }, 'Parse::RecDescent::Subrule' ),
-                                                                                                    'rightarg' => bless( {
-                                                                                                                           'subrule' => 'field_name',
-                                                                                                                           'matchrule' => 0,
-                                                                                                                           'implicit' => undef,
-                                                                                                                           'argcode' => undef,
-                                                                                                                           'lookahead' => 0,
-                                                                                                                           'line' => 257
-                                                                                                                         }, 'Parse::RecDescent::Subrule' ),
-                                                                                                    'hashname' => '__DIRECTIVE1__',
-                                                                                                    'type' => 'leftop',
-                                                                                                    'op' => bless( {
-                                                                                                                     'pattern' => ',',
-                                                                                                                     'hashname' => '__PATTERN1__',
-                                                                                                                     'description' => '/,/',
-                                                                                                                     'lookahead' => 0,
-                                                                                                                     'rdelim' => '/',
-                                                                                                                     'line' => 257,
-                                                                                                                     'mod' => '',
-                                                                                                                     'ldelim' => '/'
-                                                                                                                   }, 'Parse::RecDescent::Token' )
-                                                                                                  }, 'Parse::RecDescent::Operator' )
-                                                                                         ],
-                                                                              'line' => undef
-                                                                            }, 'Parse::RecDescent::Production' )
-                                                                   ],
-                                                        'name' => 'column_list',
-                                                        'vars' => '',
-                                                        'line' => 257
-                                                      }, 'Parse::RecDescent::Rule' ),
-                              'SEMICOLON' => 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' => 394
-                                                                                                }, 'Parse::RecDescent::Literal' )
-                                                                                       ],
-                                                                            'line' => undef
-                                                                          }, 'Parse::RecDescent::Production' )
-                                                                 ],
-                                                      'name' => 'SEMICOLON',
-                                                      'vars' => '',
-                                                      'line' => 394
-                                                    }, 'Parse::RecDescent::Rule' ),
-                              'create' => bless( {
-                                                   'impcount' => 0,
-                                                   'calls' => [
-                                                                'CREATE',
-                                                                'TEMPORARY',
-                                                                'UNIQUE',
-                                                                'INDEX',
-                                                                'WORD',
-                                                                'ON',
-                                                                'table_name',
-                                                                'parens_field_list',
-                                                                'conflict_clause',
-                                                                'SEMICOLON',
-                                                                'TABLE',
-                                                                'definition',
-                                                                'TRIGGER',
-                                                                'NAME',
-                                                                'before_or_after',
-                                                                'database_event',
-                                                                'trigger_action',
-                                                                'instead_of',
-                                                                'view_name',
-                                                                'VIEW',
-                                                                'AS',
-                                                                'select_statement'
-                                                              ],
-                                                   'changed' => 0,
-                                                   'opcount' => 0,
-                                                   'prods' => [
-                                                                bless( {
-                                                                         'number' => '0',
-                                                                         'strcount' => 0,
-                                                                         'dircount' => 0,
-                                                                         'uncommit' => undef,
-                                                                         'error' => undef,
-                                                                         'patcount' => 0,
-                                                                         'actcount' => 1,
-                                                                         'items' => [
-                                                                                      bless( {
-                                                                                               'subrule' => 'CREATE',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 76
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'TEMPORARY',
-                                                                                               'expected' => undef,
-                                                                                               'min' => 0,
-                                                                                               'argcode' => undef,
-                                                                                               'max' => 1,
-                                                                                               'matchrule' => 0,
-                                                                                               'repspec' => '?',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 76
-                                                                                             }, 'Parse::RecDescent::Repetition' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'UNIQUE',
-                                                                                               'expected' => undef,
-                                                                                               'min' => 0,
-                                                                                               'argcode' => undef,
-                                                                                               'max' => 1,
-                                                                                               'matchrule' => 0,
-                                                                                               'repspec' => '?',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 76
-                                                                                             }, 'Parse::RecDescent::Repetition' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'INDEX',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 76
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'WORD',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 76
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'ON',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 76
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'table_name',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 76
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'parens_field_list',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 76
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'conflict_clause',
-                                                                                               'expected' => undef,
-                                                                                               'min' => 0,
-                                                                                               'argcode' => undef,
-                                                                                               'max' => 1,
-                                                                                               'matchrule' => 0,
-                                                                                               'repspec' => '?',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 76
-                                                                                             }, 'Parse::RecDescent::Repetition' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'SEMICOLON',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 76
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'hashname' => '__ACTION1__',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 77,
-                                                                                               'code' => '{
-        my $db_name    = $item[7]->{\'db_name\'} || \'\';
-        my $table_name = $item[7]->{\'name\'};
-
-        my $index        =  { 
-            name         => $item[5],
-            columns       => $item[8],
-            on_conflict  => $item[9][0],
-            is_temporary => $item[2][0] ? 1 : 0,
-        };
-
-        my $is_unique = $item[3][0];
-
-        if ( $is_unique ) {
-            $index->{\'type\'} = \'unique\';
-            push @{ $tables{ $table_name }{\'constraints\'} }, $index;
-        }
-        else {
-            push @{ $tables{ $table_name }{\'indices\'} }, $index;
-        }
-    }'
-                                                                                             }, 'Parse::RecDescent::Action' )
-                                                                                    ],
-                                                                         'line' => undef
-                                                                       }, 'Parse::RecDescent::Production' ),
-                                                                bless( {
-                                                                         'number' => '1',
-                                                                         'strcount' => 2,
-                                                                         'dircount' => 1,
-                                                                         'uncommit' => undef,
-                                                                         'error' => undef,
-                                                                         'patcount' => 1,
-                                                                         'actcount' => 1,
-                                                                         'op' => [],
-                                                                         'items' => [
-                                                                                      bless( {
-                                                                                               'subrule' => 'CREATE',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 102
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'TEMPORARY',
-                                                                                               'expected' => undef,
-                                                                                               'min' => 0,
-                                                                                               'argcode' => undef,
-                                                                                               'max' => 1,
-                                                                                               'matchrule' => 0,
-                                                                                               'repspec' => '?',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 102
-                                                                                             }, 'Parse::RecDescent::Repetition' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'TABLE',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 102
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'table_name',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 102
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'pattern' => '(',
-                                                                                               'hashname' => '__STRING1__',
-                                                                                               'description' => '\'(\'',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 102
-                                                                                             }, 'Parse::RecDescent::Literal' ),
-                                                                                      bless( {
-                                                                                               'expected' => '<leftop: definition /,/ definition>',
-                                                                                               'min' => 1,
-                                                                                               'name' => '\'definition(s)\'',
-                                                                                               'max' => 100000000,
-                                                                                               'leftarg' => bless( {
-                                                                                                                     'subrule' => 'definition',
-                                                                                                                     'matchrule' => 0,
-                                                                                                                     'implicit' => undef,
-                                                                                                                     'argcode' => undef,
-                                                                                                                     'lookahead' => 0,
-                                                                                                                     'line' => 102
-                                                                                                                   }, 'Parse::RecDescent::Subrule' ),
-                                                                                               'rightarg' => bless( {
-                                                                                                                      'subrule' => 'definition',
-                                                                                                                      'matchrule' => 0,
-                                                                                                                      'implicit' => undef,
-                                                                                                                      'argcode' => undef,
-                                                                                                                      'lookahead' => 0,
-                                                                                                                      'line' => 102
-                                                                                                                    }, 'Parse::RecDescent::Subrule' ),
-                                                                                               'hashname' => '__DIRECTIVE1__',
-                                                                                               'type' => 'leftop',
-                                                                                               'op' => bless( {
-                                                                                                                'pattern' => ',',
-                                                                                                                'hashname' => '__PATTERN1__',
-                                                                                                                'description' => '/,/',
-                                                                                                                'lookahead' => 0,
-                                                                                                                'rdelim' => '/',
-                                                                                                                'line' => 102,
-                                                                                                                'mod' => '',
-                                                                                                                'ldelim' => '/'
-                                                                                                              }, 'Parse::RecDescent::Token' )
-                                                                                             }, 'Parse::RecDescent::Operator' ),
-                                                                                      bless( {
-                                                                                               'pattern' => ')',
-                                                                                               'hashname' => '__STRING2__',
-                                                                                               'description' => '\')\'',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 102
-                                                                                             }, 'Parse::RecDescent::Literal' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'SEMICOLON',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 102
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'hashname' => '__ACTION1__',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 103,
-                                                                                               'code' => '{
-        my $db_name    = $item[4]->{\'db_name\'} || \'\';
-        my $table_name = $item[4]->{\'name\'};
-
-        $tables{ $table_name }{\'name\'}         = $table_name;
-        $tables{ $table_name }{\'is_temporary\'} = $item[2][0] ? 1 : 0;
-        $tables{ $table_name }{\'order\'}        = ++$table_order;
-
-        for my $def ( @{ $item[6] } ) {
-            if ( $def->{\'supertype\'} eq \'column\' ) {
-                push @{ $tables{ $table_name }{\'columns\'} }, $def;
-            }
-            elsif ( $def->{\'supertype\'} eq \'constraint\' ) {
-                push @{ $tables{ $table_name }{\'constraints\'} }, $def;
-            }
-        }
-    }'
-                                                                                             }, 'Parse::RecDescent::Action' )
-                                                                                    ],
-                                                                         'line' => undef
-                                                                       }, 'Parse::RecDescent::Production' ),
-                                                                bless( {
-                                                                         'number' => '2',
-                                                                         'strcount' => 0,
-                                                                         'dircount' => 0,
-                                                                         'uncommit' => undef,
-                                                                         'error' => undef,
-                                                                         'patcount' => 0,
-                                                                         'actcount' => 1,
-                                                                         'items' => [
-                                                                                      bless( {
-                                                                                               'subrule' => 'CREATE',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 269
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'TEMPORARY',
-                                                                                               'expected' => undef,
-                                                                                               'min' => 0,
-                                                                                               'argcode' => undef,
-                                                                                               'max' => 1,
-                                                                                               'matchrule' => 0,
-                                                                                               'repspec' => '?',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 269
-                                                                                             }, 'Parse::RecDescent::Repetition' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'TRIGGER',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 269
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'NAME',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 269
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'before_or_after',
-                                                                                               'expected' => undef,
-                                                                                               'min' => 0,
-                                                                                               'argcode' => undef,
-                                                                                               'max' => 1,
-                                                                                               'matchrule' => 0,
-                                                                                               'repspec' => '?',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 269
-                                                                                             }, 'Parse::RecDescent::Repetition' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'database_event',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 269
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'ON',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 269
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'table_name',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 269
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'trigger_action',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 269
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'SEMICOLON',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 269
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'hashname' => '__ACTION1__',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 270,
-                                                                                               'code' => '{
-        my $table_name = $item[8]->{\'name\'};
-        push @triggers, {
-            name         => $item[4],
-            is_temporary => $item[2][0] ? 1 : 0,
-            when         => $item[5][0],
-            instead_of   => 0,
-            db_events    => [ $item[6] ],
-            action       => $item[9],
-            on_table     => $table_name,
-        }
-    }'
-                                                                                             }, 'Parse::RecDescent::Action' )
-                                                                                    ],
-                                                                         'line' => undef
-                                                                       }, 'Parse::RecDescent::Production' ),
-                                                                bless( {
-                                                                         'number' => '3',
-                                                                         'strcount' => 0,
-                                                                         'dircount' => 0,
-                                                                         'uncommit' => undef,
-                                                                         'error' => undef,
-                                                                         'patcount' => 0,
-                                                                         'actcount' => 1,
-                                                                         'items' => [
-                                                                                      bless( {
-                                                                                               'subrule' => 'CREATE',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 283
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'TEMPORARY',
-                                                                                               'expected' => undef,
-                                                                                               'min' => 0,
-                                                                                               'argcode' => undef,
-                                                                                               'max' => 1,
-                                                                                               'matchrule' => 0,
-                                                                                               'repspec' => '?',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 283
-                                                                                             }, 'Parse::RecDescent::Repetition' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'TRIGGER',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 283
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'NAME',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 283
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'instead_of',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 283
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'database_event',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 283
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'ON',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 283
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'view_name',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 283
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'trigger_action',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 283
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'hashname' => '__ACTION1__',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 284,
-                                                                                               'code' => '{
-        my $table_name = $item[8]->{\'name\'};
-        push @triggers, {
-            name         => $item[4],
-            is_temporary => $item[2][0] ? 1 : 0,
-            when         => undef,
-            instead_of   => 1,
-            db_events    => [ $item[6] ],
-            action       => $item[9],
-            on_table     => $table_name,
-        }
-    }'
-                                                                                             }, 'Parse::RecDescent::Action' )
-                                                                                    ],
-                                                                         'line' => undef
-                                                                       }, 'Parse::RecDescent::Production' ),
-                                                                bless( {
-                                                                         'number' => '4',
-                                                                         'strcount' => 0,
-                                                                         'dircount' => 0,
-                                                                         'uncommit' => undef,
-                                                                         'error' => undef,
-                                                                         'patcount' => 0,
-                                                                         'actcount' => 1,
-                                                                         'items' => [
-                                                                                      bless( {
-                                                                                               'subrule' => 'CREATE',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 339
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'TEMPORARY',
-                                                                                               'expected' => undef,
-                                                                                               'min' => 0,
-                                                                                               'argcode' => undef,
-                                                                                               'max' => 1,
-                                                                                               'matchrule' => 0,
-                                                                                               'repspec' => '?',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 339
-                                                                                             }, 'Parse::RecDescent::Repetition' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'VIEW',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 339
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'view_name',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 339
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'AS',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 339
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'subrule' => 'select_statement',
-                                                                                               'matchrule' => 0,
-                                                                                               'implicit' => undef,
-                                                                                               'argcode' => undef,
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 339
-                                                                                             }, 'Parse::RecDescent::Subrule' ),
-                                                                                      bless( {
-                                                                                               'hashname' => '__ACTION1__',
-                                                                                               'lookahead' => 0,
-                                                                                               'line' => 340,
-                                                                                               'code' => '{
-        push @views, {
-            name         => $item[4]->{\'name\'},
-            sql          => $item[6], 
-            is_temporary => $item[2][0] ? 1 : 0,
-        }
-    }'
-                                                                                             }, 'Parse::RecDescent::Action' )
-                                                                                    ],
-                                                                         'line' => undef
-                                                                       }, 'Parse::RecDescent::Production' )
-                                                              ],
-                                                   'name' => 'create',
-                                                   'vars' => '',
-                                                   'line' => 75
-                                                 }, 'Parse::RecDescent::Rule' ),
-                              'when' => bless( {
-                                                 'impcount' => 0,
-                                                 'calls' => [
-                                                              'WHEN',
-                                                              'expr'
-                                                            ],
-                                                 'changed' => 0,
-                                                 'opcount' => 0,
-                                                 'prods' => [
-                                                              bless( {
-                                                                       'number' => '0',
-                                                                       'strcount' => 0,
-                                                                       'dircount' => 0,
-                                                                       'uncommit' => undef,
-                                                                       'error' => undef,
-                                                                       'patcount' => 0,
-                                                                       'actcount' => 1,
-                                                                       'items' => [
-                                                                                    bless( {
-                                                                                             'subrule' => 'WHEN',
-                                                                                             'matchrule' => 0,
-                                                                                             'implicit' => undef,
-                                                                                             'argcode' => undef,
-                                                                                             'lookahead' => 0,
-                                                                                             'line' => 312
-                                                                                           }, 'Parse::RecDescent::Subrule' ),
-                                                                                    bless( {
-                                                                                             'subrule' => 'expr',
-                                                                                             'matchrule' => 0,
-                                                                                             'implicit' => undef,
-                                                                                             'argcode' => undef,
-                                                                                             'lookahead' => 0,
-                                                                                             'line' => 312
-                                                                                           }, 'Parse::RecDescent::Subrule' ),
-                                                                                    bless( {
-                                                                                             'hashname' => '__ACTION1__',
-                                                                                             'lookahead' => 0,
-                                                                                             'line' => 312,
-                                                                                             'code' => '{ $item[2] }'
-                                                                                           }, 'Parse::RecDescent::Action' )
-                                                                                  ],
-                                                                       'line' => undef
-                                                                     }, 'Parse::RecDescent::Production' )
-                                                            ],
-                                                 'name' => 'when',
-                                                 'vars' => '',
-                                                 'line' => 312
-                                               }, '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' => 1,
-                                                                       'items' => [
-                                                                                    bless( {
-                                                                                             'pattern' => '\'?(\\w+)\'?',
-                                                                                             'hashname' => '__PATTERN1__',
-                                                                                             'description' => '/\'?(\\\\w+)\'?/',
-                                                                                             'lookahead' => 0,
-                                                                                             'rdelim' => '/',
-                                                                                             'line' => 396,
-                                                                                             'mod' => '',
-                                                                                             'ldelim' => '/'
-                                                                                           }, 'Parse::RecDescent::Token' ),
-                                                                                    bless( {
-                                                                                             'hashname' => '__ACTION1__',
-                                                                                             'lookahead' => 0,
-                                                                                             'line' => 396,
-                                                                                             'code' => '{ $return = $1 }'
-                                                                                           }, 'Parse::RecDescent::Action' )
-                                                                                  ],
-                                                                       'line' => undef
-                                                                     }, 'Parse::RecDescent::Production' )
-                                                            ],
-                                                 'name' => 'NAME',
-                                                 'vars' => '',
-                                                 'line' => 396
-                                               }, 'Parse::RecDescent::Rule' ),
-                              'ON' => 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' => 'on',
-                                                                                           'hashname' => '__PATTERN1__',
-                                                                                           'description' => '/on/i',
-                                                                                           'lookahead' => 0,
-                                                                                           'rdelim' => '/',
-                                                                                           'line' => 384,
-                                                                                           'mod' => 'i',
-                                                                                           'ldelim' => '/'
-                                                                                         }, 'Parse::RecDescent::Token' )
-                                                                                ],
-                                                                     'line' => undef
-                                                                   }, 'Parse::RecDescent::Production' )
-                                                          ],
-                                               'name' => 'ON',
-                                               'vars' => '',
-                                               'line' => 384
-                                             }, 'Parse::RecDescent::Rule' ),
-                              'DEFAULT' => 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' => 'default',
-                                                                                                'hashname' => '__PATTERN1__',
-                                                                                                'description' => '/default/i',
-                                                                                                'lookahead' => 0,
-                                                                                                'rdelim' => '/',
-                                                                                                'line' => 376,
-                                                                                                'mod' => 'i',
-                                                                                                'ldelim' => '/'
-                                                                                              }, 'Parse::RecDescent::Token' )
-                                                                                     ],
-                                                                          'line' => undef
-                                                                        }, 'Parse::RecDescent::Production' )
-                                                               ],
-                                                    'name' => 'DEFAULT',
-                                                    'vars' => '',
-                                                    'line' => 376
-                                                  }, 'Parse::RecDescent::Rule' ),
-                              'begin_transaction' => bless( {
-                                                              'impcount' => 0,
-                                                              'calls' => [
-                                                                           'TRANSACTION',
-                                                                           'SEMICOLON'
-                                                                         ],
-                                                              'changed' => 0,
-                                                              'opcount' => 0,
-                                                              'prods' => [
-                                                                           bless( {
-                                                                                    'number' => '0',
-                                                                                    'strcount' => 0,
-                                                                                    'dircount' => 0,
-                                                                                    'uncommit' => undef,
-                                                                                    'error' => undef,
-                                                                                    'patcount' => 1,
-                                                                                    'actcount' => 0,
-                                                                                    'items' => [
-                                                                                                 bless( {
-                                                                                                          'pattern' => 'begin',
-                                                                                                          'hashname' => '__PATTERN1__',
-                                                                                                          'description' => '/begin/i',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'rdelim' => '/',
-                                                                                                          'line' => 46,
-                                                                                                          'mod' => 'i',
-                                                                                                          'ldelim' => '/'
-                                                                                                        }, 'Parse::RecDescent::Token' ),
-                                                                                                 bless( {
-                                                                                                          'subrule' => 'TRANSACTION',
-                                                                                                          'expected' => undef,
-                                                                                                          'min' => 0,
-                                                                                                          'argcode' => undef,
-                                                                                                          'max' => 1,
-                                                                                                          'matchrule' => 0,
-                                                                                                          'repspec' => '?',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 46
-                                                                                                        }, 'Parse::RecDescent::Repetition' ),
-                                                                                                 bless( {
-                                                                                                          'subrule' => 'SEMICOLON',
-                                                                                                          'matchrule' => 0,
-                                                                                                          'implicit' => undef,
-                                                                                                          'argcode' => undef,
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 46
-                                                                                                        }, 'Parse::RecDescent::Subrule' )
-                                                                                               ],
-                                                                                    'line' => undef
-                                                                                  }, 'Parse::RecDescent::Production' )
-                                                                         ],
-                                                              'name' => 'begin_transaction',
-                                                              'vars' => '',
-                                                              'line' => 46
-                                                            }, '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' => 378,
-                                                                                                'mod' => 'i',
-                                                                                                'ldelim' => '/'
-                                                                                              }, 'Parse::RecDescent::Token' )
-                                                                                     ],
-                                                                          'line' => undef
-                                                                        }, 'Parse::RecDescent::Production' )
-                                                               ],
-                                                    'name' => 'TRIGGER',
-                                                    'vars' => '',
-                                                    'line' => 378
-                                                  }, 'Parse::RecDescent::Rule' ),
-                              'select_statement' => bless( {
-                                                             'impcount' => 0,
-                                                             'calls' => [
-                                                                          'SELECT',
-                                                                          'SEMICOLON'
-                                                                        ],
-                                                             'changed' => 0,
-                                                             'opcount' => 0,
-                                                             'prods' => [
-                                                                          bless( {
-                                                                                   'number' => '0',
-                                                                                   'strcount' => 0,
-                                                                                   'dircount' => 0,
-                                                                                   'uncommit' => undef,
-                                                                                   'error' => undef,
-                                                                                   'patcount' => 1,
-                                                                                   'actcount' => 1,
-                                                                                   'items' => [
-                                                                                                bless( {
-                                                                                                         'subrule' => 'SELECT',
-                                                                                                         'matchrule' => 0,
-                                                                                                         'implicit' => undef,
-                                                                                                         'argcode' => undef,
-                                                                                                         'lookahead' => 0,
-                                                                                                         'line' => 348
-                                                                                                       }, 'Parse::RecDescent::Subrule' ),
-                                                                                                bless( {
-                                                                                                         'pattern' => '[^;]+',
-                                                                                                         'hashname' => '__PATTERN1__',
-                                                                                                         'description' => '/[^;]+/',
-                                                                                                         'lookahead' => 0,
-                                                                                                         'rdelim' => '/',
-                                                                                                         'line' => 348,
-                                                                                                         'mod' => '',
-                                                                                                         'ldelim' => '/'
-                                                                                                       }, 'Parse::RecDescent::Token' ),
-                                                                                                bless( {
-                                                                                                         'subrule' => 'SEMICOLON',
-                                                                                                         'matchrule' => 0,
-                                                                                                         'implicit' => undef,
-                                                                                                         'argcode' => undef,
-                                                                                                         'lookahead' => 0,
-                                                                                                         'line' => 348
-                                                                                                       }, 'Parse::RecDescent::Subrule' ),
-                                                                                                bless( {
-                                                                                                         'hashname' => '__ACTION1__',
-                                                                                                         'lookahead' => 0,
-                                                                                                         'line' => 349,
-                                                                                                         'code' => '{
-        $return = join( \' \', $item[1], $item[2] );
-    }'
-                                                                                                       }, 'Parse::RecDescent::Action' )
-                                                                                              ],
-                                                                                   'line' => undef
-                                                                                 }, 'Parse::RecDescent::Production' )
-                                                                        ],
-                                                             'name' => 'select_statement',
-                                                             'vars' => '',
-                                                             'line' => 348
-                                                           }, 'Parse::RecDescent::Rule' ),
-                              'if_exists' => 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' => 'if exists',
-                                                                                                  'hashname' => '__PATTERN1__',
-                                                                                                  'description' => '/if exists/i',
-                                                                                                  'lookahead' => 0,
-                                                                                                  'rdelim' => '/',
-                                                                                                  'line' => 330,
-                                                                                                  'mod' => 'i',
-                                                                                                  'ldelim' => '/'
-                                                                                                }, 'Parse::RecDescent::Token' )
-                                                                                       ],
-                                                                            'line' => undef
-                                                                          }, 'Parse::RecDescent::Production' )
-                                                                 ],
-                                                      'name' => 'if_exists',
-                                                      'vars' => '',
-                                                      'line' => 330
-                                                    }, 'Parse::RecDescent::Rule' ),
-                              'PRIMARY_KEY' => 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' => 'primary key',
-                                                                                                    'hashname' => '__PATTERN1__',
-                                                                                                    'description' => '/primary key/i',
-                                                                                                    'lookahead' => 0,
-                                                                                                    'rdelim' => '/',
-                                                                                                    'line' => 372,
-                                                                                                    'mod' => 'i',
-                                                                                                    'ldelim' => '/'
-                                                                                                  }, 'Parse::RecDescent::Token' )
-                                                                                         ],
-                                                                              'line' => undef
-                                                                            }, 'Parse::RecDescent::Production' )
-                                                                   ],
-                                                        'name' => 'PRIMARY_KEY',
-                                                        'vars' => '',
-                                                        'line' => 372
-                                                      }, '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' => 362,
-                                                                                               'mod' => 'i',
-                                                                                               'ldelim' => '/'
-                                                                                             }, 'Parse::RecDescent::Token' )
-                                                                                    ],
-                                                                         'line' => undef
-                                                                       }, 'Parse::RecDescent::Production' )
-                                                              ],
-                                                   'name' => 'CREATE',
-                                                   'vars' => '',
-                                                   'line' => 362
-                                                 }, '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' => 58,
-                                                                                                'mod' => '',
-                                                                                                'ldelim' => '/'
-                                                                                              }, 'Parse::RecDescent::Token' ),
-                                                                                       bless( {
-                                                                                                'hashname' => '__ACTION1__',
-                                                                                                'lookahead' => 0,
-                                                                                                'line' => 59,
-                                                                                                'code' => '{
-        my $comment =  $item[1];
-        $comment    =~ s/^\\s*(#|-{2})\\s*//;
-        $comment    =~ s/\\s*$//;
-        $return     = $comment;
-    }'
-                                                                                              }, 'Parse::RecDescent::Action' )
-                                                                                     ],
-                                                                          'line' => undef
-                                                                        }, 'Parse::RecDescent::Production' ),
-                                                                 bless( {
-                                                                          'number' => '1',
-                                                                          'strcount' => 0,
-                                                                          'dircount' => 0,
-                                                                          'uncommit' => undef,
-                                                                          'error' => undef,
-                                                                          'patcount' => 3,
-                                                                          'actcount' => 1,
-                                                                          'items' => [
-                                                                                       bless( {
-                                                                                                'pattern' => '\\/\\*',
-                                                                                                'hashname' => '__PATTERN1__',
-                                                                                                'description' => '/\\\\/\\\\*/',
-                                                                                                'lookahead' => 0,
-                                                                                                'rdelim' => '/',
-                                                                                                'line' => 66,
-                                                                                                'mod' => '',
-                                                                                                'ldelim' => '/'
-                                                                                              }, 'Parse::RecDescent::Token' ),
-                                                                                       bless( {
-                                                                                                'pattern' => '[^\\*]+',
-                                                                                                'hashname' => '__PATTERN2__',
-                                                                                                'description' => '/[^\\\\*]+/',
-                                                                                                'lookahead' => 0,
-                                                                                                'rdelim' => '/',
-                                                                                                'line' => 66,
-                                                                                                'mod' => '',
-                                                                                                'ldelim' => '/'
-                                                                                              }, 'Parse::RecDescent::Token' ),
-                                                                                       bless( {
-                                                                                                'pattern' => '\\*\\/',
-                                                                                                'hashname' => '__PATTERN3__',
-                                                                                                'description' => '/\\\\*\\\\//',
-                                                                                                'lookahead' => 0,
-                                                                                                'rdelim' => '/',
-                                                                                                'line' => 66,
-                                                                                                'mod' => '',
-                                                                                                'ldelim' => '/'
-                                                                                              }, 'Parse::RecDescent::Token' ),
-                                                                                       bless( {
-                                                                                                'hashname' => '__ACTION1__',
-                                                                                                'lookahead' => 0,
-                                                                                                'line' => 67,
-                                                                                                'code' => '{
-        my $comment = $item[2];
-        $comment    =~ s/^\\s*|\\s*$//g;
-        $return = $comment;
-    }'
-                                                                                              }, 'Parse::RecDescent::Action' )
-                                                                                     ],
-                                                                          'line' => undef
-                                                                        }, 'Parse::RecDescent::Production' )
-                                                               ],
-                                                    'name' => 'comment',
-                                                    'vars' => '',
-                                                    'line' => 58
-                                                  }, 'Parse::RecDescent::Rule' ),
-                              'BEGIN_C' => 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' => 'begin',
-                                                                                                'hashname' => '__PATTERN1__',
-                                                                                                'description' => '/begin/i',
-                                                                                                'lookahead' => 0,
-                                                                                                'rdelim' => '/',
-                                                                                                'line' => 356,
-                                                                                                'mod' => 'i',
-                                                                                                'ldelim' => '/'
-                                                                                              }, 'Parse::RecDescent::Token' )
-                                                                                     ],
-                                                                          'line' => undef
-                                                                        }, 'Parse::RecDescent::Production' )
-                                                               ],
-                                                    'name' => 'BEGIN_C',
-                                                    'vars' => '',
-                                                    'line' => 355
-                                                  }, 'Parse::RecDescent::Rule' ),
-                              'qualified_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' => 242
-                                                                                                     }, 'Parse::RecDescent::Subrule' ),
-                                                                                              bless( {
-                                                                                                       'hashname' => '__ACTION1__',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 243,
-                                                                                                       'code' => '{ $return = { name => $item[1] } }'
-                                                                                                     }, 'Parse::RecDescent::Action' )
-                                                                                            ],
-                                                                                 'line' => undef
-                                                                               }, 'Parse::RecDescent::Production' ),
-                                                                        bless( {
-                                                                                 'number' => '1',
-                                                                                 'strcount' => 0,
-                                                                                 'dircount' => 0,
-                                                                                 'uncommit' => undef,
-                                                                                 'error' => undef,
-                                                                                 'patcount' => 1,
-                                                                                 'actcount' => 1,
-                                                                                 'items' => [
-                                                                                              bless( {
-                                                                                                       'pattern' => '(\\w+)\\.(\\w+)',
-                                                                                                       'hashname' => '__PATTERN1__',
-                                                                                                       'description' => '/(\\\\w+)\\\\.(\\\\w+)/',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'rdelim' => '/',
-                                                                                                       'line' => 245,
-                                                                                                       'mod' => '',
-                                                                                                       'ldelim' => '/'
-                                                                                                     }, 'Parse::RecDescent::Token' ),
-                                                                                              bless( {
-                                                                                                       'hashname' => '__ACTION1__',
-                                                                                                       'lookahead' => 0,
-                                                                                                       'line' => 246,
-                                                                                                       'code' => '{ $return = { db_name => $1, name => $2 } }'
-                                                                                                     }, 'Parse::RecDescent::Action' )
-                                                                                            ],
-                                                                                 'line' => undef
-                                                                               }, 'Parse::RecDescent::Production' )
-                                                                      ],
-                                                           'name' => 'qualified_name',
-                                                           'vars' => '',
-                                                           'line' => 242
-                                                         }, 'Parse::RecDescent::Rule' ),
-                              'parens_field_list' => bless( {
-                                                              'impcount' => 0,
-                                                              'calls' => [
-                                                                           'column_list'
-                                                                         ],
-                                                              'changed' => 0,
-                                                              'opcount' => 0,
-                                                              'prods' => [
-                                                                           bless( {
-                                                                                    'number' => '0',
-                                                                                    'strcount' => 2,
-                                                                                    'dircount' => 0,
-                                                                                    'uncommit' => undef,
-                                                                                    'error' => undef,
-                                                                                    'patcount' => 0,
-                                                                                    'actcount' => 1,
-                                                                                    'items' => [
-                                                                                                 bless( {
-                                                                                                          'pattern' => '(',
-                                                                                                          'hashname' => '__STRING1__',
-                                                                                                          'description' => '\'(\'',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 254
-                                                                                                        }, 'Parse::RecDescent::Literal' ),
-                                                                                                 bless( {
-                                                                                                          'subrule' => 'column_list',
-                                                                                                          'matchrule' => 0,
-                                                                                                          'implicit' => undef,
-                                                                                                          'argcode' => undef,
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 254
-                                                                                                        }, 'Parse::RecDescent::Subrule' ),
-                                                                                                 bless( {
-                                                                                                          'pattern' => ')',
-                                                                                                          'hashname' => '__STRING2__',
-                                                                                                          'description' => '\')\'',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 254
-                                                                                                        }, 'Parse::RecDescent::Literal' ),
-                                                                                                 bless( {
-                                                                                                          'hashname' => '__ACTION1__',
-                                                                                                          'lookahead' => 0,
-                                                                                                          'line' => 255,
-                                                                                                          'code' => '{ $item[2] }'
-                                                                                                        }, 'Parse::RecDescent::Action' )
-                                                                                               ],
-                                                                                    'line' => undef
-                                                                                  }, 'Parse::RecDescent::Production' )
-                                                                         ],
-                                                              'name' => 'parens_field_list',
-                                                              'vars' => '',
-                                                              'line' => 254
-                                                            }, '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' => 380,
-                                                                                             'mod' => 'i',
-                                                                                             'ldelim' => '/'
-                                                                                           }, 'Parse::RecDescent::Token' )
-                                                                                  ],
-                                                                       'line' => undef
-                                                                     }, 'Parse::RecDescent::Production' )
-                                                            ],
-                                                 'name' => 'VIEW',
-                                                 'vars' => '',
-                                                 'line' => 380
-                                               }, 'Parse::RecDescent::Rule' )
-                            }
-               }, 'Parse::RecDescent' );
-}
-
-=head1 AUTHOR
-
-Ken Y. Clark E<lt>kclark@cpan.orgE<gt>.
-