summaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorTom Lane2018-01-26 23:25:02 +0000
committerTom Lane2018-01-26 23:25:14 +0000
commitfb8697b31aaeebe6170c572739867dcaa01053c6 (patch)
tree1dca3435b0bdc4a249e328340af849946e384fcb /src/backend
parent9fd8b7d632570af90a0b374816f604f59bba11ad (diff)
Avoid unnecessary use of pg_strcasecmp for already-downcased identifiers.
We have a lot of code in which option names, which from the user's viewpoint are logically keywords, are passed through the grammar as plain identifiers, and then matched to string literals during command execution. This approach avoids making words into lexer keywords unnecessarily. Some places matched these strings using plain strcmp, some using pg_strcasecmp. But the latter should be unnecessary since identifiers would have been downcased on their way through the parser. Aside from any efficiency concerns (probably not a big factor), the lack of consistency in this area creates a hazard of subtle bugs due to different places coming to different conclusions about whether two option names are the same or different. Hence, standardize on using strcmp() to match any option names that are expected to have been fed through the parser. This does create a user-visible behavioral change, which is that while formerly all of these would work: alter table foo set (fillfactor = 50); alter table foo set (FillFactor = 50); alter table foo set ("fillfactor" = 50); alter table foo set ("FillFactor" = 50); now the last case will fail because that double-quoted identifier is different from the others. However, none of our documentation says that you can use a quoted identifier in such contexts at all, and we should discourage doing so since it would break if we ever decide to parse such constructs as true lexer keywords rather than poor man's substitutes. So this shouldn't create a significant compatibility issue for users. Daniel Gustafsson, reviewed by Michael Paquier, small changes by me Discussion: https://postgr.es/m/29405B24-564E-476B-98C0-677A29805B84@yesql.se
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/access/common/reloptions.c22
-rw-r--r--src/backend/commands/aggregatecmds.c56
-rw-r--r--src/backend/commands/collationcmds.c12
-rw-r--r--src/backend/commands/operatorcmds.c44
-rw-r--r--src/backend/commands/tablecmds.c2
-rw-r--r--src/backend/commands/tsearchcmds.c23
-rw-r--r--src/backend/commands/typecmds.c48
-rw-r--r--src/backend/commands/view.c6
-rw-r--r--src/backend/parser/parse_clause.c2
-rw-r--r--src/backend/snowball/dict_snowball.c4
-rw-r--r--src/backend/tsearch/dict_ispell.c6
-rw-r--r--src/backend/tsearch/dict_simple.c4
-rw-r--r--src/backend/tsearch/dict_synonym.c4
-rw-r--r--src/backend/tsearch/dict_thesaurus.c4
14 files changed, 117 insertions, 120 deletions
diff --git a/src/backend/access/common/reloptions.c b/src/backend/access/common/reloptions.c
index 274f7aa8e97..46276ceff1c 100644
--- a/src/backend/access/common/reloptions.c
+++ b/src/backend/access/common/reloptions.c
@@ -796,12 +796,12 @@ transformRelOptions(Datum oldOptions, List *defList, const char *namspace,
}
else if (def->defnamespace == NULL)
continue;
- else if (pg_strcasecmp(def->defnamespace, namspace) != 0)
+ else if (strcmp(def->defnamespace, namspace) != 0)
continue;
kw_len = strlen(def->defname);
if (text_len > kw_len && text_str[kw_len] == '=' &&
- pg_strncasecmp(text_str, def->defname, kw_len) == 0)
+ strncmp(text_str, def->defname, kw_len) == 0)
break;
}
if (!cell)
@@ -849,8 +849,7 @@ transformRelOptions(Datum oldOptions, List *defList, const char *namspace,
{
for (i = 0; validnsps[i]; i++)
{
- if (pg_strcasecmp(def->defnamespace,
- validnsps[i]) == 0)
+ if (strcmp(def->defnamespace, validnsps[i]) == 0)
{
valid = true;
break;
@@ -865,7 +864,7 @@ transformRelOptions(Datum oldOptions, List *defList, const char *namspace,
def->defnamespace)));
}
- if (ignoreOids && pg_strcasecmp(def->defname, "oids") == 0)
+ if (ignoreOids && strcmp(def->defname, "oids") == 0)
continue;
/* ignore if not in the same namespace */
@@ -876,7 +875,7 @@ transformRelOptions(Datum oldOptions, List *defList, const char *namspace,
}
else if (def->defnamespace == NULL)
continue;
- else if (pg_strcasecmp(def->defnamespace, namspace) != 0)
+ else if (strcmp(def->defnamespace, namspace) != 0)
continue;
/*
@@ -1082,8 +1081,7 @@ parseRelOptions(Datum options, bool validate, relopt_kind kind,
int kw_len = reloptions[j].gen->namelen;
if (text_len > kw_len && text_str[kw_len] == '=' &&
- pg_strncasecmp(text_str, reloptions[j].gen->name,
- kw_len) == 0)
+ strncmp(text_str, reloptions[j].gen->name, kw_len) == 0)
{
parse_one_reloption(&reloptions[j], text_str, text_len,
validate);
@@ -1262,7 +1260,7 @@ fillRelOptions(void *rdopts, Size basesize,
for (j = 0; j < numelems; j++)
{
- if (pg_strcasecmp(options[i].gen->name, elems[j].optname) == 0)
+ if (strcmp(options[i].gen->name, elems[j].optname) == 0)
{
relopt_string *optstring;
char *itempos = ((char *) rdopts) + elems[j].offset;
@@ -1556,9 +1554,9 @@ AlterTableGetRelOptionsLockLevel(List *defList)
for (i = 0; relOpts[i]; i++)
{
- if (pg_strncasecmp(relOpts[i]->name,
- def->defname,
- relOpts[i]->namelen + 1) == 0)
+ if (strncmp(relOpts[i]->name,
+ def->defname,
+ relOpts[i]->namelen + 1) == 0)
{
if (lockmode < relOpts[i]->lockmode)
lockmode = relOpts[i]->lockmode;
diff --git a/src/backend/commands/aggregatecmds.c b/src/backend/commands/aggregatecmds.c
index 1779ba7bcb2..a48c3ac5727 100644
--- a/src/backend/commands/aggregatecmds.c
+++ b/src/backend/commands/aggregatecmds.c
@@ -127,37 +127,37 @@ DefineAggregate(ParseState *pstate, List *name, List *args, bool oldstyle, List
* sfunc1, stype1, and initcond1 are accepted as obsolete spellings
* for sfunc, stype, initcond.
*/
- if (pg_strcasecmp(defel->defname, "sfunc") == 0)
+ if (strcmp(defel->defname, "sfunc") == 0)
transfuncName = defGetQualifiedName(defel);
- else if (pg_strcasecmp(defel->defname, "sfunc1") == 0)
+ else if (strcmp(defel->defname, "sfunc1") == 0)
transfuncName = defGetQualifiedName(defel);
- else if (pg_strcasecmp(defel->defname, "finalfunc") == 0)
+ else if (strcmp(defel->defname, "finalfunc") == 0)
finalfuncName = defGetQualifiedName(defel);
- else if (pg_strcasecmp(defel->defname, "combinefunc") == 0)
+ else if (strcmp(defel->defname, "combinefunc") == 0)
combinefuncName = defGetQualifiedName(defel);
- else if (pg_strcasecmp(defel->defname, "serialfunc") == 0)
+ else if (strcmp(defel->defname, "serialfunc") == 0)
serialfuncName = defGetQualifiedName(defel);
- else if (pg_strcasecmp(defel->defname, "deserialfunc") == 0)
+ else if (strcmp(defel->defname, "deserialfunc") == 0)
deserialfuncName = defGetQualifiedName(defel);
- else if (pg_strcasecmp(defel->defname, "msfunc") == 0)
+ else if (strcmp(defel->defname, "msfunc") == 0)
mtransfuncName = defGetQualifiedName(defel);
- else if (pg_strcasecmp(defel->defname, "minvfunc") == 0)
+ else if (strcmp(defel->defname, "minvfunc") == 0)
minvtransfuncName = defGetQualifiedName(defel);
- else if (pg_strcasecmp(defel->defname, "mfinalfunc") == 0)
+ else if (strcmp(defel->defname, "mfinalfunc") == 0)
mfinalfuncName = defGetQualifiedName(defel);
- else if (pg_strcasecmp(defel->defname, "finalfunc_extra") == 0)
+ else if (strcmp(defel->defname, "finalfunc_extra") == 0)
finalfuncExtraArgs = defGetBoolean(defel);
- else if (pg_strcasecmp(defel->defname, "mfinalfunc_extra") == 0)
+ else if (strcmp(defel->defname, "mfinalfunc_extra") == 0)
mfinalfuncExtraArgs = defGetBoolean(defel);
- else if (pg_strcasecmp(defel->defname, "finalfunc_modify") == 0)
+ else if (strcmp(defel->defname, "finalfunc_modify") == 0)
finalfuncModify = extractModify(defel);
- else if (pg_strcasecmp(defel->defname, "mfinalfunc_modify") == 0)
+ else if (strcmp(defel->defname, "mfinalfunc_modify") == 0)
mfinalfuncModify = extractModify(defel);
- else if (pg_strcasecmp(defel->defname, "sortop") == 0)
+ else if (strcmp(defel->defname, "sortop") == 0)
sortoperatorName = defGetQualifiedName(defel);
- else if (pg_strcasecmp(defel->defname, "basetype") == 0)
+ else if (strcmp(defel->defname, "basetype") == 0)
baseType = defGetTypeName(defel);
- else if (pg_strcasecmp(defel->defname, "hypothetical") == 0)
+ else if (strcmp(defel->defname, "hypothetical") == 0)
{
if (defGetBoolean(defel))
{
@@ -168,23 +168,23 @@ DefineAggregate(ParseState *pstate, List *name, List *args, bool oldstyle, List
aggKind = AGGKIND_HYPOTHETICAL;
}
}
- else if (pg_strcasecmp(defel->defname, "stype") == 0)
+ else if (strcmp(defel->defname, "stype") == 0)
transType = defGetTypeName(defel);
- else if (pg_strcasecmp(defel->defname, "stype1") == 0)
+ else if (strcmp(defel->defname, "stype1") == 0)
transType = defGetTypeName(defel);
- else if (pg_strcasecmp(defel->defname, "sspace") == 0)
+ else if (strcmp(defel->defname, "sspace") == 0)
transSpace = defGetInt32(defel);
- else if (pg_strcasecmp(defel->defname, "mstype") == 0)
+ else if (strcmp(defel->defname, "mstype") == 0)
mtransType = defGetTypeName(defel);
- else if (pg_strcasecmp(defel->defname, "msspace") == 0)
+ else if (strcmp(defel->defname, "msspace") == 0)
mtransSpace = defGetInt32(defel);
- else if (pg_strcasecmp(defel->defname, "initcond") == 0)
+ else if (strcmp(defel->defname, "initcond") == 0)
initval = defGetString(defel);
- else if (pg_strcasecmp(defel->defname, "initcond1") == 0)
+ else if (strcmp(defel->defname, "initcond1") == 0)
initval = defGetString(defel);
- else if (pg_strcasecmp(defel->defname, "minitcond") == 0)
+ else if (strcmp(defel->defname, "minitcond") == 0)
minitval = defGetString(defel);
- else if (pg_strcasecmp(defel->defname, "parallel") == 0)
+ else if (strcmp(defel->defname, "parallel") == 0)
parallel = defGetString(defel);
else
ereport(WARNING,
@@ -420,11 +420,11 @@ DefineAggregate(ParseState *pstate, List *name, List *args, bool oldstyle, List
if (parallel)
{
- if (pg_strcasecmp(parallel, "safe") == 0)
+ if (strcmp(parallel, "safe") == 0)
proparallel = PROPARALLEL_SAFE;
- else if (pg_strcasecmp(parallel, "restricted") == 0)
+ else if (strcmp(parallel, "restricted") == 0)
proparallel = PROPARALLEL_RESTRICTED;
- else if (pg_strcasecmp(parallel, "unsafe") == 0)
+ else if (strcmp(parallel, "unsafe") == 0)
proparallel = PROPARALLEL_UNSAFE;
else
ereport(ERROR,
diff --git a/src/backend/commands/collationcmds.c b/src/backend/commands/collationcmds.c
index fdfb3dcd2c8..d0b5cdb69a2 100644
--- a/src/backend/commands/collationcmds.c
+++ b/src/backend/commands/collationcmds.c
@@ -82,17 +82,17 @@ DefineCollation(ParseState *pstate, List *names, List *parameters, bool if_not_e
DefElem *defel = lfirst_node(DefElem, pl);
DefElem **defelp;
- if (pg_strcasecmp(defel->defname, "from") == 0)
+ if (strcmp(defel->defname, "from") == 0)
defelp = &fromEl;
- else if (pg_strcasecmp(defel->defname, "locale") == 0)
+ else if (strcmp(defel->defname, "locale") == 0)
defelp = &localeEl;
- else if (pg_strcasecmp(defel->defname, "lc_collate") == 0)
+ else if (strcmp(defel->defname, "lc_collate") == 0)
defelp = &lccollateEl;
- else if (pg_strcasecmp(defel->defname, "lc_ctype") == 0)
+ else if (strcmp(defel->defname, "lc_ctype") == 0)
defelp = &lcctypeEl;
- else if (pg_strcasecmp(defel->defname, "provider") == 0)
+ else if (strcmp(defel->defname, "provider") == 0)
defelp = &providerEl;
- else if (pg_strcasecmp(defel->defname, "version") == 0)
+ else if (strcmp(defel->defname, "version") == 0)
defelp = &versionEl;
else
{
diff --git a/src/backend/commands/operatorcmds.c b/src/backend/commands/operatorcmds.c
index 35404ac39a4..585382d7587 100644
--- a/src/backend/commands/operatorcmds.c
+++ b/src/backend/commands/operatorcmds.c
@@ -105,7 +105,7 @@ DefineOperator(List *names, List *parameters)
{
DefElem *defel = (DefElem *) lfirst(pl);
- if (pg_strcasecmp(defel->defname, "leftarg") == 0)
+ if (strcmp(defel->defname, "leftarg") == 0)
{
typeName1 = defGetTypeName(defel);
if (typeName1->setof)
@@ -113,7 +113,7 @@ DefineOperator(List *names, List *parameters)
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
errmsg("SETOF type not allowed for operator argument")));
}
- else if (pg_strcasecmp(defel->defname, "rightarg") == 0)
+ else if (strcmp(defel->defname, "rightarg") == 0)
{
typeName2 = defGetTypeName(defel);
if (typeName2->setof)
@@ -121,28 +121,28 @@ DefineOperator(List *names, List *parameters)
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
errmsg("SETOF type not allowed for operator argument")));
}
- else if (pg_strcasecmp(defel->defname, "procedure") == 0)
+ else if (strcmp(defel->defname, "procedure") == 0)
functionName = defGetQualifiedName(defel);
- else if (pg_strcasecmp(defel->defname, "commutator") == 0)
+ else if (strcmp(defel->defname, "commutator") == 0)
commutatorName = defGetQualifiedName(defel);
- else if (pg_strcasecmp(defel->defname, "negator") == 0)
+ else if (strcmp(defel->defname, "negator") == 0)
negatorName = defGetQualifiedName(defel);
- else if (pg_strcasecmp(defel->defname, "restrict") == 0)
+ else if (strcmp(defel->defname, "restrict") == 0)
restrictionName = defGetQualifiedName(defel);
- else if (pg_strcasecmp(defel->defname, "join") == 0)
+ else if (strcmp(defel->defname, "join") == 0)
joinName = defGetQualifiedName(defel);
- else if (pg_strcasecmp(defel->defname, "hashes") == 0)
+ else if (strcmp(defel->defname, "hashes") == 0)
canHash = defGetBoolean(defel);
- else if (pg_strcasecmp(defel->defname, "merges") == 0)
+ else if (strcmp(defel->defname, "merges") == 0)
canMerge = defGetBoolean(defel);
/* These obsolete options are taken as meaning canMerge */
- else if (pg_strcasecmp(defel->defname, "sort1") == 0)
+ else if (strcmp(defel->defname, "sort1") == 0)
canMerge = true;
- else if (pg_strcasecmp(defel->defname, "sort2") == 0)
+ else if (strcmp(defel->defname, "sort2") == 0)
canMerge = true;
- else if (pg_strcasecmp(defel->defname, "ltcmp") == 0)
+ else if (strcmp(defel->defname, "ltcmp") == 0)
canMerge = true;
- else if (pg_strcasecmp(defel->defname, "gtcmp") == 0)
+ else if (strcmp(defel->defname, "gtcmp") == 0)
canMerge = true;
else
{
@@ -420,12 +420,12 @@ AlterOperator(AlterOperatorStmt *stmt)
else
param = defGetQualifiedName(defel);
- if (pg_strcasecmp(defel->defname, "restrict") == 0)
+ if (strcmp(defel->defname, "restrict") == 0)
{
restrictionName = param;
updateRestriction = true;
}
- else if (pg_strcasecmp(defel->defname, "join") == 0)
+ else if (strcmp(defel->defname, "join") == 0)
{
joinName = param;
updateJoin = true;
@@ -435,13 +435,13 @@ AlterOperator(AlterOperatorStmt *stmt)
* The rest of the options that CREATE accepts cannot be changed.
* Check for them so that we can give a meaningful error message.
*/
- else if (pg_strcasecmp(defel->defname, "leftarg") == 0 ||
- pg_strcasecmp(defel->defname, "rightarg") == 0 ||
- pg_strcasecmp(defel->defname, "procedure") == 0 ||
- pg_strcasecmp(defel->defname, "commutator") == 0 ||
- pg_strcasecmp(defel->defname, "negator") == 0 ||
- pg_strcasecmp(defel->defname, "hashes") == 0 ||
- pg_strcasecmp(defel->defname, "merges") == 0)
+ else if (strcmp(defel->defname, "leftarg") == 0 ||
+ strcmp(defel->defname, "rightarg") == 0 ||
+ strcmp(defel->defname, "procedure") == 0 ||
+ strcmp(defel->defname, "commutator") == 0 ||
+ strcmp(defel->defname, "negator") == 0 ||
+ strcmp(defel->defname, "hashes") == 0 ||
+ strcmp(defel->defname, "merges") == 0)
{
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index 2e768dd5e46..ea03fd2ecf3 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -10536,7 +10536,7 @@ ATExecSetRelOptions(Relation rel, List *defList, AlterTableType operation,
{
DefElem *defel = (DefElem *) lfirst(cell);
- if (pg_strcasecmp(defel->defname, "check_option") == 0)
+ if (strcmp(defel->defname, "check_option") == 0)
check_option = true;
}
diff --git a/src/backend/commands/tsearchcmds.c b/src/backend/commands/tsearchcmds.c
index bdf3857ce41..3a843512d13 100644
--- a/src/backend/commands/tsearchcmds.c
+++ b/src/backend/commands/tsearchcmds.c
@@ -209,27 +209,27 @@ DefineTSParser(List *names, List *parameters)
{
DefElem *defel = (DefElem *) lfirst(pl);
- if (pg_strcasecmp(defel->defname, "start") == 0)
+ if (strcmp(defel->defname, "start") == 0)
{
values[Anum_pg_ts_parser_prsstart - 1] =
get_ts_parser_func(defel, Anum_pg_ts_parser_prsstart);
}
- else if (pg_strcasecmp(defel->defname, "gettoken") == 0)
+ else if (strcmp(defel->defname, "gettoken") == 0)
{
values[Anum_pg_ts_parser_prstoken - 1] =
get_ts_parser_func(defel, Anum_pg_ts_parser_prstoken);
}
- else if (pg_strcasecmp(defel->defname, "end") == 0)
+ else if (strcmp(defel->defname, "end") == 0)
{
values[Anum_pg_ts_parser_prsend - 1] =
get_ts_parser_func(defel, Anum_pg_ts_parser_prsend);
}
- else if (pg_strcasecmp(defel->defname, "headline") == 0)
+ else if (strcmp(defel->defname, "headline") == 0)
{
values[Anum_pg_ts_parser_prsheadline - 1] =
get_ts_parser_func(defel, Anum_pg_ts_parser_prsheadline);
}
- else if (pg_strcasecmp(defel->defname, "lextypes") == 0)
+ else if (strcmp(defel->defname, "lextypes") == 0)
{
values[Anum_pg_ts_parser_prslextype - 1] =
get_ts_parser_func(defel, Anum_pg_ts_parser_prslextype);
@@ -438,7 +438,7 @@ DefineTSDictionary(List *names, List *parameters)
{
DefElem *defel = (DefElem *) lfirst(pl);
- if (pg_strcasecmp(defel->defname, "template") == 0)
+ if (strcmp(defel->defname, "template") == 0)
{
templId = get_ts_template_oid(defGetQualifiedName(defel), false);
}
@@ -580,7 +580,7 @@ AlterTSDictionary(AlterTSDictionaryStmt *stmt)
DefElem *oldel = (DefElem *) lfirst(cell);
next = lnext(cell);
- if (pg_strcasecmp(oldel->defname, defel->defname) == 0)
+ if (strcmp(oldel->defname, defel->defname) == 0)
dictoptions = list_delete_cell(dictoptions, cell, prev);
else
prev = cell;
@@ -765,13 +765,13 @@ DefineTSTemplate(List *names, List *parameters)
{
DefElem *defel = (DefElem *) lfirst(pl);
- if (pg_strcasecmp(defel->defname, "init") == 0)
+ if (strcmp(defel->defname, "init") == 0)
{
values[Anum_pg_ts_template_tmplinit - 1] =
get_ts_template_func(defel, Anum_pg_ts_template_tmplinit);
nulls[Anum_pg_ts_template_tmplinit - 1] = false;
}
- else if (pg_strcasecmp(defel->defname, "lexize") == 0)
+ else if (strcmp(defel->defname, "lexize") == 0)
{
values[Anum_pg_ts_template_tmpllexize - 1] =
get_ts_template_func(defel, Anum_pg_ts_template_tmpllexize);
@@ -990,9 +990,9 @@ DefineTSConfiguration(List *names, List *parameters, ObjectAddress *copied)
{
DefElem *defel = (DefElem *) lfirst(pl);
- if (pg_strcasecmp(defel->defname, "parser") == 0)
+ if (strcmp(defel->defname, "parser") == 0)
prsOid = get_ts_parser_oid(defGetQualifiedName(defel), false);
- else if (pg_strcasecmp(defel->defname, "copy") == 0)
+ else if (strcmp(defel->defname, "copy") == 0)
sourceOid = get_ts_config_oid(defGetQualifiedName(defel), false);
else
ereport(ERROR,
@@ -1251,7 +1251,6 @@ getTokenTypes(Oid prsId, List *tokennames)
j = 0;
while (list && list[j].lexid)
{
- /* XXX should we use pg_strcasecmp here? */
if (strcmp(strVal(val), list[j].alias) == 0)
{
res[i] = list[j].lexid;
diff --git a/src/backend/commands/typecmds.c b/src/backend/commands/typecmds.c
index 74eb430f96b..899a5c4cd4c 100644
--- a/src/backend/commands/typecmds.c
+++ b/src/backend/commands/typecmds.c
@@ -245,42 +245,42 @@ DefineType(ParseState *pstate, List *names, List *parameters)
DefElem *defel = (DefElem *) lfirst(pl);
DefElem **defelp;
- if (pg_strcasecmp(defel->defname, "like") == 0)
+ if (strcmp(defel->defname, "like") == 0)
defelp = &likeTypeEl;
- else if (pg_strcasecmp(defel->defname, "internallength") == 0)
+ else if (strcmp(defel->defname, "internallength") == 0)
defelp = &internalLengthEl;
- else if (pg_strcasecmp(defel->defname, "input") == 0)
+ else if (strcmp(defel->defname, "input") == 0)
defelp = &inputNameEl;
- else if (pg_strcasecmp(defel->defname, "output") == 0)
+ else if (strcmp(defel->defname, "output") == 0)
defelp = &outputNameEl;
- else if (pg_strcasecmp(defel->defname, "receive") == 0)
+ else if (strcmp(defel->defname, "receive") == 0)
defelp = &receiveNameEl;
- else if (pg_strcasecmp(defel->defname, "send") == 0)
+ else if (strcmp(defel->defname, "send") == 0)
defelp = &sendNameEl;
- else if (pg_strcasecmp(defel->defname, "typmod_in") == 0)
+ else if (strcmp(defel->defname, "typmod_in") == 0)
defelp = &typmodinNameEl;
- else if (pg_strcasecmp(defel->defname, "typmod_out") == 0)
+ else if (strcmp(defel->defname, "typmod_out") == 0)
defelp = &typmodoutNameEl;
- else if (pg_strcasecmp(defel->defname, "analyze") == 0 ||
- pg_strcasecmp(defel->defname, "analyse") == 0)
+ else if (strcmp(defel->defname, "analyze") == 0 ||
+ strcmp(defel->defname, "analyse") == 0)
defelp = &analyzeNameEl;
- else if (pg_strcasecmp(defel->defname, "category") == 0)
+ else if (strcmp(defel->defname, "category") == 0)
defelp = &categoryEl;
- else if (pg_strcasecmp(defel->defname, "preferred") == 0)
+ else if (strcmp(defel->defname, "preferred") == 0)
defelp = &preferredEl;
- else if (pg_strcasecmp(defel->defname, "delimiter") == 0)
+ else if (strcmp(defel->defname, "delimiter") == 0)
defelp = &delimiterEl;
- else if (pg_strcasecmp(defel->defname, "element") == 0)
+ else if (strcmp(defel->defname, "element") == 0)
defelp = &elemTypeEl;
- else if (pg_strcasecmp(defel->defname, "default") == 0)
+ else if (strcmp(defel->defname, "default") == 0)
defelp = &defaultValueEl;
- else if (pg_strcasecmp(defel->defname, "passedbyvalue") == 0)
+ else if (strcmp(defel->defname, "passedbyvalue") == 0)
defelp = &byValueEl;
- else if (pg_strcasecmp(defel->defname, "alignment") == 0)
+ else if (strcmp(defel->defname, "alignment") == 0)
defelp = &alignmentEl;
- else if (pg_strcasecmp(defel->defname, "storage") == 0)
+ else if (strcmp(defel->defname, "storage") == 0)
defelp = &storageEl;
- else if (pg_strcasecmp(defel->defname, "collatable") == 0)
+ else if (strcmp(defel->defname, "collatable") == 0)
defelp = &collatableEl;
else
{
@@ -1439,7 +1439,7 @@ DefineRange(CreateRangeStmt *stmt)
{
DefElem *defel = (DefElem *) lfirst(lc);
- if (pg_strcasecmp(defel->defname, "subtype") == 0)
+ if (strcmp(defel->defname, "subtype") == 0)
{
if (OidIsValid(rangeSubtype))
ereport(ERROR,
@@ -1448,7 +1448,7 @@ DefineRange(CreateRangeStmt *stmt)
/* we can look up the subtype name immediately */
rangeSubtype = typenameTypeId(NULL, defGetTypeName(defel));
}
- else if (pg_strcasecmp(defel->defname, "subtype_opclass") == 0)
+ else if (strcmp(defel->defname, "subtype_opclass") == 0)
{
if (rangeSubOpclassName != NIL)
ereport(ERROR,
@@ -1456,7 +1456,7 @@ DefineRange(CreateRangeStmt *stmt)
errmsg("conflicting or redundant options")));
rangeSubOpclassName = defGetQualifiedName(defel);
}
- else if (pg_strcasecmp(defel->defname, "collation") == 0)
+ else if (strcmp(defel->defname, "collation") == 0)
{
if (rangeCollationName != NIL)
ereport(ERROR,
@@ -1464,7 +1464,7 @@ DefineRange(CreateRangeStmt *stmt)
errmsg("conflicting or redundant options")));
rangeCollationName = defGetQualifiedName(defel);
}
- else if (pg_strcasecmp(defel->defname, "canonical") == 0)
+ else if (strcmp(defel->defname, "canonical") == 0)
{
if (rangeCanonicalName != NIL)
ereport(ERROR,
@@ -1472,7 +1472,7 @@ DefineRange(CreateRangeStmt *stmt)
errmsg("conflicting or redundant options")));
rangeCanonicalName = defGetQualifiedName(defel);
}
- else if (pg_strcasecmp(defel->defname, "subtype_diff") == 0)
+ else if (strcmp(defel->defname, "subtype_diff") == 0)
{
if (rangeSubtypeDiffName != NIL)
ereport(ERROR,
diff --git a/src/backend/commands/view.c b/src/backend/commands/view.c
index 04ad76a210a..7d4511c585b 100644
--- a/src/backend/commands/view.c
+++ b/src/backend/commands/view.c
@@ -46,8 +46,8 @@ void
validateWithCheckOption(const char *value)
{
if (value == NULL ||
- (pg_strcasecmp(value, "local") != 0 &&
- pg_strcasecmp(value, "cascaded") != 0))
+ (strcmp(value, "local") != 0 &&
+ strcmp(value, "cascaded") != 0))
{
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
@@ -485,7 +485,7 @@ DefineView(ViewStmt *stmt, const char *queryString,
{
DefElem *defel = (DefElem *) lfirst(cell);
- if (pg_strcasecmp(defel->defname, "check_option") == 0)
+ if (strcmp(defel->defname, "check_option") == 0)
check_option = true;
}
diff --git a/src/backend/parser/parse_clause.c b/src/backend/parser/parse_clause.c
index 9fbcfd4fa61..406cd1dad03 100644
--- a/src/backend/parser/parse_clause.c
+++ b/src/backend/parser/parse_clause.c
@@ -262,7 +262,7 @@ interpretOidsOption(List *defList, bool allowOids)
DefElem *def = (DefElem *) lfirst(cell);
if (def->defnamespace == NULL &&
- pg_strcasecmp(def->defname, "oids") == 0)
+ strcmp(def->defname, "oids") == 0)
{
if (!allowOids)
ereport(ERROR,
diff --git a/src/backend/snowball/dict_snowball.c b/src/backend/snowball/dict_snowball.c
index 043681ec2d8..78c9f73ef03 100644
--- a/src/backend/snowball/dict_snowball.c
+++ b/src/backend/snowball/dict_snowball.c
@@ -192,7 +192,7 @@ dsnowball_init(PG_FUNCTION_ARGS)
{
DefElem *defel = (DefElem *) lfirst(l);
- if (pg_strcasecmp("StopWords", defel->defname) == 0)
+ if (strcmp(defel->defname, "stopwords") == 0)
{
if (stoploaded)
ereport(ERROR,
@@ -201,7 +201,7 @@ dsnowball_init(PG_FUNCTION_ARGS)
readstoplist(defGetString(defel), &d->stoplist, lowerstr);
stoploaded = true;
}
- else if (pg_strcasecmp("Language", defel->defname) == 0)
+ else if (strcmp(defel->defname, "language") == 0)
{
if (d->stem)
ereport(ERROR,
diff --git a/src/backend/tsearch/dict_ispell.c b/src/backend/tsearch/dict_ispell.c
index 0d706795ad9..edc65477007 100644
--- a/src/backend/tsearch/dict_ispell.c
+++ b/src/backend/tsearch/dict_ispell.c
@@ -44,7 +44,7 @@ dispell_init(PG_FUNCTION_ARGS)
{
DefElem *defel = (DefElem *) lfirst(l);
- if (pg_strcasecmp(defel->defname, "DictFile") == 0)
+ if (strcmp(defel->defname, "dictfile") == 0)
{
if (dictloaded)
ereport(ERROR,
@@ -55,7 +55,7 @@ dispell_init(PG_FUNCTION_ARGS)
"dict"));
dictloaded = true;
}
- else if (pg_strcasecmp(defel->defname, "AffFile") == 0)
+ else if (strcmp(defel->defname, "afffile") == 0)
{
if (affloaded)
ereport(ERROR,
@@ -66,7 +66,7 @@ dispell_init(PG_FUNCTION_ARGS)
"affix"));
affloaded = true;
}
- else if (pg_strcasecmp(defel->defname, "StopWords") == 0)
+ else if (strcmp(defel->defname, "stopwords") == 0)
{
if (stoploaded)
ereport(ERROR,
diff --git a/src/backend/tsearch/dict_simple.c b/src/backend/tsearch/dict_simple.c
index 268b4e48cf7..ac6a24eba5b 100644
--- a/src/backend/tsearch/dict_simple.c
+++ b/src/backend/tsearch/dict_simple.c
@@ -41,7 +41,7 @@ dsimple_init(PG_FUNCTION_ARGS)
{
DefElem *defel = (DefElem *) lfirst(l);
- if (pg_strcasecmp("StopWords", defel->defname) == 0)
+ if (strcmp(defel->defname, "stopwords") == 0)
{
if (stoploaded)
ereport(ERROR,
@@ -50,7 +50,7 @@ dsimple_init(PG_FUNCTION_ARGS)
readstoplist(defGetString(defel), &d->stoplist, lowerstr);
stoploaded = true;
}
- else if (pg_strcasecmp("Accept", defel->defname) == 0)
+ else if (strcmp(defel->defname, "accept") == 0)
{
if (acceptloaded)
ereport(ERROR,
diff --git a/src/backend/tsearch/dict_synonym.c b/src/backend/tsearch/dict_synonym.c
index 8ca65f3deda..c011886cb05 100644
--- a/src/backend/tsearch/dict_synonym.c
+++ b/src/backend/tsearch/dict_synonym.c
@@ -108,9 +108,9 @@ dsynonym_init(PG_FUNCTION_ARGS)
{
DefElem *defel = (DefElem *) lfirst(l);
- if (pg_strcasecmp("Synonyms", defel->defname) == 0)
+ if (strcmp(defel->defname, "synonyms") == 0)
filename = defGetString(defel);
- else if (pg_strcasecmp("CaseSensitive", defel->defname) == 0)
+ else if (strcmp(defel->defname, "casesensitive") == 0)
case_sensitive = defGetBoolean(defel);
else
ereport(ERROR,
diff --git a/src/backend/tsearch/dict_thesaurus.c b/src/backend/tsearch/dict_thesaurus.c
index 23aaac8d074..24364e646d3 100644
--- a/src/backend/tsearch/dict_thesaurus.c
+++ b/src/backend/tsearch/dict_thesaurus.c
@@ -616,7 +616,7 @@ thesaurus_init(PG_FUNCTION_ARGS)
{
DefElem *defel = (DefElem *) lfirst(l);
- if (pg_strcasecmp("DictFile", defel->defname) == 0)
+ if (strcmp(defel->defname, "dictfile") == 0)
{
if (fileloaded)
ereport(ERROR,
@@ -625,7 +625,7 @@ thesaurus_init(PG_FUNCTION_ARGS)
thesaurusRead(defGetString(defel), d);
fileloaded = true;
}
- else if (pg_strcasecmp("Dictionary", defel->defname) == 0)
+ else if (strcmp(defel->defname, "dictionary") == 0)
{
if (subdictname)
ereport(ERROR,