SQL-Yapp
view release on metacpan or search on metacpan
lib/SQL/Yapp.pm view on Meta::CPAN
return $r;
}
sub parse_drop_table($)
{
my ($lx)= @_;
return unless
expect($lx, \@DROP_TABLE_INITIAL);
my $r= create($lx, ['Stmt','DropTable'],
qw(subtype if_exists table cascade));
$r->{subtype}= lexer_shift($lx);
if ($read_dialect{mysql} &&
looking_at($lx, 'IF EXISTS', SHIFT))
{
$r->{if_exists}= 1;
}
return unless
$r->{table}= parse_list([], $lx, \&parse_table, ',');
$r->{cascade}= looking_at($lx, ['RESTRICT','CASCADE'], SHIFT);
lock_hash %$r;
return $r;
}
sub parse_column_pos_perhaps($)
{
my ($lx)= @_;
return parse_choice($lx,
-default => sub {
lib/SQL/Yapp.pm view on Meta::CPAN
'DropTable' => sub {
str_append_funcall ($str, __PACKAGE__.'::Stmt->obj', $in_list);
str_append_join ($str, never_empty => 1);
str_append_str ($str, "$thing->{subtype} ");
if ($thing->{if_exists}) {
str_append_str ($str, 'IF EXISTS ');
}
str_append_list ($str, $thing->{table}, NO_PARENS);
if (my $x= $thing->{cascade}) {
str_append_str ($str, " $x");
}
str_append_end ($str);
str_append_end ($str);
},
'AlterTable' => sub {
str_append_funcall ($str, __PACKAGE__.'::Stmt->obj', $in_list);
str_append_join ($str, never_empty => 1);
str_append_str ($str, "$thing->{subtype} ");
( run in 0.557 second using v1.01-cache-2.11-cpan-49f99fa48dc )