Subject: | Bad table or column name: '274822' starts with non-alphabetic character! |
Currently, I'm trying to make a DBD::FusionTables module. Some of the
code requires parsing the statement to figure out all of the fields and
characteristics. However, Google Fusion Tables use pure numbers for
table "names", and thus spawns the above error.
This error comes from SQL::Parser::IDENTIFIER. Unfortunately, the sub
is hard-coded with the proper types of characters. Furthermore,
IDENTIFIER plays favorites with CSV with the following exception:
# CSV requires optional start with _
my $badStartRx = uc( $self->{dialect} ) eq 'ANYDATA' ? qr/^\d/ :
qr/^[_\d]/;
These kind of exceptions should be taken out of the hard-code and put
into either the Dialect module or as some sort of extra variable. As it
is now, I'm going to have to overwrite the SQL::Parser::IDENTIFIER as a fix.