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

From: "Hiroshi Saito" <z-saito(at)guitar(dot)ocn(dot)ne(dot)jp>
To: "Luiz K(dot) Matsumura" <luiz(at)planit(dot)com(dot)br>
Cc: "Dave Page" <dpage(at)pgadmin(dot)org>, <inoue(at)tpf(dot)co(dot)jp>, <pgsql-odbc(at)postgresql(dot)org>
Subject: Re: Bug fix request for 08.03.0400 ( was [BUGS] Behavior change of FK info query)
Date: 2008-11-10 14:39:32
Message-ID: E3CACD6FCD6940ADAC71CB1CA73088CD@HIRO57887DE653
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs 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(at)planit(dot)com(dot)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(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?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(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-odbc
>

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Shawn Chasse 2008-11-10 18:55:17 BUG #4519: deadlock on commit
Previous Message Zdenek Kotala 2008-11-10 12:31:50 Re: BUG #4494: Memory leak in pg_regress.c

Browse pgsql-odbc by date

  From Date Subject
Next Message noreply 2008-11-11 15:05:09 [ psqlodbc-Bugs-1010508 ] win64.mak for psqlODBC on winxp 64bit
Previous Message Andrus 2008-11-10 14:30:19 Documentation for Protocol= connection string option