PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

Home » Database » DB_DataObject » Bug #2912

if tables in pgsql are upper case createtables throws error

Details

Submitted2004-12-07 10:18 UTC
Fromeingfoan at yahoo dot de
Assignedalan_k
StatusNo Feedback
PackageDB_DataObject
PHP Version4.3.9
OSLINUX RED HAT
Roadmaps(Not assigned)

Comments

[2004-12-07 10:18 UTC] eingfoan at yahoo dot de

Description:
------------
i tried to do createtables with a pgsql database

with table names like ARTIKEL and BILD

what resulted such an error

------------

[db_error: message="DB Error: insufficient data supplied" code=-20 mode=return level=notice prefix="" info="SELECT c.relname as "Name"
FROM pg_class c, pg_user u
WHERE c.relowner = u.usesysid AND c.relkind = 'r'
AND not exists (select 1 from pg_views where viewname = c.relname)
AND c.relname !~ '^(pg_|sql_)'
UNION
SELECT c.relname as "Name"
FROM pg_class c
WHERE c.relkind = 'r'
AND not exists (select 1 from pg_views where viewname = c.relname)
AND not exists (select 1 from pg_user where usesysid = c.relowner)
AND c.relname !~ '^pg_' [nativecode=ERROR: relation "artikel" does not exist]"]
------------

when i renamed them to bild and artikel everything worked out fine!

could this be an uppercase problem?

thx chris

[2005-01-04 18:08 UTC] andreas dot henden at vice-chairman dot net

Using PHP Version 5.0.3, DB_DataObject 1.7.2 stable and postgresql I get an error when I try to use createtable.php.

[db_error: message="DB Error: insufficient data supplied" code=-20 mode=return level=notice prefix="" info="SELECT c.relname as "Name"
FROM pg_class c, pg_user u
WHERE c.relowner = u.usesysid AND c.relkind = 'r'
AND not exists (select 1 from pg_views where viewname = c.relname)
AND c.relname !~ '^(pg_|sql_)'
UNION
SELECT c.relname as "Name"
FROM pg_class c
WHERE c.relkind = 'r'
AND not exists (select 1 from pg_views where viewname = c.relname)
AND not exists (select 1 from pg_user where usesysid = c.relowner)
AND c.relname !~ '^pg_'"]

It's almost like the first error but I don't have the nativecode part of the error message.

I have tried the sql in the database and it works without any problems!

[2005-01-17 09:14 UTC] jbh at karakoum dot com

Same problem with 5.0.3. It was working all right in version 5.0.2

[2005-01-19 14:02 UTC] sa at ventigo dot com

I've got the same Error with createTables.php:

[DB_Error: message="DB Error: insufficient data supplied" code=-20 mode=return level=notice prefix="" info="SHOW TABLES [nativecode=0 **]"]

My Setup:
PHP 5.0.3
MySQL 2.6.0-pl3
Gentoo Linux 2.4.23_pre8
PEAR DB_DataObject-1.7.2

[2005-01-19 16:16 UTC] sa at ventigo dot com

I guess, that the problem is in the database driver.
I had this problem in the PHP 5.0.3 CLI version.
I solved the problem by adding "is_object($result) &&" to the (first) if-condition of the method tableInfo in the database-driver. (In my case __PEAR_ROOT__/DB/mysql.php)

Original:
----------
if (isset($result->result)) {

New:
----------
if(is_object($result) && isset($result->result)) {

More details:
http://bugs.php.net/bug.php?id=31611

I hope this hack can help you.