aliasing ugly tablename_fieldname ref methods where possible (ie create them
[dbsrgits/SQL-Translator.git] / lib / SQL / Translator / Parser / PostgreSQL.pm
index 054aaf9..8d360d8 100644 (file)
@@ -1,7 +1,7 @@
 package SQL::Translator::Parser::PostgreSQL;
 
 # -------------------------------------------------------------------
-# $Id: PostgreSQL.pm,v 1.16 2003-06-09 02:41:31 kycl4rk Exp $
+# $Id: PostgreSQL.pm,v 1.20 2003-06-25 19:25:38 kycl4rk Exp $
 # -------------------------------------------------------------------
 # Copyright (C) 2003 Ken Y. Clark <kclark@cpan.org>,
 #                    Allen Day <allenday@users.sourceforge.net>,
@@ -111,7 +111,7 @@ View table:
 
 use strict;
 use vars qw[ $DEBUG $VERSION $GRAMMAR @EXPORT_OK ];
-$VERSION = sprintf "%d.%02d", q$Revision: 1.16 $ =~ /(\d+)\.(\d+)/;
+$VERSION = sprintf "%d.%02d", q$Revision: 1.20 $ =~ /(\d+)\.(\d+)/;
 $DEBUG   = 0 unless defined $DEBUG;
 
 use Data::Dumper;
@@ -149,7 +149,9 @@ statement : create
   | grant
   | revoke
   | drop
+  | insert
   | connect
+  | update
   | set
   | <error>
 
@@ -157,7 +159,7 @@ connect : /^\s*\\\connect.*\n/
 
 set : /SET/ /[^;]*/ ';'
 
-revoke : /revoke/i WORD(s /,/) /on/i table_name /from/i name_with_opt_quotes(s /,/) ';'
+revoke : /revoke/i WORD(s /,/) /on/i /table/i table_name /from/i name_with_opt_quotes(s /,/) ';'
     {
         my $table_name = $item{'table_name'};
         push @{ $tables{ $table_name }{'permissions'} }, {
@@ -167,7 +169,7 @@ revoke : /revoke/i WORD(s /,/) /on/i table_name /from/i name_with_opt_quotes(s /
         }
     }
 
-grant : /grant/i WORD(s /,/) /on/i table_name /to/i name_with_opt_quotes(s /,/) ';'
+grant : /grant/i WORD(s /,/) /on/i /table/i table_name /to/i name_with_opt_quotes(s /,/) ';'
     {
         my $table_name = $item{'table_name'};
         push @{ $tables{ $table_name }{'permissions'} }, {
@@ -179,6 +181,10 @@ grant : /grant/i WORD(s /,/) /on/i table_name /to/i name_with_opt_quotes(s /,/)
 
 drop : /drop/i /[^;]*/ ';'
 
+insert : /insert/i /[^;]*/ ';'
+
+update : /update/i /[^;]*/ ';'
+
 #
 # Create table.
 #
@@ -611,7 +617,7 @@ create_table : /create/i /table/i
 
 create_index : /create/i /index/i
 
-default_val  : /default/i /(?:')?[\w\d.-]*(?:')?/ 
+default_val  : /default/i /(?:')?[\w\d().-]*(?:')?/ 
     { 
         my $val =  $item[2] || '';
         $val    =~ s/'//g; 
@@ -747,7 +753,7 @@ sub parse {
         }
     }
 
-    return $result;
+    return 1;
 }
 
 1;