Skip Menu |

This queue is for tickets about the Rose-DB-Object CPAN distribution.

Report information
The Basics
Id: 129584
Status: open
Priority: 0/
Queue: Rose-DB-Object

People
Owner: Nobody in particular
Requestors: NATARAJ [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: DBD::Pg in 3.8.0 changed column_info behaviour, and this broke Rose::DB::Object::Metadata::Auto
In 3.8.0 DBD::Pg changed behaviour of column_info: - Return the current database name as TABLE_CAT in info methods https://github.com/bucardo/dbdpg/blob/master/Changes This breaks Rose::DB::Object::Metadata::Auto in auto_generate_columns it calls column_info with $catalog == '' (this is expected for postgres) (line 139 in current stable version) and then compares it with the result $col_info->{'TABLE_CAT'} (line 156). In DBD::Pg it is no longer empty, check fails, and we get error like "no column info found for catalog '' schema 'public' table 'my_table'" Setting catalog in register_db does not help, it starts to fail on fetching primary key info "no primary key info found for catalog '' schema 'public' table 'my_tables'" I think it is up to DBD::Pg developer to return previous behaviour. But it they refuse it, or make a big delay, I think this should be worked around in Rose::DB::Object somehow. I filed this bug to DBD::Pg developers https://rt.cpan.org/Ticket/Display.html?id=129583 please follow it
Any progress on this? I think it would be best if Rose::DB worked around the new change, possibly by just ignoring / force-matching the CATALOG. We (DBD::Pg) are very unlikely to change the behavior at this point, as it has been over a year and nobody else has complained.
Have you tried updating to the latest version of Rose::DB?