diff options
Diffstat (limited to 'src/backend/utils/adt/bool.c')
-rw-r--r-- | src/backend/utils/adt/bool.c | 217 |
1 files changed, 0 insertions, 217 deletions
diff --git a/src/backend/utils/adt/bool.c b/src/backend/utils/adt/bool.c deleted file mode 100644 index a2fb5b4fa23..00000000000 --- a/src/backend/utils/adt/bool.c +++ /dev/null @@ -1,217 +0,0 @@ -/*------------------------------------------------------------------------- - * - * bool.c - * Functions for the built-in type "bool". - * - * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/bool.c,v 1.26 2002/06/20 20:29:36 momjian Exp $ - * - *------------------------------------------------------------------------- - */ - -#include "postgres.h" - -#include "utils/builtins.h" - -/***************************************************************************** - * USER I/O ROUTINES * - *****************************************************************************/ - -/* - * boolin - converts "t" or "f" to 1 or 0 - * - * Check explicitly for "true/false" and TRUE/FALSE, 1/0, YES/NO. - * Reject other values. - thomas 1997-10-05 - * - * In the switch statement, check the most-used possibilities first. - */ -Datum -boolin(PG_FUNCTION_ARGS) -{ - char *b = PG_GETARG_CSTRING(0); - - switch (*b) - { - case 't': - case 'T': - if (strncasecmp(b, "true", strlen(b)) == 0) - PG_RETURN_BOOL(true); - break; - - case 'f': - case 'F': - if (strncasecmp(b, "false", strlen(b)) == 0) - PG_RETURN_BOOL(false); - break; - - case 'y': - case 'Y': - if (strncasecmp(b, "yes", strlen(b)) == 0) - PG_RETURN_BOOL(true); - break; - - case '1': - if (strncasecmp(b, "1", strlen(b)) == 0) - PG_RETURN_BOOL(true); - break; - - case 'n': - case 'N': - if (strncasecmp(b, "no", strlen(b)) == 0) - PG_RETURN_BOOL(false); - break; - - case '0': - if (strncasecmp(b, "0", strlen(b)) == 0) - PG_RETURN_BOOL(false); - break; - - default: - break; - } - - elog(ERROR, "Bad boolean external representation '%s'", b); - - /* not reached */ - PG_RETURN_BOOL(false); -} - -/* - * boolout - converts 1 or 0 to "t" or "f" - */ -Datum -boolout(PG_FUNCTION_ARGS) -{ - bool b = PG_GETARG_BOOL(0); - char *result = (char *) palloc(2); - - result[0] = (b) ? 't' : 'f'; - result[1] = '\0'; - PG_RETURN_CSTRING(result); -} - - -/***************************************************************************** - * PUBLIC ROUTINES * - *****************************************************************************/ - -Datum -booleq(PG_FUNCTION_ARGS) -{ - bool arg1 = PG_GETARG_BOOL(0); - bool arg2 = PG_GETARG_BOOL(1); - - PG_RETURN_BOOL(arg1 == arg2); -} - -Datum -boolne(PG_FUNCTION_ARGS) -{ - bool arg1 = PG_GETARG_BOOL(0); - bool arg2 = PG_GETARG_BOOL(1); - - PG_RETURN_BOOL(arg1 != arg2); -} - -Datum -boollt(PG_FUNCTION_ARGS) -{ - bool arg1 = PG_GETARG_BOOL(0); - bool arg2 = PG_GETARG_BOOL(1); - - PG_RETURN_BOOL(arg1 < arg2); -} - -Datum -boolgt(PG_FUNCTION_ARGS) -{ - bool arg1 = PG_GETARG_BOOL(0); - bool arg2 = PG_GETARG_BOOL(1); - - PG_RETURN_BOOL(arg1 > arg2); -} - -Datum -boolle(PG_FUNCTION_ARGS) -{ - bool arg1 = PG_GETARG_BOOL(0); - bool arg2 = PG_GETARG_BOOL(1); - - PG_RETURN_BOOL(arg1 <= arg2); -} - -Datum -boolge(PG_FUNCTION_ARGS) -{ - bool arg1 = PG_GETARG_BOOL(0); - bool arg2 = PG_GETARG_BOOL(1); - - PG_RETURN_BOOL(arg1 >= arg2); -} - -/* - * Per SQL92, istrue() and isfalse() should return false, not NULL, - * when presented a NULL input (since NULL is our implementation of - * UNKNOWN). Conversely isnottrue() and isnotfalse() should return true. - * Therefore, these routines are all declared not-strict in pg_proc - * and must do their own checking for null inputs. - * - * Note we don't need isunknown() and isnotunknown() functions, since - * nullvalue() and nonnullvalue() will serve. - */ - -Datum -istrue(PG_FUNCTION_ARGS) -{ - bool b; - - if (PG_ARGISNULL(0)) - PG_RETURN_BOOL(false); - - b = PG_GETARG_BOOL(0); - - PG_RETURN_BOOL(b); -} - -Datum -isfalse(PG_FUNCTION_ARGS) -{ - bool b; - - if (PG_ARGISNULL(0)) - PG_RETURN_BOOL(false); - - b = PG_GETARG_BOOL(0); - - PG_RETURN_BOOL(!b); -} - -Datum -isnottrue(PG_FUNCTION_ARGS) -{ - bool b; - - if (PG_ARGISNULL(0)) - PG_RETURN_BOOL(true); - - b = PG_GETARG_BOOL(0); - - PG_RETURN_BOOL(!b); -} - -Datum -isnotfalse(PG_FUNCTION_ARGS) -{ - bool b; - - if (PG_ARGISNULL(0)) - PG_RETURN_BOOL(true); - - b = PG_GETARG_BOOL(0); - - PG_RETURN_BOOL(b); -} |