Re: DatabaseMetaData.get(Imi|Ex)portedKeys() and FK_NAME column

From: Barry Lind <blind(at)xythos(dot)com>
To: Tomisław Kityński <t(dot)kitynski(at)11interactive(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: DatabaseMetaData.get(Imi|Ex)portedKeys() and FK_NAME column
Date: 2003-08-27 19:40:45
Message-ID: 3F4D093D.20907@xythos.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

I beleive this is fixed in the latest development version. Can you
download the 7.4 driver from jdbc.postgresql.org to verify that the
latest version of the driver fixes this problem.

thanks,
--Barry

Tomisław Kityński wrote:
> Hello,
>
> when I call getExportedKeys() or getImportedKeys() on DatabaseMetaData
> object returned by getMetaData() called on Connection object, I receive
> ResultSet with standard (defined in JDBC) columns. One of it is FK_NAME
> and it gives the name of FOREIGN KEY CONSTRAINT. So if I define some
> foreign key eg. like this:
>
> <sql>
> ...
> CONSTRAINT "worker.role.fk"
> FOREIGN KEY ("id_worker")
> REFERENCES "persons" ("id_person")
> ON DELETE CASCADE
> ON UPDATE CASCADE
> ...
> </sql>
>
> I expect to get "worker.role.fk" in FK_NAME column. At least I get
> what I suppose I shall get when it concerns PRIMARY KEY (PK_NAME).
> But in case of FK_NAME I get something like this:
>
> worker.role.fk\000stands\000persons\000UNSPECIFIED\000id_worker\000id_person\000
>
> (this is one, long string). Is this correct? I mean shall all these
> \000 escape codes and other identifiers appear in FK_NAME? I thought
> that only the part from begining to the first occurence of '\', excluding it, should be returned. Am I right, ergo there we have some
> bug or this string is properly composed and I need do substring() on
> it to get the FK_NAME?
>
> I use PSQL 7.3.4 on cygwin, j2sdk1.4.2 and recent pg73jdbc3.jar (build
> #113).
>
> TIA.
>
> PS.
> I have forgotten the email address under which I have subscribed to
> this list. I was hoping to get users list from majordomo, but it
> doesn't give out that kind of information. How may I find out under
> what address I am subscribed and/or how to change that old address
> to the new one? If this needs manual work of the masters of the list,
> I can provide possible addresses I probably used while subscribing.
>
> Best regards,
>

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Barry Lind 2003-08-27 19:44:22 Re: [PATCHES] Bad Short Default v530 (Fix getXXX methods when used
Previous Message Barry Lind 2003-08-27 19:39:07 Re: Using callable statements