Tim Bunce wrote:
> 
> On Wed, Oct 24, 2001 at 04:26:18PM +0100, Simon Oliver wrote:
> >
> > > > The QuotedIdentifiers(boolean) attribute is required for the situation
> > > > where the database might have quoted identifiers switched off (as in
> > > > JDBC and MS-SQL) and could cause a sytax error.
> > >
> > Say I'm running Access and I want a list of tables (but not catalog
> > names) I need a nifty regexp to parse out the table name from the
> > quoted, dotted identifier returnd by $dbh->tables().  Instead I just set
> > IdentifierColumns = [2].
> 
> Or, since tables() is only a few lines or code, write your own.

I agree it is messy and so I bow to your better judgement as long as we
keep the kludge to remove null identifiers (or things will break - see
below).

> Sure, but that wasn't my question. I'm not too surprised that
> "myfile".""."mytable" fails, but what about "myfile".."mytable"?
ASA doesn't care but it does fail with MS-Access:

DBD::ODBC::db prepare failed: [Microsoft][ODBC Microsoft Access Driver]
Invalid
bracketing of name '.'. (SQL-37000)(DBD: st_prepare/SQLPrepare err=-1)
at D:\Per
l\dbi_t.pl line 28.

> And what's the 'standard' way? Maybe the answer's in here:
>   
>http://www.jtc1sc32.org/sc32/jtc1sc32.nsf/Attachments/DF86E81BE70151D58525699800643F56/$FILE/32N0595T.PDF
> but I've no time to look right now. Can you?
I've looked but the answer doesn't jump out at me!

I suppose unless we find a definitive answer we should assume that null
identifiers (and their corresponding dots) are to be omitted and this
behavour could be overridden in the DBD as necessary.

--
  Simon Oliver

Reply via email to