X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FParser%2FSQLite.pm;h=d03bc612571c25307cf884107a707cf10b616922;hb=da2f599235eeacb8336fda55e160402ad03db4fb;hp=0ffc47280d8d01892c8950db04de1d1b7c324c87;hpb=100684f30c51373737c7f4792a6c0bc465e559a6;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator/Parser/SQLite.pm b/lib/SQL/Translator/Parser/SQLite.pm index 0ffc472..d03bc61 100644 --- a/lib/SQL/Translator/Parser/SQLite.pm +++ b/lib/SQL/Translator/Parser/SQLite.pm @@ -1,7 +1,7 @@ package SQL::Translator::Parser::SQLite; # ------------------------------------------------------------------- -# $Id: SQLite.pm,v 1.7 2005-06-28 16:39:41 mwz444 Exp $ +# $Id: SQLite.pm,v 1.9 2006-06-08 21:02:19 schiffbruechige Exp $ # ------------------------------------------------------------------- # Copyright (C) 2002-4 SQLFairy Authors # @@ -152,7 +152,7 @@ like-op::= use strict; use vars qw[ $DEBUG $VERSION $GRAMMAR @EXPORT_OK ]; -$VERSION = sprintf "%d.%02d", q$Revision: 1.7 $ =~ /(\d+)\.(\d+)/; +$VERSION = sprintf "%d.%02d", q$Revision: 1.9 $ =~ /(\d+)\.(\d+)/; $DEBUG = 0 unless defined $DEBUG; use Data::Dumper; @@ -191,6 +191,7 @@ eofile : /^\Z/ statement : begin_transaction | commit + | drop | comment | create | @@ -199,6 +200,8 @@ begin_transaction : /begin transaction/i SEMICOLON commit : /commit/i SEMICOLON +drop : /drop/i TABLE table_name SEMICOLON + comment : /^\s*(?:#|-{2}).*\n/ { my $comment = $item[1]; @@ -418,6 +421,7 @@ create : CREATE TEMPORARY(?) TRIGGER NAME before_or_after(?) database_event ON t instead_of => 0, db_event => $item[6], action => $item[9], + on_table => $table_name, } } @@ -431,6 +435,7 @@ create : CREATE TEMPORARY(?) TRIGGER NAME instead_of database_event ON view_name instead_of => 1, db_event => $item[6], action => $item[9], + on_table => $table_name, } } @@ -533,6 +538,8 @@ VALUE : /[-+]?\.?\d+(?:[eE]\d+)?/ } | /NULL/ { 'NULL' } + | /CURRENT_TIMESTAMP/i + { 'CURRENT_TIMESTAMP' } !; @@ -623,6 +630,7 @@ sub parse { perform_action_when => $def->{'when'}, database_event => $def->{'db_event'}, action => $def->{'action'}, + on_table => $def->{'on_table'}, ); }