Re: IF NOT EXISTS option for CREATE SERVER and CREATE USER MAPPING statements

From: Artur Zakirov <a(dot)zakirov(at)postgrespro(dot)ru>
To: Anastasia Lubennikova <a(dot)lubennikova(at)postgrespro(dot)ru>, Andrew Dunstan <andrew(dot)dunstan(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: IF NOT EXISTS option for CREATE SERVER and CREATE USER MAPPING statements
Date: 2017-03-13 08:53:33
Message-ID: d6de307d-47ff-0c1d-4eae-d8200c5d3f45@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 15.02.2017 20:54, Anastasia Lubennikova wrote:
>
> Done.
>

I have gotten the error that AlterUserMappingStmt doesn't have
if_not_exists (in Russian):

> gram.y: В функции «base_yyparse»:
> gram.y:4918:7: ошибка: «AlterUserMappingStmt {aka struct AlterUserMappingStmt}» не содержит элемента с именем «if_not_exists»
> n->if_not_exists = false;
> ^~

After applying the CREATE USER patch in gram.y I have:

>
> AlterUserMappingStmt: ALTER USER MAPPING FOR auth_ident SERVER name alter_generic_options
> {
> AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
> n->user = $5;
> n->servername = $7;
> n->options = $8;
> n->if_not_exists = false;
> $$ = (Node *) n;
> }
> | CREATE USER MAPPING IF_P NOT EXISTS FOR auth_ident SERVER name create_generic_options
> {
> CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
> n->user = $8;
> n->servername = $10;
> n->options = $11;
> n->if_not_exists = true;
> $$ = (Node *) n;
> }
> ;

Here ALTER USER MAPPING and CREATE USER MAPPING commands were mixed.

--
Artur Zakirov
Postgres Professional: http://www.postgrespro.com
Russian Postgres Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Emre Hasegeli 2017-03-13 08:58:17 Re: BRIN cost estimate
Previous Message Craig Ringer 2017-03-13 08:48:21 Re: Changing references of password encryption to hashing