package SQL::Translator::Parser::Sybase;
# -------------------------------------------------------------------
-# $Id: Sybase.pm,v 1.6 2003-08-21 02:39:21 kycl4rk Exp $
+# $Id: Sybase.pm,v 1.9 2004-02-09 22:23:40 kycl4rk Exp $
# -------------------------------------------------------------------
-# Copyright (C) 2003 Ken Y. Clark <kclark@cpan.org>,
-# darren chamberlain <darren@cpan.org>,
-# Chris Mungall <cjm@fruitfly.org>
+# Copyright (C) 2002-4 SQLFairy Authors
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
=head1 DESCRIPTION
-Parses the output of "dbschema.pl," a Perl script freely available from
-www.midsomer.org.
+Mostly parses the output of "dbschema.pl," a Perl script freely
+available from http://www.midsomer.org. The parsing is not complete,
+however, and you would probably have much better luck using the
+DBI-Sybase parser included with SQL::Translator.
=cut
use strict;
use vars qw[ $DEBUG $VERSION $GRAMMAR @EXPORT_OK ];
-$VERSION = sprintf "%d.%02d", q$Revision: 1.6 $ =~ /(\d+)\.(\d+)/;
+$VERSION = sprintf "%d.%02d", q$Revision: 1.9 $ =~ /(\d+)\.(\d+)/;
$DEBUG = 0 unless defined $DEBUG;
use Data::Dumper;
@EXPORT_OK = qw(parse);
-# Enable warnings within the Parse::RecDescent module.
-$::RD_ERRORS = 1; # Make sure the parser dies when it encounters an error
-$::RD_WARN = 1; # Enable warnings. This will warn on unused rules &c.
-$::RD_HINT = 1; # Give out hints to help fix problems.
+$::RD_ERRORS = 1;
+$::RD_WARN = 1;
+$::RD_HINT = 1;
$GRAMMAR = q{
{
- my ( %tables, @table_comments );
+ my ( %tables, @table_comments, $table_order );
}
startrule : statement(s) eofile { \%tables }
@table_comments = ();
}
+ $tables{ $table_name }{'order'} = ++$table_order;
$tables{ $table_name }{'name'} = $table_name;
$tables{ $table_name }{'owner'} = $table_owner;
$tables{ $table_name }{'system'} = $item[7];
=head1 SEE ALSO
-perl(1).
+SQL::Translator, SQL::Translator::Parser::DBI, L<http://www.midsomer.org/>.
=cut