Skip site navigation (1) Skip section navigation (2)

Bug fix request for 08.03.0400 ( was [BUGS] Behavior change of FK info query)

From: "Luiz K(dot) Matsumura" <luiz(at)planit(dot)com(dot)br>
To: Hiroshi Saito <z-saito(at)guitar(dot)ocn(dot)ne(dot)jp>
Cc: Dave Page <dpage(at)pgadmin(dot)org>, inoue(at)tpf(dot)co(dot)jp, pgsql-odbc(at)postgresql(dot)org
Subject: Bug fix request for 08.03.0400 ( was [BUGS] Behavior change of FK info query)
Date: 2008-11-07 22:30:04
Message-ID: 4914C16C.9040200@planit.com.br (view raw or flat)
Thread:
Lists: pgsql-bugspgsql-odbc
Hi,

There are some chance to implement also correction for this bug:

http://pgfoundry.org/tracker/index.php?func=detail&aid=1010303&group_id=1000125&atid=538  
?

I attached a path for a change made on info.c of release 08.03.0300 source.
I tested it with postgres 8.0 , 8.1 , 8.2 and 8.3 server and works fine.


This is just a change on one query made by PGAPI_Columns function as 
showed bellow

.
.
.
(line 2066)
    /*
     * Create the query to find out the columns (Note: pre 6.3 did not
     * have the atttypmod field)
     */
    op_string = gen_opestr(like_or_eq, conn);
    if (conn->schema_support)
    {
        strncpy(columns_query,
            "select n.nspname, c.relname, a.attname"
            ", case when t.typtype = 'd' then t.typbasetype else 
a.atttypid end as atttypid"
            ", coalesce(bt.typname, t.typname ) AS typname, a.attnum, 
a.attlen"
            ", case when t.typtype = 'd' then t.typtypmod else 
a.atttypmod end as atttypmod"
            ", a.attnotnull, c.relhasrules, c.relkind, c.oid, d.adsrc"
            " from (((pg_catalog.pg_class c inner join 
pg_catalog.pg_namespace n on n.oid = c.relnamespace",
            sizeof(columns_query));
        if (search_by_ids)
            snprintf_add(columns_query, sizeof(columns_query), " and 
c.oid = %u", reloid);
        else
        {
            if (escTableName)
                snprintf_add(columns_query, sizeof(columns_query), " and 
c.relname %s'%s'", op_string, escTableName);
            schema_strcat1(columns_query, " and n.nspname %s'%.*s'", 
op_string, escSchemaName, SQL_NTS, szTableName, cbTableName, conn);
        }
        strcat(columns_query, ") inner join pg_catalog.pg_attribute a"
            " on (not a.attisdropped)");
        if (0 == attnum && (NULL == escColumnName || like_or_eq != eqop))
            strcat(columns_query, " and a.attnum > 0");
        if (search_by_ids)
        {
            if (attnum != 0)
                snprintf_add(columns_query, sizeof(columns_query), " and 
a.attnum = %d", attnum);
        }
        else if (escColumnName)
            snprintf_add(columns_query, sizeof(columns_query), " and 
a.attname %s'%s'", op_string, escColumnName);
        strcat(columns_query,
            " and a.attrelid = c.oid)"
            " inner join pg_catalog.pg_type t on t.oid = a.atttypid)"
            " left outer join pg_attrdef d on a.atthasdef and d.adrelid 
= a.attrelid and d.adnum = a.attnum"
            " left outer join pg_type bt on t.typtype = 'd' and 
t.typbasetype = bt.oid" );
        strcat(columns_query, " order by n.nspname, c.relname, attnum");
    }


I will be really happy if this can be fixed.

Best Regards


Hiroshi Saito wrote:
> Ok, agree. I will prepare it.
> Then, I need carefully packaging.
>
> ----- Original Message ----- From: "Dave Page" <dpage(at)pgadmin(dot)org>
>
>
>> 2008/11/4 Hiroshi Saito <z-saito(at)guitar(dot)ocn(dot)ne(dot)jp>:
>>
>>> Furthermore, I think it good to use libpq by which 8.3.5 was released.
>>> So, it is better to pack up 08.03.0310.?
>>>
>>> to Dave and Inoue-san.
>>> What do you think?
>>
>> 08.03.0400 sounds better to me.
>>
>>
>> -- 
>> Dave Page
>> EnterpriseDB UK:   http://www.enterprisedb.com
>>
>> -- 
>> Sent via pgsql-odbc mailing list (pgsql-odbc(at)postgresql(dot)org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-odbc
>

-- 
Luiz K. Matsumura
Plan IT Tecnologia Informática Ltda.


Attachment: info.c.patch
Description: text/plain (1.2 KB)

In response to

Responses

pgsql-odbc by date

Next:From: AndrusDate: 2008-11-10 14:30:19
Subject: Documentation for Protocol= connection string option
Previous:From: AndrusDate: 2008-11-06 19:24:18
Subject: Re: Setting search_path in ODBC connection string

pgsql-bugs by date

Next:From: Bruce MomjianDate: 2008-11-07 23:21:53
Subject: Re: Re: [BUGS] libpq does not manage SSL callbacks properly when other libraries are involved.
Previous:From: Alvaro HerreraDate: 2008-11-07 20:10:29
Subject: Re: Re: [BUGS] libpq does not manage SSL callbacksproperly when other libraries are involved.

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group