aboutsummaryrefslogtreecommitdiff
path: root/src/bin/psql/tab-complete.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/psql/tab-complete.c')
-rw-r--r--src/bin/psql/tab-complete.c436
1 files changed, 218 insertions, 218 deletions
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index ba3039d9930..f2b2d0902b6 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -3,7 +3,7 @@
*
* Copyright (c) 2000-2003, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.104 2004/04/05 03:02:09 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.105 2004/05/07 00:24:58 tgl Exp $
*/
/*----------------------------------------------------------------------
@@ -617,9 +617,9 @@ psql_completion(char *text, int start, int end)
/* CREATE or DROP but not ALTER TABLE sth DROP */
/* complete with something you can create or drop */
- else if (strcasecmp(prev_wd, "CREATE") == 0 ||
- (strcasecmp(prev_wd, "DROP") == 0 &&
- strcasecmp(prev3_wd, "TABLE") != 0))
+ else if (pg_strcasecmp(prev_wd, "CREATE") == 0 ||
+ (pg_strcasecmp(prev_wd, "DROP") == 0 &&
+ pg_strcasecmp(prev3_wd, "TABLE") != 0))
matches = completion_matches(text, create_command_generator);
/* ALTER */
@@ -628,8 +628,8 @@ psql_completion(char *text, int start, int end)
* complete with what you can alter (TABLE, GROUP, USER, ...) unless
* we're in ALTER TABLE sth ALTER
*/
- else if (strcasecmp(prev_wd, "ALTER") == 0 &&
- strcasecmp(prev3_wd, "TABLE") != 0)
+ else if (pg_strcasecmp(prev_wd, "ALTER") == 0 &&
+ pg_strcasecmp(prev3_wd, "TABLE") != 0)
{
static const char *const list_ALTER[] =
{"DATABASE", "GROUP", "SCHEMA", "TABLE", "TRIGGER", "USER", NULL};
@@ -638,8 +638,8 @@ psql_completion(char *text, int start, int end)
}
/* ALTER DATABASE <name> */
- else if (strcasecmp(prev3_wd, "ALTER") == 0 &&
- strcasecmp(prev2_wd, "DATABASE") == 0)
+ else if (pg_strcasecmp(prev3_wd, "ALTER") == 0 &&
+ pg_strcasecmp(prev2_wd, "DATABASE") == 0)
{
static const char *const list_ALTERDATABASE[] =
{"RESET", "SET", "RENAME TO", NULL};
@@ -647,24 +647,24 @@ psql_completion(char *text, int start, int end)
COMPLETE_WITH_LIST(list_ALTERDATABASE);
}
/* ALTER TRIGGER <name>, add ON */
- else if (strcasecmp(prev3_wd, "ALTER") == 0 &&
- strcasecmp(prev2_wd, "TRIGGER") == 0)
+ else if (pg_strcasecmp(prev3_wd, "ALTER") == 0 &&
+ pg_strcasecmp(prev2_wd, "TRIGGER") == 0)
COMPLETE_WITH_CONST("ON");
/*
* If we have ALTER TRIGGER <sth> ON, then add the correct tablename
*/
- else if (strcasecmp(prev4_wd, "ALTER") == 0 &&
- strcasecmp(prev3_wd, "TRIGGER") == 0 &&
- strcasecmp(prev_wd, "ON") == 0)
+ else if (pg_strcasecmp(prev4_wd, "ALTER") == 0 &&
+ pg_strcasecmp(prev3_wd, "TRIGGER") == 0 &&
+ pg_strcasecmp(prev_wd, "ON") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
/*
* If we detect ALTER TABLE <name>, suggest either ADD, DROP, ALTER,
* RENAME, or OWNER
*/
- else if (strcasecmp(prev3_wd, "ALTER") == 0 &&
- strcasecmp(prev2_wd, "TABLE") == 0)
+ else if (pg_strcasecmp(prev3_wd, "ALTER") == 0 &&
+ pg_strcasecmp(prev2_wd, "TABLE") == 0)
{
static const char *const list_ALTER2[] =
{"ADD", "ALTER", "DROP", "RENAME", "OWNER TO", NULL};
@@ -672,14 +672,14 @@ psql_completion(char *text, int start, int end)
COMPLETE_WITH_LIST(list_ALTER2);
}
/* If we have TABLE <sth> ALTER|RENAME, provide list of columns */
- else if (strcasecmp(prev3_wd, "TABLE") == 0 &&
- (strcasecmp(prev_wd, "ALTER") == 0 ||
- strcasecmp(prev_wd, "RENAME") == 0))
+ else if (pg_strcasecmp(prev3_wd, "TABLE") == 0 &&
+ (pg_strcasecmp(prev_wd, "ALTER") == 0 ||
+ pg_strcasecmp(prev_wd, "RENAME") == 0))
COMPLETE_WITH_ATTR(prev2_wd);
/* If we have TABLE <sth> DROP, provide COLUMN or CONSTRAINT */
- else if (strcasecmp(prev3_wd, "TABLE") == 0 &&
- strcasecmp(prev_wd, "DROP") == 0)
+ else if (pg_strcasecmp(prev3_wd, "TABLE") == 0 &&
+ pg_strcasecmp(prev_wd, "DROP") == 0)
{
static const char *const list_TABLEDROP[] =
{"COLUMN", "CONSTRAINT", NULL};
@@ -687,14 +687,14 @@ psql_completion(char *text, int start, int end)
COMPLETE_WITH_LIST(list_TABLEDROP);
}
/* If we have TABLE <sth> DROP COLUMN, provide list of columns */
- else if (strcasecmp(prev4_wd, "TABLE") == 0 &&
- strcasecmp(prev2_wd, "DROP") == 0 &&
- strcasecmp(prev_wd, "COLUMN") == 0)
+ else if (pg_strcasecmp(prev4_wd, "TABLE") == 0 &&
+ pg_strcasecmp(prev2_wd, "DROP") == 0 &&
+ pg_strcasecmp(prev_wd, "COLUMN") == 0)
COMPLETE_WITH_ATTR(prev3_wd);
/* complete ALTER GROUP <foo> with ADD or DROP */
- else if (strcasecmp(prev3_wd, "ALTER") == 0 &&
- strcasecmp(prev2_wd, "GROUP") == 0)
+ else if (pg_strcasecmp(prev3_wd, "ALTER") == 0 &&
+ pg_strcasecmp(prev2_wd, "GROUP") == 0)
{
static const char *const list_ALTERGROUP[] =
{"ADD", "DROP", NULL};
@@ -702,32 +702,32 @@ psql_completion(char *text, int start, int end)
COMPLETE_WITH_LIST(list_ALTERGROUP);
}
/* complete ALTER GROUP <foo> ADD|DROP with USER */
- else if (strcasecmp(prev4_wd, "ALTER") == 0 &&
- strcasecmp(prev3_wd, "GROUP") == 0 &&
- (strcasecmp(prev_wd, "ADD") == 0 ||
- strcasecmp(prev_wd, "DROP") == 0))
+ else if (pg_strcasecmp(prev4_wd, "ALTER") == 0 &&
+ pg_strcasecmp(prev3_wd, "GROUP") == 0 &&
+ (pg_strcasecmp(prev_wd, "ADD") == 0 ||
+ pg_strcasecmp(prev_wd, "DROP") == 0))
COMPLETE_WITH_CONST("USER");
/* complete {ALTER} GROUP <foo> ADD|DROP USER with a user name */
- else if (strcasecmp(prev4_wd, "GROUP") == 0 &&
- (strcasecmp(prev2_wd, "ADD") == 0 ||
- strcasecmp(prev2_wd, "DROP") == 0) &&
- strcasecmp(prev_wd, "USER") == 0)
+ else if (pg_strcasecmp(prev4_wd, "GROUP") == 0 &&
+ (pg_strcasecmp(prev2_wd, "ADD") == 0 ||
+ pg_strcasecmp(prev2_wd, "DROP") == 0) &&
+ pg_strcasecmp(prev_wd, "USER") == 0)
COMPLETE_WITH_QUERY(Query_for_list_of_users);
/* ANALYZE */
/* If the previous word is ANALYZE, produce list of tables. */
- else if (strcasecmp(prev_wd, "ANALYZE") == 0)
+ else if (pg_strcasecmp(prev_wd, "ANALYZE") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
/* If we have ANALYZE <table>, complete with semicolon. */
- else if (strcasecmp(prev2_wd, "ANALYZE") == 0)
+ else if (pg_strcasecmp(prev2_wd, "ANALYZE") == 0)
COMPLETE_WITH_CONST(";");
/* BEGIN, COMMIT, ROLLBACK, ABORT, */
- else if (strcasecmp(prev_wd, "BEGIN") == 0 ||
- strcasecmp(prev_wd, "END") == 0 ||
- strcasecmp(prev_wd, "COMMIT") == 0 ||
- strcasecmp(prev_wd, "ROLLBACK") == 0 ||
- strcasecmp(prev_wd, "ABORT") == 0)
+ else if (pg_strcasecmp(prev_wd, "BEGIN") == 0 ||
+ pg_strcasecmp(prev_wd, "END") == 0 ||
+ pg_strcasecmp(prev_wd, "COMMIT") == 0 ||
+ pg_strcasecmp(prev_wd, "ROLLBACK") == 0 ||
+ pg_strcasecmp(prev_wd, "ABORT") == 0)
{
static const char * const list_TRANS[] =
{"WORK", "TRANSACTION", NULL};
@@ -736,28 +736,28 @@ psql_completion(char *text, int start, int end)
}
/* CLUSTER */
/* If the previous word is CLUSTER, produce list of indexes. */
- else if (strcasecmp(prev_wd, "CLUSTER") == 0)
+ else if (pg_strcasecmp(prev_wd, "CLUSTER") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_indexes, NULL);
/* If we have CLUSTER <sth>, then add "ON" */
- else if (strcasecmp(prev2_wd, "CLUSTER") == 0)
+ else if (pg_strcasecmp(prev2_wd, "CLUSTER") == 0)
COMPLETE_WITH_CONST("ON");
/*
* If we have CLUSTER <sth> ON, then add the correct tablename as
* well.
*/
- else if (strcasecmp(prev3_wd, "CLUSTER") == 0 &&
- strcasecmp(prev_wd, "ON") == 0)
+ else if (pg_strcasecmp(prev3_wd, "CLUSTER") == 0 &&
+ pg_strcasecmp(prev_wd, "ON") == 0)
{
completion_info_charp = prev2_wd;
COMPLETE_WITH_QUERY(Query_for_table_owning_index);
}
/* COMMENT */
- else if (strcasecmp(prev_wd, "COMMENT") == 0)
+ else if (pg_strcasecmp(prev_wd, "COMMENT") == 0)
COMPLETE_WITH_CONST("ON");
- else if (strcasecmp(prev2_wd, "COMMENT") == 0 &&
- strcasecmp(prev_wd, "ON") == 0)
+ else if (pg_strcasecmp(prev2_wd, "COMMENT") == 0 &&
+ pg_strcasecmp(prev_wd, "ON") == 0)
{
static const char *const list_COMMENT[] =
{"DATABASE", "INDEX", "RULE", "SCHEMA", "SEQUENCE", "TABLE",
@@ -766,8 +766,8 @@ psql_completion(char *text, int start, int end)
COMPLETE_WITH_LIST(list_COMMENT);
}
- else if (strcasecmp(prev4_wd, "COMMENT") == 0 &&
- strcasecmp(prev3_wd, "ON") == 0)
+ else if (pg_strcasecmp(prev4_wd, "COMMENT") == 0 &&
+ pg_strcasecmp(prev3_wd, "ON") == 0)
COMPLETE_WITH_CONST("IS");
/* COPY */
@@ -776,15 +776,15 @@ psql_completion(char *text, int start, int end)
* If we have COPY [BINARY] (which you'd have to type yourself), offer
* list of tables (Also cover the analogous backslash command)
*/
- else if (strcasecmp(prev_wd, "COPY") == 0 ||
- strcasecmp(prev_wd, "\\copy") == 0 ||
- (strcasecmp(prev2_wd, "COPY") == 0 &&
- strcasecmp(prev_wd, "BINARY") == 0))
+ else if (pg_strcasecmp(prev_wd, "COPY") == 0 ||
+ pg_strcasecmp(prev_wd, "\\copy") == 0 ||
+ (pg_strcasecmp(prev2_wd, "COPY") == 0 &&
+ pg_strcasecmp(prev_wd, "BINARY") == 0))
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
/* If we have COPY|BINARY <sth>, complete it with "TO" or "FROM" */
- else if (strcasecmp(prev2_wd, "COPY") == 0 ||
- strcasecmp(prev2_wd, "\\copy") == 0 ||
- strcasecmp(prev2_wd, "BINARY") == 0)
+ else if (pg_strcasecmp(prev2_wd, "COPY") == 0 ||
+ pg_strcasecmp(prev2_wd, "\\copy") == 0 ||
+ pg_strcasecmp(prev2_wd, "BINARY") == 0)
{
static const char *const list_FROMTO[] =
{"FROM", "TO", NULL};
@@ -794,32 +794,32 @@ psql_completion(char *text, int start, int end)
/* CREATE INDEX */
/* First off we complete CREATE UNIQUE with "INDEX" */
- else if (strcasecmp(prev2_wd, "CREATE") == 0 &&
- strcasecmp(prev_wd, "UNIQUE") == 0)
+ else if (pg_strcasecmp(prev2_wd, "CREATE") == 0 &&
+ pg_strcasecmp(prev_wd, "UNIQUE") == 0)
COMPLETE_WITH_CONST("INDEX");
/* If we have CREATE|UNIQUE INDEX <sth>, then add "ON" */
- else if (strcasecmp(prev2_wd, "INDEX") == 0 &&
- (strcasecmp(prev3_wd, "CREATE") == 0 ||
- strcasecmp(prev3_wd, "UNIQUE") == 0))
+ else if (pg_strcasecmp(prev2_wd, "INDEX") == 0 &&
+ (pg_strcasecmp(prev3_wd, "CREATE") == 0 ||
+ pg_strcasecmp(prev3_wd, "UNIQUE") == 0))
COMPLETE_WITH_CONST("ON");
/* Complete ... INDEX <name> ON with a list of tables */
- else if (strcasecmp(prev3_wd, "INDEX") == 0 &&
- strcasecmp(prev_wd, "ON") == 0)
+ else if (pg_strcasecmp(prev3_wd, "INDEX") == 0 &&
+ pg_strcasecmp(prev_wd, "ON") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
/*
* Complete INDEX <name> ON <table> with a list of table columns
* (which should really be in parens)
*/
- else if (strcasecmp(prev4_wd, "INDEX") == 0 &&
- strcasecmp(prev2_wd, "ON") == 0)
+ else if (pg_strcasecmp(prev4_wd, "INDEX") == 0 &&
+ pg_strcasecmp(prev2_wd, "ON") == 0)
COMPLETE_WITH_ATTR(prev_wd);
/* same if you put in USING */
- else if (strcasecmp(prev4_wd, "ON") == 0 &&
- strcasecmp(prev2_wd, "USING") == 0)
+ else if (pg_strcasecmp(prev4_wd, "ON") == 0 &&
+ pg_strcasecmp(prev2_wd, "USING") == 0)
COMPLETE_WITH_ATTR(prev3_wd);
/* Complete USING with an index method */
- else if (strcasecmp(prev_wd, "USING") == 0)
+ else if (pg_strcasecmp(prev_wd, "USING") == 0)
{
static const char *const index_mth[] =
{"BTREE", "RTREE", "HASH", "GIST", NULL};
@@ -829,18 +829,18 @@ psql_completion(char *text, int start, int end)
/* CREATE RULE */
/* Complete "CREATE RULE <sth>" with "AS" */
- else if (strcasecmp(prev3_wd, "CREATE") == 0 &&
- strcasecmp(prev2_wd, "RULE") == 0)
+ else if (pg_strcasecmp(prev3_wd, "CREATE") == 0 &&
+ pg_strcasecmp(prev2_wd, "RULE") == 0)
COMPLETE_WITH_CONST("AS");
/* Complete "CREATE RULE <sth> AS with "ON" */
- else if (strcasecmp(prev4_wd, "CREATE") == 0 &&
- strcasecmp(prev3_wd, "RULE") == 0 &&
- strcasecmp(prev_wd, "AS") == 0)
+ else if (pg_strcasecmp(prev4_wd, "CREATE") == 0 &&
+ pg_strcasecmp(prev3_wd, "RULE") == 0 &&
+ pg_strcasecmp(prev_wd, "AS") == 0)
COMPLETE_WITH_CONST("ON");
/* Complete "RULE * AS ON" with SELECT|UPDATE|DELETE|INSERT */
- else if (strcasecmp(prev4_wd, "RULE") == 0 &&
- strcasecmp(prev2_wd, "AS") == 0 &&
- strcasecmp(prev_wd, "ON") == 0)
+ else if (pg_strcasecmp(prev4_wd, "RULE") == 0 &&
+ pg_strcasecmp(prev2_wd, "AS") == 0 &&
+ pg_strcasecmp(prev_wd, "ON") == 0)
{
static const char *const rule_events[] =
{"SELECT", "UPDATE", "INSERT", "DELETE", NULL};
@@ -848,21 +848,21 @@ psql_completion(char *text, int start, int end)
COMPLETE_WITH_LIST(rule_events);
}
/* Complete "AS ON <sth with a 'T' :)>" with a "TO" */
- else if (strcasecmp(prev3_wd, "AS") == 0 &&
- strcasecmp(prev2_wd, "ON") == 0 &&
+ else if (pg_strcasecmp(prev3_wd, "AS") == 0 &&
+ pg_strcasecmp(prev2_wd, "ON") == 0 &&
(toupper((unsigned char) prev_wd[4]) == 'T' ||
toupper((unsigned char) prev_wd[5]) == 'T'))
COMPLETE_WITH_CONST("TO");
/* Complete "AS ON <sth> TO" with a table name */
- else if (strcasecmp(prev4_wd, "AS") == 0 &&
- strcasecmp(prev3_wd, "ON") == 0 &&
- strcasecmp(prev_wd, "TO") == 0)
+ else if (pg_strcasecmp(prev4_wd, "AS") == 0 &&
+ pg_strcasecmp(prev3_wd, "ON") == 0 &&
+ pg_strcasecmp(prev_wd, "TO") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
/* CREATE TABLE */
/* Complete CREATE TEMP with "TABLE" */
- else if (strcasecmp(prev2_wd, "CREATE") == 0 &&
- strcasecmp(prev_wd, "TEMP") == 0)
+ else if (pg_strcasecmp(prev2_wd, "CREATE") == 0 &&
+ pg_strcasecmp(prev_wd, "TEMP") == 0)
COMPLETE_WITH_CONST("TABLE");
/* CREATE TRIGGER */
@@ -870,13 +870,13 @@ psql_completion(char *text, int start, int end)
/* CREATE VIEW */
/* Complete "CREATE VIEW <name>" with "AS" */
- else if (strcasecmp(prev3_wd, "CREATE") == 0 &&
- strcasecmp(prev2_wd, "VIEW") == 0)
+ else if (pg_strcasecmp(prev3_wd, "CREATE") == 0 &&
+ pg_strcasecmp(prev2_wd, "VIEW") == 0)
COMPLETE_WITH_CONST("AS");
/* Complete "CREATE VIEW <sth> AS with "SELECT" */
- else if (strcasecmp(prev4_wd, "CREATE") == 0 &&
- strcasecmp(prev3_wd, "VIEW") == 0 &&
- strcasecmp(prev_wd, "AS") == 0)
+ else if (pg_strcasecmp(prev4_wd, "CREATE") == 0 &&
+ pg_strcasecmp(prev3_wd, "VIEW") == 0 &&
+ pg_strcasecmp(prev_wd, "AS") == 0)
COMPLETE_WITH_CONST("SELECT");
/* DELETE */
@@ -885,19 +885,19 @@ psql_completion(char *text, int start, int end)
* Complete DELETE with FROM (only if the word before that is not "ON"
* (cf. rules) or "BEFORE" or "AFTER" (cf. triggers) or GRANT)
*/
- else if (strcasecmp(prev_wd, "DELETE") == 0 &&
- !(strcasecmp(prev2_wd, "ON") == 0 ||
- strcasecmp(prev2_wd, "GRANT") == 0 ||
- strcasecmp(prev2_wd, "BEFORE") == 0 ||
- strcasecmp(prev2_wd, "AFTER") == 0))
+ else if (pg_strcasecmp(prev_wd, "DELETE") == 0 &&
+ !(pg_strcasecmp(prev2_wd, "ON") == 0 ||
+ pg_strcasecmp(prev2_wd, "GRANT") == 0 ||
+ pg_strcasecmp(prev2_wd, "BEFORE") == 0 ||
+ pg_strcasecmp(prev2_wd, "AFTER") == 0))
COMPLETE_WITH_CONST("FROM");
/* Complete DELETE FROM with a list of tables */
- else if (strcasecmp(prev2_wd, "DELETE") == 0 &&
- strcasecmp(prev_wd, "FROM") == 0)
+ else if (pg_strcasecmp(prev2_wd, "DELETE") == 0 &&
+ pg_strcasecmp(prev_wd, "FROM") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
/* Complete DELETE FROM <table> with "WHERE" (perhaps a safe idea?) */
- else if (strcasecmp(prev3_wd, "DELETE") == 0 &&
- strcasecmp(prev2_wd, "FROM") == 0)
+ else if (pg_strcasecmp(prev3_wd, "DELETE") == 0 &&
+ pg_strcasecmp(prev2_wd, "FROM") == 0)
COMPLETE_WITH_CONST("WHERE");
/* EXPLAIN */
@@ -906,15 +906,15 @@ psql_completion(char *text, int start, int end)
* Complete EXPLAIN [VERBOSE] (which you'd have to type yourself) with
* the list of SQL commands
*/
- else if (strcasecmp(prev_wd, "EXPLAIN") == 0 ||
- (strcasecmp(prev2_wd, "EXPLAIN") == 0 &&
- strcasecmp(prev_wd, "VERBOSE") == 0))
+ else if (pg_strcasecmp(prev_wd, "EXPLAIN") == 0 ||
+ (pg_strcasecmp(prev2_wd, "EXPLAIN") == 0 &&
+ pg_strcasecmp(prev_wd, "VERBOSE") == 0))
COMPLETE_WITH_LIST(sql_commands);
/* FETCH && MOVE */
/* Complete FETCH with one of FORWARD, BACKWARD, RELATIVE */
- else if (strcasecmp(prev_wd, "FETCH") == 0 ||
- strcasecmp(prev_wd, "MOVE") == 0)
+ else if (pg_strcasecmp(prev_wd, "FETCH") == 0 ||
+ pg_strcasecmp(prev_wd, "MOVE") == 0)
{
static const char * const list_FETCH1[] =
{"FORWARD", "BACKWARD", "RELATIVE", NULL};
@@ -922,8 +922,8 @@ psql_completion(char *text, int start, int end)
COMPLETE_WITH_LIST(list_FETCH1);
}
/* Complete FETCH <sth> with one of ALL, NEXT, PRIOR */
- else if (strcasecmp(prev2_wd, "FETCH") == 0 ||
- strcasecmp(prev2_wd, "MOVE") == 0)
+ else if (pg_strcasecmp(prev2_wd, "FETCH") == 0 ||
+ pg_strcasecmp(prev2_wd, "MOVE") == 0)
{
static const char * const list_FETCH2[] =
{"ALL", "NEXT", "PRIOR", NULL};
@@ -935,8 +935,8 @@ psql_completion(char *text, int start, int end)
* Complete FETCH <sth1> <sth2> with "FROM" or "TO". (Is there a
* difference? If not, remove one.)
*/
- else if (strcasecmp(prev3_wd, "FETCH") == 0 ||
- strcasecmp(prev3_wd, "MOVE") == 0)
+ else if (pg_strcasecmp(prev3_wd, "FETCH") == 0 ||
+ pg_strcasecmp(prev3_wd, "MOVE") == 0)
{
static const char * const list_FROMTO[] =
{"FROM", "TO", NULL};
@@ -946,8 +946,8 @@ psql_completion(char *text, int start, int end)
/* GRANT && REVOKE*/
/* Complete GRANT/REVOKE with a list of privileges */
- else if (strcasecmp(prev_wd, "GRANT") == 0 ||
- strcasecmp(prev_wd, "REVOKE") == 0)
+ else if (pg_strcasecmp(prev_wd, "GRANT") == 0 ||
+ pg_strcasecmp(prev_wd, "REVOKE") == 0)
{
static const char * const list_privileg[] =
{"SELECT", "INSERT", "UPDATE", "DELETE", "RULE", "REFERENCES",
@@ -956,8 +956,8 @@ psql_completion(char *text, int start, int end)
COMPLETE_WITH_LIST(list_privileg);
}
/* Complete GRANT/REVOKE <sth> with "ON" */
- else if (strcasecmp(prev2_wd, "GRANT") == 0 ||
- strcasecmp(prev2_wd, "REVOKE") == 0)
+ else if (pg_strcasecmp(prev2_wd, "GRANT") == 0 ||
+ pg_strcasecmp(prev2_wd, "REVOKE") == 0)
COMPLETE_WITH_CONST("ON");
/*
@@ -971,9 +971,9 @@ psql_completion(char *text, int start, int end)
* implemented here will only work if the privilege list contains
* exactly one privilege
*/
- else if ((strcasecmp(prev3_wd, "GRANT") == 0 ||
- strcasecmp(prev3_wd, "REVOKE") == 0) &&
- strcasecmp(prev_wd, "ON") == 0)
+ else if ((pg_strcasecmp(prev3_wd, "GRANT") == 0 ||
+ pg_strcasecmp(prev3_wd, "REVOKE") == 0) &&
+ pg_strcasecmp(prev_wd, "ON") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tsv,
" UNION SELECT 'DATABASE'"
" UNION SELECT 'FUNCTION'"
@@ -981,17 +981,17 @@ psql_completion(char *text, int start, int end)
" UNION SELECT 'SCHEMA'");
/* Complete "GRANT/REVOKE * ON * " with "TO" */
- else if ((strcasecmp(prev4_wd, "GRANT") == 0 ||
- strcasecmp(prev4_wd, "REVOKE") == 0) &&
- strcasecmp(prev2_wd, "ON") == 0)
+ else if ((pg_strcasecmp(prev4_wd, "GRANT") == 0 ||
+ pg_strcasecmp(prev4_wd, "REVOKE") == 0) &&
+ pg_strcasecmp(prev2_wd, "ON") == 0)
{
- if (strcasecmp(prev_wd, "DATABASE") == 0)
+ if (pg_strcasecmp(prev_wd, "DATABASE") == 0)
COMPLETE_WITH_QUERY(Query_for_list_of_databases);
- else if (strcasecmp(prev_wd, "FUNCTION") == 0)
+ else if (pg_strcasecmp(prev_wd, "FUNCTION") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_functions, NULL);
- else if (strcasecmp(prev_wd, "LANGUAGE") == 0)
+ else if (pg_strcasecmp(prev_wd, "LANGUAGE") == 0)
COMPLETE_WITH_QUERY(Query_for_list_of_languages);
- else if (strcasecmp(prev_wd, "SCHEMA") == 0)
+ else if (pg_strcasecmp(prev_wd, "SCHEMA") == 0)
COMPLETE_WITH_QUERY(Query_for_list_of_schemas);
else
COMPLETE_WITH_CONST("TO");
@@ -1005,24 +1005,24 @@ psql_completion(char *text, int start, int end)
/* INSERT */
/* Complete INSERT with "INTO" */
- else if (strcasecmp(prev_wd, "INSERT") == 0)
+ else if (pg_strcasecmp(prev_wd, "INSERT") == 0)
COMPLETE_WITH_CONST("INTO");
/* Complete INSERT INTO with table names */
- else if (strcasecmp(prev2_wd, "INSERT") == 0 &&
- strcasecmp(prev_wd, "INTO") == 0)
+ else if (pg_strcasecmp(prev2_wd, "INSERT") == 0 &&
+ pg_strcasecmp(prev_wd, "INTO") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
/* Complete "INSERT INTO <table> (" with attribute names */
else if (rl_line_buffer[start - 1] == '(' &&
- strcasecmp(prev3_wd, "INSERT") == 0 &&
- strcasecmp(prev2_wd, "INTO") == 0)
+ pg_strcasecmp(prev3_wd, "INSERT") == 0 &&
+ pg_strcasecmp(prev2_wd, "INTO") == 0)
COMPLETE_WITH_ATTR(prev_wd);
/*
* Complete INSERT INTO <table> with "VALUES" or "SELECT" or "DEFAULT
* VALUES"
*/
- else if (strcasecmp(prev3_wd, "INSERT") == 0 &&
- strcasecmp(prev2_wd, "INTO") == 0)
+ else if (pg_strcasecmp(prev3_wd, "INSERT") == 0 &&
+ pg_strcasecmp(prev2_wd, "INTO") == 0)
{
static const char * const list_INSERT[] =
{"DEFAULT VALUES", "SELECT", "VALUES", NULL};
@@ -1030,8 +1030,8 @@ psql_completion(char *text, int start, int end)
COMPLETE_WITH_LIST(list_INSERT);
}
/* Complete INSERT INTO <table> (attribs) with "VALUES" or "SELECT" */
- else if (strcasecmp(prev4_wd, "INSERT") == 0 &&
- strcasecmp(prev3_wd, "INTO") == 0 &&
+ else if (pg_strcasecmp(prev4_wd, "INSERT") == 0 &&
+ pg_strcasecmp(prev3_wd, "INTO") == 0 &&
prev_wd[strlen(prev_wd) - 1] == ')')
{
static const char * const list_INSERT[] =
@@ -1041,31 +1041,31 @@ psql_completion(char *text, int start, int end)
}
/* Insert an open parenthesis after "VALUES" */
- else if (strcasecmp(prev_wd, "VALUES") == 0 &&
- strcasecmp(prev2_wd, "DEFAULT") != 0)
+ else if (pg_strcasecmp(prev_wd, "VALUES") == 0 &&
+ pg_strcasecmp(prev2_wd, "DEFAULT") != 0)
COMPLETE_WITH_CONST("(");
/* LOCK */
/* Complete LOCK [TABLE] with a list of tables */
- else if (strcasecmp(prev_wd, "LOCK") == 0 ||
- (strcasecmp(prev_wd, "TABLE") == 0 &&
- strcasecmp(prev2_wd, "LOCK") == 0))
+ else if (pg_strcasecmp(prev_wd, "LOCK") == 0 ||
+ (pg_strcasecmp(prev_wd, "TABLE") == 0 &&
+ pg_strcasecmp(prev2_wd, "LOCK") == 0))
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
/* For the following, handle the case of a single table only for now */
/* Complete LOCK [TABLE] <table> with "IN" */
- else if ((strcasecmp(prev2_wd, "LOCK") == 0 &&
- strcasecmp(prev_wd, "TABLE")) ||
- (strcasecmp(prev2_wd, "TABLE") == 0 &&
- strcasecmp(prev3_wd, "LOCK") == 0))
+ else if ((pg_strcasecmp(prev2_wd, "LOCK") == 0 &&
+ pg_strcasecmp(prev_wd, "TABLE")) ||
+ (pg_strcasecmp(prev2_wd, "TABLE") == 0 &&
+ pg_strcasecmp(prev3_wd, "LOCK") == 0))
COMPLETE_WITH_CONST("IN");
/* Complete LOCK [TABLE] <table> IN with a lock mode */
- else if (strcasecmp(prev_wd, "IN") == 0 &&
- (strcasecmp(prev3_wd, "LOCK") == 0 ||
- (strcasecmp(prev3_wd, "TABLE") == 0 &&
- strcasecmp(prev4_wd, "LOCK") == 0)))
+ else if (pg_strcasecmp(prev_wd, "IN") == 0 &&
+ (pg_strcasecmp(prev3_wd, "LOCK") == 0 ||
+ (pg_strcasecmp(prev3_wd, "TABLE") == 0 &&
+ pg_strcasecmp(prev4_wd, "LOCK") == 0)))
{
static const char * const lock_modes[] =
{"ACCESS SHARE MODE",
@@ -1078,24 +1078,24 @@ psql_completion(char *text, int start, int end)
}
/* NOTIFY */
- else if (strcasecmp(prev_wd, "NOTIFY") == 0)
+ else if (pg_strcasecmp(prev_wd, "NOTIFY") == 0)
COMPLETE_WITH_QUERY("SELECT pg_catalog.quote_ident(relname) FROM pg_catalog.pg_listener WHERE substring(pg_catalog.quote_ident(relname),1,%d)='%s'");
/* REINDEX */
- else if (strcasecmp(prev_wd, "REINDEX") == 0)
+ else if (pg_strcasecmp(prev_wd, "REINDEX") == 0)
{
static const char * const list_REINDEX[] =
{"TABLE", "DATABASE", "INDEX", NULL};
COMPLETE_WITH_LIST(list_REINDEX);
}
- else if (strcasecmp(prev2_wd, "REINDEX") == 0)
+ else if (pg_strcasecmp(prev2_wd, "REINDEX") == 0)
{
- if (strcasecmp(prev_wd, "TABLE") == 0)
+ if (pg_strcasecmp(prev_wd, "TABLE") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
- else if (strcasecmp(prev_wd, "DATABASE") == 0)
+ else if (pg_strcasecmp(prev_wd, "DATABASE") == 0)
COMPLETE_WITH_QUERY(Query_for_list_of_databases);
- else if (strcasecmp(prev_wd, "INDEX") == 0)
+ else if (pg_strcasecmp(prev_wd, "INDEX") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_indexes, NULL);
}
@@ -1104,68 +1104,68 @@ psql_completion(char *text, int start, int end)
/* SET, RESET, SHOW */
/* Complete with a variable name */
- else if ((strcasecmp(prev_wd, "SET") == 0 &&
- strcasecmp(prev3_wd, "UPDATE") != 0) ||
- strcasecmp(prev_wd, "RESET") == 0 ||
- strcasecmp(prev_wd, "SHOW") == 0)
+ else if ((pg_strcasecmp(prev_wd, "SET") == 0 &&
+ pg_strcasecmp(prev3_wd, "UPDATE") != 0) ||
+ pg_strcasecmp(prev_wd, "RESET") == 0 ||
+ pg_strcasecmp(prev_wd, "SHOW") == 0)
COMPLETE_WITH_LIST(pgsql_variables);
/* Complete "SET TRANSACTION" */
- else if ((strcasecmp(prev2_wd, "SET") == 0 &&
- strcasecmp(prev_wd, "TRANSACTION") == 0)
- || (strcasecmp(prev2_wd, "START") == 0
- && strcasecmp(prev_wd, "TRANSACTION") == 0)
- || (strcasecmp(prev2_wd, "BEGIN") == 0
- && strcasecmp(prev_wd, "WORK") == 0)
- || (strcasecmp(prev2_wd, "BEGIN") == 0
- && strcasecmp(prev_wd, "TRANSACTION") == 0)
- || (strcasecmp(prev4_wd, "SESSION") == 0
- && strcasecmp(prev3_wd, "CHARACTERISTICS") == 0
- && strcasecmp(prev2_wd, "AS") == 0
- && strcasecmp(prev_wd, "TRANSACTION") == 0))
+ else if ((pg_strcasecmp(prev2_wd, "SET") == 0 &&
+ pg_strcasecmp(prev_wd, "TRANSACTION") == 0)
+ || (pg_strcasecmp(prev2_wd, "START") == 0
+ && pg_strcasecmp(prev_wd, "TRANSACTION") == 0)
+ || (pg_strcasecmp(prev2_wd, "BEGIN") == 0
+ && pg_strcasecmp(prev_wd, "WORK") == 0)
+ || (pg_strcasecmp(prev2_wd, "BEGIN") == 0
+ && pg_strcasecmp(prev_wd, "TRANSACTION") == 0)
+ || (pg_strcasecmp(prev4_wd, "SESSION") == 0
+ && pg_strcasecmp(prev3_wd, "CHARACTERISTICS") == 0
+ && pg_strcasecmp(prev2_wd, "AS") == 0
+ && pg_strcasecmp(prev_wd, "TRANSACTION") == 0))
{
static const char * const my_list[] =
{"ISOLATION", "READ", NULL};
COMPLETE_WITH_LIST(my_list);
}
- else if ((strcasecmp(prev3_wd, "SET") == 0
- || strcasecmp(prev3_wd, "START") == 0
- || (strcasecmp(prev4_wd, "CHARACTERISTICS") == 0
- && strcasecmp(prev3_wd, "AS") == 0))
- && strcasecmp(prev2_wd, "TRANSACTION") == 0
- && strcasecmp(prev_wd, "ISOLATION") == 0)
+ else if ((pg_strcasecmp(prev3_wd, "SET") == 0
+ || pg_strcasecmp(prev3_wd, "START") == 0
+ || (pg_strcasecmp(prev4_wd, "CHARACTERISTICS") == 0
+ && pg_strcasecmp(prev3_wd, "AS") == 0))
+ && pg_strcasecmp(prev2_wd, "TRANSACTION") == 0
+ && pg_strcasecmp(prev_wd, "ISOLATION") == 0)
COMPLETE_WITH_CONST("LEVEL");
- else if ((strcasecmp(prev4_wd, "SET") == 0
- || strcasecmp(prev4_wd, "START") == 0
- || strcasecmp(prev4_wd, "AS") == 0)
- && strcasecmp(prev3_wd, "TRANSACTION") == 0
- && strcasecmp(prev2_wd, "ISOLATION") == 0
- && strcasecmp(prev_wd, "LEVEL") == 0)
+ else if ((pg_strcasecmp(prev4_wd, "SET") == 0
+ || pg_strcasecmp(prev4_wd, "START") == 0
+ || pg_strcasecmp(prev4_wd, "AS") == 0)
+ && pg_strcasecmp(prev3_wd, "TRANSACTION") == 0
+ && pg_strcasecmp(prev2_wd, "ISOLATION") == 0
+ && pg_strcasecmp(prev_wd, "LEVEL") == 0)
{
static const char * const my_list[] =
{"READ", "REPEATABLE", "SERIALIZABLE", NULL};
COMPLETE_WITH_LIST(my_list);
}
- else if (strcasecmp(prev4_wd, "TRANSACTION") == 0 &&
- strcasecmp(prev3_wd, "ISOLATION") == 0 &&
- strcasecmp(prev2_wd, "LEVEL") == 0 &&
- strcasecmp(prev_wd, "READ") == 0)
+ else if (pg_strcasecmp(prev4_wd, "TRANSACTION") == 0 &&
+ pg_strcasecmp(prev3_wd, "ISOLATION") == 0 &&
+ pg_strcasecmp(prev2_wd, "LEVEL") == 0 &&
+ pg_strcasecmp(prev_wd, "READ") == 0)
{
static const char * const my_list[] =
{"UNCOMMITTED", "COMMITTED", NULL};
COMPLETE_WITH_LIST(my_list);
}
- else if (strcasecmp(prev4_wd, "TRANSACTION") == 0 &&
- strcasecmp(prev3_wd, "ISOLATION") == 0 &&
- strcasecmp(prev2_wd, "LEVEL") == 0 &&
- strcasecmp(prev_wd, "REPEATABLE") == 0)
+ else if (pg_strcasecmp(prev4_wd, "TRANSACTION") == 0 &&
+ pg_strcasecmp(prev3_wd, "ISOLATION") == 0 &&
+ pg_strcasecmp(prev2_wd, "LEVEL") == 0 &&
+ pg_strcasecmp(prev_wd, "REPEATABLE") == 0)
COMPLETE_WITH_CONST("READ");
- else if ((strcasecmp(prev3_wd, "SET") == 0 ||
- strcasecmp(prev3_wd, "AS") == 0) &&
- strcasecmp(prev2_wd, "TRANSACTION") == 0 &&
- strcasecmp(prev_wd, "READ") == 0)
+ else if ((pg_strcasecmp(prev3_wd, "SET") == 0 ||
+ pg_strcasecmp(prev3_wd, "AS") == 0) &&
+ pg_strcasecmp(prev2_wd, "TRANSACTION") == 0 &&
+ pg_strcasecmp(prev_wd, "READ") == 0)
{
static const char * const my_list[] =
{"ONLY", "WRITE", NULL};
@@ -1173,8 +1173,8 @@ psql_completion(char *text, int start, int end)
COMPLETE_WITH_LIST(my_list);
}
/* Complete SET CONSTRAINTS <foo> with DEFERRED|IMMEDIATE */
- else if (strcasecmp(prev3_wd, "SET") == 0 &&
- strcasecmp(prev2_wd, "CONSTRAINTS") == 0)
+ else if (pg_strcasecmp(prev3_wd, "SET") == 0 &&
+ pg_strcasecmp(prev2_wd, "CONSTRAINTS") == 0)
{
static const char * const constraint_list[] =
{"DEFERRED", "IMMEDIATE", NULL};
@@ -1182,8 +1182,8 @@ psql_completion(char *text, int start, int end)
COMPLETE_WITH_LIST(constraint_list);
}
/* Complete SET SESSION with AUTHORIZATION or CHARACTERISTICS... */
- else if (strcasecmp(prev2_wd, "SET") == 0 &&
- strcasecmp(prev_wd, "SESSION") == 0)
+ else if (pg_strcasecmp(prev2_wd, "SET") == 0 &&
+ pg_strcasecmp(prev_wd, "SESSION") == 0)
{
static const char * const my_list[] =
{"AUTHORIZATION", "CHARACTERISTICS AS TRANSACTION", NULL};
@@ -1191,19 +1191,19 @@ psql_completion(char *text, int start, int end)
COMPLETE_WITH_LIST(my_list);
}
/* Complete SET SESSION AUTHORIZATION with username */
- else if (strcasecmp(prev3_wd, "SET") == 0
- && strcasecmp(prev2_wd, "SESSION") == 0
- && strcasecmp(prev_wd, "AUTHORIZATION") == 0)
+ else if (pg_strcasecmp(prev3_wd, "SET") == 0
+ && pg_strcasecmp(prev2_wd, "SESSION") == 0
+ && pg_strcasecmp(prev_wd, "AUTHORIZATION") == 0)
COMPLETE_WITH_QUERY(Query_for_list_of_users);
/* Complete SET <var> with "TO" */
- else if (strcasecmp(prev2_wd, "SET") == 0 &&
- strcasecmp(prev4_wd, "UPDATE") != 0)
+ else if (pg_strcasecmp(prev2_wd, "SET") == 0 &&
+ pg_strcasecmp(prev4_wd, "UPDATE") != 0)
COMPLETE_WITH_CONST("TO");
/* Suggest possible variable values */
- else if (strcasecmp(prev3_wd, "SET") == 0 &&
- (strcasecmp(prev_wd, "TO") == 0 || strcmp(prev_wd, "=") == 0))
+ else if (pg_strcasecmp(prev3_wd, "SET") == 0 &&
+ (pg_strcasecmp(prev_wd, "TO") == 0 || strcmp(prev_wd, "=") == 0))
{
- if (strcasecmp(prev2_wd, "DateStyle") == 0)
+ if (pg_strcasecmp(prev2_wd, "DateStyle") == 0)
{
static const char * const my_list[] =
{"ISO", "SQL", "Postgres", "German",
@@ -1213,7 +1213,7 @@ psql_completion(char *text, int start, int end)
COMPLETE_WITH_LIST(my_list);
}
- else if (strcasecmp(prev2_wd, "GEQO") == 0)
+ else if (pg_strcasecmp(prev2_wd, "GEQO") == 0)
{
static const char * const my_list[] =
{"ON", "OFF", "DEFAULT", NULL};
@@ -1230,23 +1230,23 @@ psql_completion(char *text, int start, int end)
}
/* START TRANSACTION */
- else if (strcasecmp(prev_wd, "START") == 0)
+ else if (pg_strcasecmp(prev_wd, "START") == 0)
COMPLETE_WITH_CONST("TRANSACTION");
/* TRUNCATE */
- else if (strcasecmp(prev_wd, "TRUNCATE") == 0)
+ else if (pg_strcasecmp(prev_wd, "TRUNCATE") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
/* UNLISTEN */
- else if (strcasecmp(prev_wd, "UNLISTEN") == 0)
+ else if (pg_strcasecmp(prev_wd, "UNLISTEN") == 0)
COMPLETE_WITH_QUERY("SELECT pg_catalog.quote_ident(relname) FROM pg_catalog.pg_listener WHERE substring(pg_catalog.quote_ident(relname),1,%d)='%s' UNION SELECT '*'");
/* UPDATE */
/* If prev. word is UPDATE suggest a list of tables */
- else if (strcasecmp(prev_wd, "UPDATE") == 0)
+ else if (pg_strcasecmp(prev_wd, "UPDATE") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
/* Complete UPDATE <table> with "SET" */
- else if (strcasecmp(prev2_wd, "UPDATE") == 0)
+ else if (pg_strcasecmp(prev2_wd, "UPDATE") == 0)
COMPLETE_WITH_CONST("SET");
/*
@@ -1254,29 +1254,29 @@ psql_completion(char *text, int start, int end)
* _first_ word) the word before it was (hopefully) a table name and
* we'll now make a list of attributes.
*/
- else if (strcasecmp(prev_wd, "SET") == 0)
+ else if (pg_strcasecmp(prev_wd, "SET") == 0)
COMPLETE_WITH_ATTR(prev2_wd);
/* VACUUM */
- else if (strcasecmp(prev_wd, "VACUUM") == 0)
+ else if (pg_strcasecmp(prev_wd, "VACUUM") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables,
" UNION SELECT 'FULL'"
" UNION SELECT 'ANALYZE'"
" UNION SELECT 'VERBOSE'");
- else if (strcasecmp(prev2_wd, "VACUUM") == 0 &&
- (strcasecmp(prev_wd, "FULL") == 0 ||
- strcasecmp(prev_wd, "ANALYZE") == 0 ||
- strcasecmp(prev_wd, "VERBOSE") == 0))
+ else if (pg_strcasecmp(prev2_wd, "VACUUM") == 0 &&
+ (pg_strcasecmp(prev_wd, "FULL") == 0 ||
+ pg_strcasecmp(prev_wd, "ANALYZE") == 0 ||
+ pg_strcasecmp(prev_wd, "VERBOSE") == 0))
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
/* WHERE */
/* Simple case of the word before the where being the table name */
- else if (strcasecmp(prev_wd, "WHERE") == 0)
+ else if (pg_strcasecmp(prev_wd, "WHERE") == 0)
COMPLETE_WITH_ATTR(prev2_wd);
/* ... FROM ... */
/* TODO: also include SRF ? */
- else if (strcasecmp(prev_wd, "FROM") == 0)
+ else if (pg_strcasecmp(prev_wd, "FROM") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tsv, NULL);
@@ -1345,7 +1345,7 @@ psql_completion(char *text, int start, int end)
for (i = 0; words_after_create[i].name; i++)
{
- if (strcasecmp(prev_wd, words_after_create[i].name) == 0)
+ if (pg_strcasecmp(prev_wd, words_after_create[i].name) == 0)
{
if (words_after_create[i].query)
COMPLETE_WITH_QUERY(words_after_create[i].query);
@@ -1415,7 +1415,7 @@ create_command_generator(const char *text, int state)
/* find something that matches */
while ((name = words_after_create[list_index++].name))
- if (strncasecmp(name, text, string_length) == 0)
+ if (pg_strncasecmp(name, text, string_length) == 0)
return pg_strdup(name);
/* if nothing matches, return NULL */
@@ -1616,7 +1616,7 @@ _complete_from_query(int is_schema_query, const char *text, int state)
while (list_index < PQntuples(result) &&
(item = PQgetvalue(result, list_index++, 0)))
- if (strncasecmp(text, item, string_length) == 0)
+ if (pg_strncasecmp(text, item, string_length) == 0)
return pg_strdup(item);
}
@@ -1662,7 +1662,7 @@ complete_from_list(const char *text, int state)
}
/* Second pass is case insensitive, don't bother counting matches */
- if (!casesensitive && strncasecmp(text, item, string_length) == 0)
+ if (!casesensitive && pg_strncasecmp(text, item, string_length) == 0)
return pg_strdup(item);
}