Re: [COMMITTERS] pgsql: SQL/MED catalog manipulation facilities This doesn't do any

Поиск
Список
Период
Сортировка
От Martin Pihlak
Тема Re: [COMMITTERS] pgsql: SQL/MED catalog manipulation facilities This doesn't do any
Дата
Msg-id 494D0EE2.4000209@gmail.com
обсуждение исходный текст
Ответ на Re: [COMMITTERS] pgsql: SQL/MED catalog manipulation facilities This doesn't do any  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Ответы Re: [COMMITTERS] pgsql: SQL/MED catalog manipulation facilities This doesn't do any  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Heikki Linnakangas wrote:
> The callers of transformGenericOptions-function in foreigncmds.c use
> OidIsValid to check the return value of transformGenericOptions, but it
> returns an array, not an Oid. I committed a fix for that, we'll see if
> it heals the buildfarm.
>

Thanks for that. There was an additional use of the Datum as Oid in
AlterForeignDataWrapper, namely the assignment to repl_vals.

Another bug was uncovered on orca -- a missing semicolon in gram.y:3004

Fixes attached.

regards,
Martin

*** a/src/backend/commands/foreigncmds.c
--- b/src/backend/commands/foreigncmds.c
***************
*** 466,472 **** AlterForeignDataWrapper(AlterFdwStmt *stmt)
                                          NULL, fdwlib->validateOptionList);

          if (PointerIsValid(DatumGetPointer(datum)))
!             repl_val[Anum_pg_foreign_data_wrapper_fdwoptions - 1] = ObjectIdGetDatum(datum);
          else
              repl_null[Anum_pg_foreign_data_wrapper_fdwoptions - 1] = true;

--- 466,472 ----
                                          NULL, fdwlib->validateOptionList);

          if (PointerIsValid(DatumGetPointer(datum)))
!             repl_val[Anum_pg_foreign_data_wrapper_fdwoptions - 1] = datum;
          else
              repl_null[Anum_pg_foreign_data_wrapper_fdwoptions - 1] = true;

*** a/src/backend/parser/gram.y
--- b/src/backend/parser/gram.y
***************
*** 3001,3007 **** CreateUserMappingStmt: CREATE USER MAPPING FOR auth_ident SERVER name create_gen
  auth_ident:
              CURRENT_USER     { $$ = "current_user"; }
          |    USER            { $$ = "current_user"; }
!         |    RoleId             { $$ = (strcmp($1, "public") == 0) ? NULL : $1 }
          ;

  /*****************************************************************************
--- 3001,3007 ----
  auth_ident:
              CURRENT_USER     { $$ = "current_user"; }
          |    USER            { $$ = "current_user"; }
!         |    RoleId             { $$ = (strcmp($1, "public") == 0) ? NULL : $1; }
          ;

  /*****************************************************************************

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major
Следующее
От: Mark Mielke
Дата:
Сообщение: Re: Sync Rep: First Thoughts on Code