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>,
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;
| grant
| revoke
| drop
+ | insert
| connect
+ | update
| set
| <error>
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'} }, {
}
}
-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'} }, {
drop : /drop/i /[^;]*/ ';'
+insert : /insert/i /[^;]*/ ';'
+
+update : /update/i /[^;]*/ ';'
+
#
# Create table.
#
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;
}
}
- return $result;
+ return 1;
}
1;