Re: Bug fix request for 08.03.0400 ( was [BUGS] Behavior change of FK info query) - Mailing list pgsql-odbc

From Hiroshi Saito
Subject Re: Bug fix request for 08.03.0400 ( was [BUGS] Behavior change of FK info query)
Date
Msg-id E3CACD6FCD6940ADAC71CB1CA73088CD@HIRO57887DE653
Whole thread Raw
In response to Re: [BUGS] Behavior change of FK info query  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-odbc
Hi Luiz-san.

Sorry, very late reaction....
Release timing was being fixed.

It seems that your proposal needs a complicated verification. I consider like an
improvement rather than a bug. then, there are some worries. it is lo type etc..
However, It seems that Inoue-san review passes. but, it is next release.

I appreciate your perseverance. thanks!

Regards,
Hiroshi Saito

----- Original Message -----
From: "Luiz K. Matsumura" <luiz@planit.com.br>


> 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@pgadmin.org>
>>
>>
>>> 2008/11/4 Hiroshi Saito <z-saito@guitar.ocn.ne.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@postgresql.org)
>>> To make changes to your subscription:
>>> http://www.postgresql.org/mailpref/pgsql-odbc
>>
>
> --
> Luiz K. Matsumura
> Plan IT Tecnologia Inform?ica Ltda.
>
>


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


> 2074,2077c2074,2079
> < "select n.nspname, c.relname, a.attname, a.atttypid"
> <    ", t.typname, a.attnum, a.attlen, a.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",
> ---
>> "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",
> 2099,2101c2101,2104
> < " 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");
> ---
>> " 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" );
>


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


>
> --
> Sent via pgsql-odbc mailing list (pgsql-odbc@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-odbc
>


pgsql-odbc by date:

Previous
From: "Andrus"
Date:
Subject: Documentation for Protocol= connection string option
Next
From:
Date:
Subject: [ psqlodbc-Bugs-1010508 ] win64.mak for psqlODBC on winxp 64bit