@@ -175,58 +175,18 @@ CreateRole(ParseState *pstate, CreateRoleStmt *stmt)
175
175
176
176
if (strcmp (defel -> defname , "password" ) == 0 ||
177
177
strcmp (defel -> defname , "encryptedPassword" ) == 0 ||
178
- strcmp (defel -> defname , "unencryptedPassword" ) == 0 ||
179
- strcmp (defel -> defname , "protocolPassword" ) == 0 )
178
+ strcmp (defel -> defname , "unencryptedPassword" ) == 0 )
180
179
{
181
180
if (dpassword )
182
181
ereport (ERROR ,
183
182
(errcode (ERRCODE_SYNTAX_ERROR ),
184
183
errmsg ("conflicting or redundant options" ),
185
184
parser_errposition (pstate , defel -> location )));
186
185
dpassword = defel ;
187
- if (strcmp (defel -> defname , "password" ) == 0 )
188
- {
189
- /*
190
- * Password type is enforced with GUC password_encryption
191
- * here.
192
- */
193
- if (dpassword && dpassword -> arg )
194
- password = strVal (dpassword -> arg );
195
- }
196
- else if (strcmp (defel -> defname , "encryptedPassword" ) == 0 )
197
- {
186
+ if (strcmp (defel -> defname , "encryptedPassword" ) == 0 )
198
187
password_type = PASSWORD_TYPE_MD5 ;
199
- if (dpassword && dpassword -> arg )
200
- password = strVal (dpassword -> arg );
201
- }
202
188
else if (strcmp (defel -> defname , "unencryptedPassword" ) == 0 )
203
- {
204
189
password_type = PASSWORD_TYPE_PLAINTEXT ;
205
- if (dpassword && dpassword -> arg )
206
- password = strVal (dpassword -> arg );
207
- }
208
- else if (strcmp (defel -> defname , "protocolPassword" ) == 0 )
209
- {
210
- /*
211
- * This is a list of two elements, the password is first and
212
- * then there is the protocol wanted by caller.
213
- */
214
- if (dpassword && dpassword -> arg )
215
- {
216
- char * protocol = strVal (lsecond ((List * ) dpassword -> arg ));
217
-
218
- password = strVal (linitial ((List * ) dpassword -> arg ));
219
-
220
- if (strcmp (protocol , "md5" ) == 0 )
221
- password_type = PASSWORD_TYPE_MD5 ;
222
- else if (strcmp (protocol , "plain" ) == 0 )
223
- password_type = PASSWORD_TYPE_PLAINTEXT ;
224
- else
225
- ereport (ERROR ,
226
- (errcode (ERRCODE_SYNTAX_ERROR ),
227
- errmsg ("unsupported password protocol %s" , protocol )));
228
- }
229
- }
230
190
}
231
191
else if (strcmp (defel -> defname , "sysid" ) == 0 )
232
192
{
@@ -346,6 +306,8 @@ CreateRole(ParseState *pstate, CreateRoleStmt *stmt)
346
306
defel -> defname );
347
307
}
348
308
309
+ if (dpassword && dpassword -> arg )
310
+ password = strVal (dpassword -> arg );
349
311
if (dissuper )
350
312
issuper = intVal (dissuper -> arg ) != 0 ;
351
313
if (dinherit )
@@ -620,57 +582,17 @@ AlterRole(AlterRoleStmt *stmt)
620
582
621
583
if (strcmp (defel -> defname , "password" ) == 0 ||
622
584
strcmp (defel -> defname , "encryptedPassword" ) == 0 ||
623
- strcmp (defel -> defname , "protocolPassword" ) == 0 ||
624
585
strcmp (defel -> defname , "unencryptedPassword" ) == 0 )
625
586
{
626
587
if (dpassword )
627
588
ereport (ERROR ,
628
589
(errcode (ERRCODE_SYNTAX_ERROR ),
629
590
errmsg ("conflicting or redundant options" )));
630
591
dpassword = defel ;
631
- if (strcmp (defel -> defname , "password" ) == 0 )
632
- {
633
- /*
634
- * Password type is enforced with GUC password_encryption
635
- * here.
636
- */
637
- if (dpassword && dpassword -> arg )
638
- password = strVal (dpassword -> arg );
639
- }
640
- else if (strcmp (defel -> defname , "encryptedPassword" ) == 0 )
641
- {
592
+ if (strcmp (defel -> defname , "encryptedPassword" ) == 0 )
642
593
password_type = PASSWORD_TYPE_MD5 ;
643
- if (dpassword && dpassword -> arg )
644
- password = strVal (dpassword -> arg );
645
- }
646
594
else if (strcmp (defel -> defname , "unencryptedPassword" ) == 0 )
647
- {
648
595
password_type = PASSWORD_TYPE_PLAINTEXT ;
649
- if (dpassword && dpassword -> arg )
650
- password = strVal (dpassword -> arg );
651
- }
652
- else if (strcmp (defel -> defname , "protocolPassword" ) == 0 )
653
- {
654
- /*
655
- * This is a list of two elements, the password is first and
656
- * then there is the protocol wanted by caller.
657
- */
658
- if (dpassword && dpassword -> arg )
659
- {
660
- char * protocol = strVal (lsecond ((List * ) dpassword -> arg ));
661
-
662
- if (strcmp (protocol , "md5" ) == 0 )
663
- password_type = PASSWORD_TYPE_MD5 ;
664
- else if (strcmp (protocol , "plain" ) == 0 )
665
- password_type = PASSWORD_TYPE_PLAINTEXT ;
666
- else
667
- ereport (ERROR ,
668
- (errcode (ERRCODE_SYNTAX_ERROR ),
669
- errmsg ("unsupported password protocol %s" , protocol )));
670
-
671
- password = strVal (linitial ((List * ) dpassword -> arg ));
672
- }
673
- }
674
596
}
675
597
else if (strcmp (defel -> defname , "superuser" ) == 0 )
676
598
{
@@ -758,6 +680,8 @@ AlterRole(AlterRoleStmt *stmt)
758
680
defel -> defname );
759
681
}
760
682
683
+ if (dpassword && dpassword -> arg )
684
+ password = strVal (dpassword -> arg );
761
685
if (dissuper )
762
686
issuper = intVal (dissuper -> arg );
763
687
if (dinherit )
0 commit comments