From: | Rushabh Lathia <rushabh(dot)lathia(at)gmail(dot)com> |
---|---|
To: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Cc: | Rushabh Lathia <rushabh(dot)lathia(at)enterprisedb(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
Subject: | Re: NOT Null constraint on foreign table not working |
Date: | 2014-01-20 07:56:06 |
Message-ID: | CAGPqQf2i+biuPxcaoabA2h-ykL_49ycj28OhwOec9iGNi+zWpA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Please consider attached patch here as earlier attached wrong patch.
Sorry for the inconvenience.
On Mon, Jan 20, 2014 at 1:21 PM, Rushabh Lathia <rushabh(dot)lathia(at)gmail(dot)com>wrote:
> Hello,
>
> Please consider the following test:
>
> create database foo;
> \c foo
>
> create table foo_test ( a int );
>
> \c postgres
>
> create extension if not exists postgres_fdw;
> create server foo_server foreign data wrapper postgres_fdw options (
> dbname 'foo' );
> create user mapping for current_user server foo_server;
>
> create foreign table foo_test ( a int not null) server foo_server;
>
> -- insert should return error for because NOT NULL constraint on column a
> postgres=# insert into foo_test values ( null );
> INSERT 0 1
>
> postgres=# select * from foo_test;
> a
> ---
>
> (1 row)
>
> -- clean up
> drop foreign table foo_test;
> drop server foo_server cascade;
> \c postgres
> drop database foo;
>
>
> Analysis:
>
> As per the PG documentation it says that foreign table do support the
> NOT NULL, NULL and DEFAULT.
>
> http://www.postgresql.org/docs/devel/static/sql-createforeigntable.html
>
> But when I tried the NOT NULL constraint, its not working for the foreign
> tables.
> Looking at the code into ExecInsert(), for the foreign table missed to call
> ExecConstraints(). I am not sure whether it is intentional that we not
> calling
> ExecConstraints() in case of foreign server or its missed.
> Do share your thought on this.
>
> I quickly fix the issue by adding ExecConstraints() call for foreign table
> and
> now test behaving as expected. PFA patch for the same.
>
> Regards,
> Rushabh Lathia
> www.EnterpriseDB.com
>
>
--
Rushabh Lathia
Attachment | Content-Type | Size |
---|---|---|
exec_constrints_foreign_table_v2.patch | text/x-patch | 849 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Sameer Kumar | 2014-01-20 08:37:16 | Re: [HACKERS] using rpmbuild with PostgreSQL 9.2.6 source code |
Previous Message | Pavel Stehule | 2014-01-20 07:52:01 | Re: using rpmbuild with PostgreSQL 9.2.6 source code |