Skip Menu |
 

This queue is for tickets about the Alzabo CPAN distribution.

Maintainer(s)' notes

Not really maintained any more. Interested in taking it over? Email the author.

Report information
The Basics
Id: 6514
Status: resolved
Priority: 0/
Queue: Alzabo

People
Owner: Nobody in particular
Requestors: radek [...] karnet.pl
Cc:
AdminCc:

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



Subject: Alzabo::Create::Schema->reverse_engineer() doesn't work with PostgreSQL 7.4.2 (CHARACTER_DATA type)
Download (untitled) / with headers
text/plain 2.5k
It appears that Alzabo doesn't know anything about the CHARACTER_DATA type, returned by PostgreSQL 7.4.2: $ perl -MAlzabo::Create::Schema -wle 'Alzabo::Create::Schema->reverse_engineer(qw/name radek rdbms PostgreSQL/)' Invalid column type: CHARACTER_DATA Trace begun at /usr/share/perl5/vendor_perl/Alzabo/RDBMSRules/PostgreSQL.pm line 130 Alzabo::RDBMSRules::PostgreSQL::validate_column_type('Alzabo::RDBMSRules::PostgreSQL=HASH(0x8064d2c)', 'character_data', 'Alzabo::Create::Table=HASH(0x8613a14)') called at /usr/share/perl5/vendor_perl/Alzabo/Create/ColumnDefinition.pm line 44 Alzabo::Create::ColumnDefinition::_init(undef, 'owner', 'Alzabo::Create::Column=HASH(0x84b3d8c)', 'type', 'character_data') called at /usr/share/perl5/vendor_perl/Alzabo/Create/ColumnDefinition.pm line 26 Alzabo::Create::ColumnDefinition::new('Alzabo::Create::ColumnDefinition', 'owner', 'Alzabo::Create::Column=HASH(0x84b3d8c)', 'type', 'character_data') called at /usr/share/perl5/vendor_perl/Alzabo/Create/Column.pm line 69 Alzabo::Create::Column::_init(undef, 'table', 'Alzabo::Create::Table=HASH(0x8613a14)', 'length', -5, 'nullable', 1, 'name', 'feature_id', 'type', 'character_data') called at /usr/share/perl5/vendor_perl/Alzabo/Create/Column.pm line 26 Alzabo::Create::Column::new('Alzabo::Create::Column', 'table', 'Alzabo::Create::Table=HASH(0x8613a14)', 'length', -5, 'nullable', 1, 'name', 'feature_id', 'type', 'character_data') called at /usr/share/perl5/vendor_perl/Alzabo/Create/Table.pm line 117 Alzabo::Create::Table::make_column('Alzabo::Create::Table=HASH(0x8613a14)', 'name', 'feature_id', 'nullable', 1, 'length', -5, 'type', 'character_data') called at /usr/share/perl5/vendor_perl/Alzabo/RDBMSRules/PostgreSQL.pm line 863 Alzabo::RDBMSRules::PostgreSQL::reverse_engineer('Alzabo::RDBMSRules::PostgreSQL=HASH(0x8064d2c)', 'Alzabo::Create::Schema=HASH(0x804cdd0)') called at /usr/share/perl5/vendor_perl/Alzabo/Create/Schema.pm line 81 Alzabo::Create::Schema::reverse_engineer('Alzabo::Create::Schema', 'name', 'radek', 'rdbms', 'PostgreSQL') called at -e line 1 The database structure is: single table with single integer column: $ psql -U radek -c '\d' List of relations Schema | Name | Type | Owner --------+------+-------+------- public | foo | table | radek (1 row) $ psql -U radek -c '\d foo' Table "public.foo" Column | Type | Modifiers --------+---------+----------- bar | integer | Software used (everything from the PLD Linux Distribution): $ rpm -q postgresql perl-Alzabo perl-DBI perl-DBD-Pg postgresql-7.4.2-1 perl-Alzabo-0.82-1 perl-DBI-1.42-3 perl-DBD-Pg-1.32-1
Download (untitled) / with headers
text/plain 2.7k
[guest - Fri Jun 4 09:27:52 2004]: Show quoted text
> It appears that Alzabo doesn't know anything about the > CHARACTER_DATA type, returned by PostgreSQL 7.4.2: > > $ perl -MAlzabo::Create::Schema -wle 'Alzabo::Create::Schema-
> >reverse_engineer(qw/name radek rdbms PostgreSQL/)'
> Invalid column type: CHARACTER_DATA > > Trace begun at > /usr/share/perl5/vendor_perl/Alzabo/RDBMSRules/PostgreSQL.pm line > 130 >
Alzabo::RDBMSRules::PostgreSQL::validate_column_type('Alzabo::RDBMSRules::PostgreSQL=HASH(0x8064d2c)', Show quoted text
> 'character_data', 'Alzabo::Create::Table=HASH(0x8613a14)') called > at /usr/share/perl5/vendor_perl/Alzabo/Create/ColumnDefinition.pm > line 44 > Alzabo::Create::ColumnDefinition::_init(undef, 'owner', > 'Alzabo::Create::Column=HASH(0x84b3d8c)', 'type', 'character_data') > called at > /usr/share/perl5/vendor_perl/Alzabo/Create/ColumnDefinition.pm line > 26 > Alzabo::Create::ColumnDefinition::new('Alzabo::Create::ColumnDefinition', > 'owner', 'Alzabo::Create::Column=HASH(0x84b3d8c)', 'type', > 'character_data') called at > /usr/share/perl5/vendor_perl/Alzabo/Create/Column.pm line 69 > Alzabo::Create::Column::_init(undef, 'table', > 'Alzabo::Create::Table=HASH(0x8613a14)', 'length', -5, 'nullable', > 1, 'name', 'feature_id', 'type', 'character_data') called at > /usr/share/perl5/vendor_perl/Alzabo/Create/Column.pm line 26 > Alzabo::Create::Column::new('Alzabo::Create::Column', 'table', > 'Alzabo::Create::Table=HASH(0x8613a14)', 'length', -5, 'nullable', > 1, 'name', 'feature_id', 'type', 'character_data') called at > /usr/share/perl5/vendor_perl/Alzabo/Create/Table.pm line 117 >
Alzabo::Create::Table::make_column('Alzabo::Create::Table=HASH(0x8613a14)', Show quoted text
> 'name', 'feature_id', 'nullable', 1, 'length', -5, 'type', > 'character_data') called at > /usr/share/perl5/vendor_perl/Alzabo/RDBMSRules/PostgreSQL.pm line > 863 >
Alzabo::RDBMSRules::PostgreSQL::reverse_engineer('Alzabo::RDBMSRules::PostgreSQL=HASH(0x8064d2c)', Show quoted text
> 'Alzabo::Create::Schema=HASH(0x804cdd0)') called at > /usr/share/perl5/vendor_perl/Alzabo/Create/Schema.pm line 81 > Alzabo::Create::Schema::reverse_engineer('Alzabo::Create::Schema', > 'name', 'radek', 'rdbms', 'PostgreSQL') called at -e line 1 > > The database structure is: single table with single integer column: > > $ psql -U radek -c '\d' > List of relations > Schema | Name | Type | Owner > --------+------+-------+------- > public | foo | table | radek > (1 row) > > $ psql -U radek -c '\d foo' > Table "public.foo" > Column | Type | Modifiers > --------+---------+----------- > bar | integer |
This is weird, because there is no CHARACTER_DATA type column (is there even such a type at all?) Does this still happen with 0.83?
Download (untitled) / with headers
text/plain 318b
[DROLSKY - Thu Jun 24 01:23:56 2004]: Show quoted text
> This is weird, because there is no CHARACTER_DATA type column (is > there > even such a type at all?)
Looks like a kind of internal/meta type to me, but I don't know Postgres that well. Show quoted text
> Does this still happen with 0.83?
No, it works fine (at least that snippet of code).


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.