Обсуждение: JDBC getImortedKeys() getExportedKeys() incorrect ON DELETE property

Поиск
Список
Период
Сортировка

JDBC getImortedKeys() getExportedKeys() incorrect ON DELETE property

От
"Richard Froud"
Дата:
============================================================================
                         POSTGRESQL BUG REPORT TEMPLATE
============================================================================


Your name        : Richard Froud
Your email address    : richard@hospitalityis.co.uk


System Configuration
---------------------
   Architecture (example: Intel Pentium) : All - Present on Linux, Windows,
Unix

   Operating System (example: Linux 2.0.26 ELF) :
            Windows, Linux and Unix

   PostgreSQL version (example: PostgreSQL-7.3.4):   7.3 all versions

   Compiler used (example:  gcc 2.95.2)        :


Please enter a FULL description of your problem:
------------------------------------------------
When reading database metadata for foreign keys using the JDBC
DatabaseMetaData.getImportedKeys() and DatabaseMetaData.getExportedKeys()
methods the ON UPDATE rule is returned as the ON DELETE rule.  It is also
correctly returned as the ON UPDATE rule.  Therefore there is no way to
access the ON DELETE rule.  Consequenntly innaccurate representations of the
database structure are obtained.




Please describe a way to repeat the problem.   Please try to provide a
concise reproducible example, if at all possible:
----------------------------------------------------------------------
Create a foreign key referencing the primary key of another table.  Use: ON
UPDATE NO ACTION, ON DELETE CASCADE.   Use JDBC
DatabaseMetaData.getImportedKeys() to read from the first table.  Both the
ON UPDATE and ON DELETE values returned are the same.




If you know how this problem might be fixed, list the solution below:
---------------------------------------------------------------------





---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

Re: JDBC getImortedKeys() getExportedKeys() incorrect ON

От
Kris Jurka
Дата:

On Fri, 15 Aug 2003, Richard Froud wrote:

> Please enter a FULL description of your problem:
> ------------------------------------------------
> When reading database metadata for foreign keys using the JDBC
> DatabaseMetaData.getImportedKeys() and DatabaseMetaData.getExportedKeys()
> methods the ON UPDATE rule is returned as the ON DELETE rule.  It is also
> correctly returned as the ON UPDATE rule.  Therefore there is no way to
> access the ON DELETE rule.  Consequenntly innaccurate representations of the
> database structure are obtained.

Here is a patch for this.  Additionally the on delete rule would not
return importedKeyRestrict because of a missing if statement.  Also an
addition to the test suite is attached.

Kris Jurka


Вложения

Re: [JDBC] JDBC getImortedKeys() getExportedKeys()

От
Dave Cramer
Дата:
Patch Applied,

Thanks,

Dave
On Mon, 2003-11-03 at 05:25, Kris Jurka wrote:
> On Fri, 15 Aug 2003, Richard Froud wrote:
>
> > Please enter a FULL description of your problem:
> > ------------------------------------------------
> > When reading database metadata for foreign keys using the JDBC
> > DatabaseMetaData.getImportedKeys() and DatabaseMetaData.getExportedKeys()
> > methods the ON UPDATE rule is returned as the ON DELETE rule.  It is also
> > correctly returned as the ON UPDATE rule.  Therefore there is no way to
> > access the ON DELETE rule.  Consequenntly innaccurate representations of the
> > database structure are obtained.
>
> Here is a patch for this.  Additionally the on delete rule would not
> return importedKeyRestrict because of a missing if statement.  Also an
> addition to the test suite is attached.
>
> Kris Jurka
>
>
> ______________________________________________________________________
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings