Re: [CDBI] Class::DBI patch
Veselin Slavov <vess-TY/[email protected]> Sat, 19 Jan 2008 00:28:20 +0200
| Newsgroups | gmane.comp.lang.perl.modules.class-dbi |
|---|---|
| Message-ID | <[email protected]> |
Edward J. Sabol wrote:
>>> I probably shouldn't speak for Tony, but I can't imagine him accepting such a
>>> patch. It's very PostgreSQL-specific.
>>>
>> No it isn't, it's improving Class::DBI's support for the DBI documented
>> standard approach of getting the last inserted id.
>>
>
> It's the "schema_name.table_name" parsing that appears to be Pg-specific to
> me, or at least not universally valid. I suspect that it would break usage
> with some non-Pg DBMSs. If anyone can show otherwise, then I would gladly
> support such a DBMS-agnostic change, FWIW.
>
>
'Pandora's box was open' , is't it ... ;-)
In base DBI:
db => { # Database Session Class Interface ...
...
last_insert_id => { U =>[5,6,'$catalog, $schema, $table_name,
$field_name [, \%attr ]'], O=>0x2800 },
....
Where is Class::DBI's schema support in 'last_insert_id(undef, undef,
$self->table, undef)' ?!
if "schema_name.table_name" is 'Pg-specific' , what about
__PACKAGE->schema - /Tony sugest it/?!
If default __PACKAGE->schema = undef and some one defined schema name
not be Pg-specific call:
'last_insert_id(undef, $self->schema, $self->table, undef) - If DB
supports schema defined, if not undefined.
This is elegant method to solve problem without complications and any
paches in other packages.
Why must predefined method '_auto_increment_value {...}' in more than
one DB if more than one.