Harald Armin Massa wrote:
I discovered a subtle bug within the dialog for foreign key creation:

Be there a database "testdb" structured like:

CREATE SCHEMA nb1;

CREATE TABLE nb1.hauptbaer (
    id_baer serial NOT NULL,
    fischfeld text
);

ALTER TABLE nb1.hauptbaer
  ADD CONSTRAINT hauptbaer_pkey PRIMARY KEY(id_baer);

CREATE TABLE nb1.nebenbaer (
    id_nb serial NOT NULL,
    rede text,
    id_baer integer
);

ALTER TABLE ONLY nb1.nebenbaer
    ADD CONSTRAINT nebenbaer_pkey PRIMARY KEY (id_nb);

that is, within schema "nb1" there are two tables "nb1.hauptbaer" and "nb1 nebenbaer".

The database, the schema, everthing is owned by a user named nb1.

Now create a connection to the database testdb as user nb1.

When going to "nebenbaer" and trying to add a foreign key constraint to id_baer of hauptbaer...

you can select hauptbaer from the list of tables, but there is no scheme prefix. On the dialog-tab where you need to select the columns for the fkey relationship, no column from hauptbaer is shown.

I did exactly this, replacing nb1 by user/db/schema postgres, and everything worked as expected. My search_path is the default $user,public.

Actually, suppressing the schema name here wouldn't do any harm, because the search_path will automatically add the username here.


Regards,
Andreas

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match

Reply via email to