新增CREATE USER IF NOT EXISTS语法
This commit is contained in:
@ -6093,7 +6093,7 @@ static void RenameTableFeature(RenameStmt* stmt)
|
||||
|
||||
/* Rename regular table */
|
||||
replaces[Anum_pg_class_relname - 1] = true;
|
||||
values[Anum_pg_class_relname - 1] = CStringGetDatum(modfytable);
|
||||
values[Anum_pg_class_relname - 1] = DirectFunctionCall1(namein, CStringGetDatum(modfytable));
|
||||
if (modfySchema != NULL) {
|
||||
replaces[Anum_pg_class_relnamespace - 1] = true;
|
||||
values[Anum_pg_class_relnamespace - 1] = ObjectIdGetDatum(modfyNameSpace);
|
||||
|
||||
@ -1184,7 +1184,12 @@ void CreateRole(CreateRoleStmt* stmt)
|
||||
|
||||
if (OidIsValid(get_role_oid(stmt->role, true))) {
|
||||
str_reset(password);
|
||||
ereport(ERROR, (errcode(ERRCODE_DUPLICATE_OBJECT), errmsg("role \"%s\" already exists", stmt->role)));
|
||||
int elevel = stmt->missing_ok ? NOTICE : ERROR;
|
||||
ereport(elevel, (errmsg("role \"%s\" already exists", stmt->role)));
|
||||
if (stmt->missing_ok) {
|
||||
heap_close(pg_authid_rel, NoLock);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* Convert validBegin to internal form */
|
||||
|
||||
Reference in New Issue
Block a user