diff options
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/access/common/tupdesc.c | 4 | ||||
-rw-r--r-- | src/backend/access/hash/hashfunc.c | 75 | ||||
-rw-r--r-- | src/backend/access/nbtree/nbtcompare.c | 26 | ||||
-rw-r--r-- | src/backend/access/transam/xid.c | 6 | ||||
-rw-r--r-- | src/backend/bootstrap/bootparse.y | 56 | ||||
-rw-r--r-- | src/backend/bootstrap/bootstrap.c | 110 | ||||
-rw-r--r-- | src/backend/commands/creatinh.c | 4 | ||||
-rw-r--r-- | src/backend/commands/dbcommands.c | 4 | ||||
-rw-r--r-- | src/backend/executor/execQual.c | 6 | ||||
-rw-r--r-- | src/backend/parser/parse_expr.c | 4 | ||||
-rw-r--r-- | src/backend/rewrite/rewriteRemove.c | 13 | ||||
-rw-r--r-- | src/backend/rewrite/rewriteSupport.c | 4 | ||||
-rw-r--r-- | src/backend/tcop/fastpath.c | 4 | ||||
-rw-r--r-- | src/backend/utils/adt/char.c | 322 | ||||
-rw-r--r-- | src/backend/utils/adt/like.c | 54 | ||||
-rw-r--r-- | src/backend/utils/adt/regexp.c | 107 | ||||
-rw-r--r-- | src/backend/utils/adt/regproc.c | 4 | ||||
-rw-r--r-- | src/backend/utils/cache/catcache.c | 4 |
18 files changed, 107 insertions, 700 deletions
diff --git a/src/backend/access/common/tupdesc.c b/src/backend/access/common/tupdesc.c index 62d27d8cd70..719fe3528f4 100644 --- a/src/backend/access/common/tupdesc.c +++ b/src/backend/access/common/tupdesc.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.36 1998/02/26 04:29:22 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.37 1998/03/30 17:22:05 momjian Exp $ * * NOTES * some of the executor utility code such as "ExecTypeFromTL" should be @@ -317,7 +317,7 @@ TupleDescInitEntry(TupleDesc desc, * * Note: in the special case of * - * create EMP (name = char16, manager = EMP) + * create EMP (name = text, manager = EMP) * * RelationNameCreateHeapRelation() calls BuildDesc() which * calls this routine and since EMP does not exist yet, the diff --git a/src/backend/access/hash/hashfunc.c b/src/backend/access/hash/hashfunc.c index 8da88101dd1..37b7722b8c1 100644 --- a/src/backend/access/hash/hashfunc.c +++ b/src/backend/access/hash/hashfunc.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/access/hash/hashfunc.c,v 1.6 1997/09/08 21:40:47 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/access/hash/hashfunc.c,v 1.7 1998/03/30 17:22:08 momjian Exp $ * * NOTES * These functions are stored in pg_amproc. For each operator class @@ -133,6 +133,8 @@ hashoid(Oid key) return ((uint32) ~key); } +#define PRIME1 37 +#define PRIME2 1048583 uint32 hashchar(char key) @@ -140,12 +142,8 @@ hashchar(char key) int len; uint32 h; - len = sizeof(char); - -#define PRIME1 37 -#define PRIME2 1048583 - h = 0; + len = sizeof(char); /* Convert char to integer */ h = h * PRIME1 ^ (key - ' '); h %= PRIME2; @@ -153,55 +151,6 @@ hashchar(char key) return (h); } -uint32 -hashchar2(uint16 intkey) -{ - uint32 h; - int len; - char *key = (char *) &intkey; - - h = 0; - len = sizeof(uint16); - /* Convert string to integer */ - while (len--) - h = h * PRIME1 ^ (*key++ - ' '); - h %= PRIME2; - - return (h); -} - -uint32 -hashchar4(uint32 intkey) -{ - uint32 h; - int len; - char *key = (char *) &intkey; - - h = 0; - len = sizeof(uint32); - /* Convert string to integer */ - while (len--) - h = h * PRIME1 ^ (*key++ - ' '); - h %= PRIME2; - - return (h); -} - -uint32 -hashchar8(char *key) -{ - uint32 h; - int len; - - h = 0; - len = sizeof(char8); - /* Convert string to integer */ - while (len--) - h = h * PRIME1 ^ (*key++ - ' '); - h %= PRIME2; - - return (h); -} uint32 hashname(NameData *n) @@ -223,22 +172,6 @@ hashname(NameData *n) } -uint32 -hashchar16(char *key) -{ - uint32 h; - int len; - - h = 0; - len = sizeof(char16); - /* Convert string to integer */ - while (len--) - h = h * PRIME1 ^ (*key++ - ' '); - h %= PRIME2; - - return (h); -} - /* * (Comment from the original db3 hashing code: ) diff --git a/src/backend/access/nbtree/nbtcompare.c b/src/backend/access/nbtree/nbtcompare.c index 55942379dca..85b673ebba6 100644 --- a/src/backend/access/nbtree/nbtcompare.c +++ b/src/backend/access/nbtree/nbtcompare.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtcompare.c,v 1.13 1997/09/08 21:41:11 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtcompare.c,v 1.14 1998/03/30 17:22:17 momjian Exp $ * * NOTES * These functions are stored in pg_amproc. For each operator class @@ -102,30 +102,6 @@ btcharcmp(char a, char b) } int32 -btchar2cmp(uint16 a, uint16 b) -{ - return (strncmp((char *) &a, (char *) &b, 2)); -} - -int32 -btchar4cmp(uint32 a, uint32 b) -{ - return (strncmp((char *) &a, (char *) &b, 4)); -} - -int32 -btchar8cmp(char *a, char *b) -{ - return (strncmp(a, b, 8)); -} - -int32 -btchar16cmp(char *a, char *b) -{ - return (strncmp(a, b, 16)); -} - -int32 btnamecmp(NameData *a, NameData *b) { return (strncmp(a->data, b->data, NAMEDATALEN)); diff --git a/src/backend/access/transam/xid.c b/src/backend/access/transam/xid.c index 64ae130dd34..960d98b9e3a 100644 --- a/src/backend/access/transam/xid.c +++ b/src/backend/access/transam/xid.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/access/transam/Attic/xid.c,v 1.12 1998/02/26 04:30:19 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/access/transam/Attic/xid.c,v 1.13 1998/03/30 17:22:28 momjian Exp $ * * OLD COMMENTS * XXX WARNING @@ -30,14 +30,14 @@ extern TransactionId DisabledTransactionId; extern TransactionId AmiTransactionId; extern TransactionId FirstTransactionId; -/* XXX char16 name for catalogs */ +/* XXX name for catalogs */ TransactionId xidin(char *representation) { return (atol(representation)); } -/* XXX char16 name for catalogs */ +/* XXX name for catalogs */ char * xidout(TransactionId transactionId) { diff --git a/src/backend/bootstrap/bootparse.y b/src/backend/bootstrap/bootparse.y index 4958f2e554b..613dba9d05b 100644 --- a/src/backend/bootstrap/bootparse.y +++ b/src/backend/bootstrap/bootparse.y @@ -8,53 +8,47 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/bootstrap/bootparse.y,v 1.13 1998/01/07 21:02:29 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/bootstrap/bootparse.y,v 1.14 1998/03/30 17:22:44 momjian Exp $ * *------------------------------------------------------------------------- */ +#include <stdio.h> +#include <time.h> + #include "postgres.h" -#include "catalog/pg_attribute.h" +#include "miscadmin.h" + #include "access/attnum.h" -#include "nodes/pg_list.h" +#include "access/funcindex.h" +#include "access/htup.h" +#include "access/itup.h" +#include "access/skey.h" +#include "access/strat.h" #include "access/tupdesc.h" -#include "storage/fd.h" +#include "access/xact.h" +#include "bootstrap/bootstrap.h" +#include "catalog/heap.h" #include "catalog/pg_am.h" +#include "catalog/pg_attribute.h" #include "catalog/pg_class.h" +#include "commands/defrem.h" #include "nodes/nodes.h" -#include "rewrite/prs2lock.h" -#include "access/skey.h" -#include "access/strat.h" -#include "utils/rel.h" - +#include "nodes/parsenodes.h" +#include "nodes/pg_list.h" #include "nodes/primnodes.h" -#include <time.h> -#include "utils/nabstime.h" +#include "rewrite/prs2lock.h" #include "storage/block.h" -#include "storage/off.h" -#include "storage/itemptr.h" -#include "access/htup.h" -#include "nodes/parsenodes.h" - -#include "access/xact.h" - -#include <stdio.h> - -#include "catalog/heap.h" - +#include "storage/fd.h" #include "storage/ipc.h" -#include "storage/spin.h" +#include "storage/itemptr.h" +#include "storage/off.h" #include "storage/smgr.h" - +#include "storage/spin.h" #include "tcop/dest.h" -#include "commands/defrem.h" - -#include "access/itup.h" -#include "access/funcindex.h" -#include "bootstrap/bootstrap.h" - -#include "miscadmin.h" +#include "utils/nabstime.h" +#include "utils/rel.h" #define DO_START { \ StartTransactionCommand();\ diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c index b23eb3c4e98..f1d4ddd04d0 100644 --- a/src/backend/bootstrap/bootstrap.c +++ b/src/backend/bootstrap/bootstrap.c @@ -7,7 +7,7 @@ * Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.37 1998/02/26 04:30:22 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.38 1998/03/30 17:22:49 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -16,88 +16,70 @@ #include <stdio.h> #include <signal.h> #include <setjmp.h> +#include <string.h> #define BOOTSTRAP_INCLUDE /* mask out stuff in tcop/tcopprot.h */ #include "postgres.h" -#include "catalog/pg_attribute.h" +#include "miscadmin.h" +#include "fmgr.h" + #include "access/attnum.h" -#include "nodes/pg_list.h" +#include "access/funcindex.h" +#include "access/genam.h" +#include "access/heapam.h" +#include "access/htup.h" +#include "access/itup.h" +#include "access/relscan.h" +#include "access/sdir.h" +#include "access/skey.h" +#include "access/strat.h" #include "access/tupdesc.h" -#include "storage/fd.h" +#include "access/xact.h" +#include "bootstrap/bootstrap.h" +#include "catalog/catname.h" +#include "catalog/index.h" #include "catalog/pg_am.h" +#include "catalog/pg_attribute.h" #include "catalog/pg_class.h" +#include "catalog/pg_type.h" +#include "executor/execdesc.h" +#include "executor/hashjoin.h" +#include "executor/tuptable.h" +#include "libpq/pqsignal.h" +#include "nodes/execnodes.h" +#include "nodes/memnodes.h" #include "nodes/nodes.h" +#include "nodes/params.h" +#include "nodes/parsenodes.h" +#include "nodes/plannodes.h" +#include "nodes/pg_list.h" +#include "nodes/primnodes.h" #include "rewrite/prs2lock.h" -#include "access/skey.h" -#include "access/strat.h" -#include "utils/rel.h" -#include "libpq/pqsignal.h" - #include "storage/block.h" -#include "storage/off.h" -#include "storage/itemptr.h" -#include "utils/nabstime.h" -#include "access/htup.h" #include "storage/buf.h" -#include "access/relscan.h" -#include "access/heapam.h" - -#include "fmgr.h" - -#include "access/funcindex.h" - -#include "nodes/memnodes.h" - -#include "miscadmin.h" - -#include "catalog/pg_type.h" - -#include "access/itup.h" -#include "bootstrap/bootstrap.h" - -#include "tcop/tcopprot.h" - +#include "storage/fd.h" #include "storage/ipc.h" +#include "storage/itemptr.h" +#include "storage/lock.h" +#include "storage/off.h" +#include "storage/shmem.h" #include "storage/spin.h" +#include "tcop/dest.h" +#include "tcop/tcopprot.h" +#include "utils/builtins.h" +#include "utils/geo_decls.h" #include "utils/hsearch.h" -#include "storage/shmem.h" -#include "storage/lock.h" - -#include "access/xact.h" +#include "utils/lsyscache.h" +#include "utils/mcxt.h" +#include "utils/nabstime.h" +#include "utils/portal.h" +#include "utils/rel.h" #ifndef HAVE_MEMMOVE #include "regex/utils.h" #endif -#include <string.h> - -#include "nodes/primnodes.h" -#include "nodes/parsenodes.h" -#include "nodes/params.h" -#include "access/sdir.h" -#include "executor/hashjoin.h" -#include "executor/tuptable.h" -#include "nodes/execnodes.h" -#include "nodes/plannodes.h" -#include "tcop/dest.h" -#include "executor/execdesc.h" -#include "utils/portal.h" - -#include "utils/mcxt.h" - -#include "catalog/catname.h" - -#include "utils/geo_decls.h" -#include "utils/builtins.h" - -#include "catalog/index.h" - -#include "access/genam.h" - -#include "utils/lsyscache.h" - -#include "utils/palloc.h" #define ALLOC(t, c) (t *)calloc((unsigned)(c), sizeof(t)) #define FIRST_TYPE_OID 16 /* OID of the first type */ @@ -161,7 +143,7 @@ static struct typinfo Procid[] = { {"bytea", 17, 0, -1, F_BYTEAIN, F_BYTEAOUT}, {"char", 18, 0, 1, F_CHARIN, F_CHAROUT}, {"name", 19, 0, NAMEDATALEN, F_NAMEIN, F_NAMEOUT}, - {"char16", 20, 0, 16, F_CHAR16IN, F_CHAR16OUT}, + {"dummy", 20, 0, 16, 0, 0}, /* { "dt", 20, 0, 4, F_DTIN, F_DTOUT}, */ {"int2", 21, 0, 2, F_INT2IN, F_INT2OUT}, {"int28", 22, 0, 16, F_INT28IN, F_INT28OUT}, diff --git a/src/backend/commands/creatinh.c b/src/backend/commands/creatinh.c index 4d57b560954..7e6e4921690 100644 --- a/src/backend/commands/creatinh.c +++ b/src/backend/commands/creatinh.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.26 1998/02/26 04:30:55 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.27 1998/03/30 17:22:55 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -179,7 +179,7 @@ RemoveRelation(char *name) * Here's an example: * * create table person (name text, age int4, location point); - * create table emp (salary int4, manager char16) inherits(person); + * create table emp (salary int4, manager text) inherits(person); * create table student (gpa float8) inherits (person); * create table stud_emp (percent int4) inherits (emp, student); * diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c index 104091fb288..c5ceb5eed2e 100644 --- a/src/backend/commands/dbcommands.c +++ b/src/backend/commands/dbcommands.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.8 1998/02/26 04:30:56 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.9 1998/03/30 17:22:58 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -88,7 +88,7 @@ createdb(char *dbname, char *dbpath) #if FALSE sprintf(buf, "insert into pg_database (datname, datdba, datpath) \ - values (\'%s\'::char16, \'%d\'::oid, \'%s\'::text);", + values (\'%s\'::name, \'%d\'::oid, \'%s\'::text);", dbname, user_id, dbname); #endif diff --git a/src/backend/executor/execQual.c b/src/backend/executor/execQual.c index f1ff8bbbb4c..9fd4c185be2 100644 --- a/src/backend/executor/execQual.c +++ b/src/backend/executor/execQual.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.27 1998/03/30 16:35:50 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.28 1998/03/30 17:23:05 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -547,7 +547,7 @@ GetAttributeByNum(TupleTableSlot *slot, return (char *) retval; } -/* XXX char16 name for catalogs */ +/* XXX name for catalogs */ #ifdef NOT_USED char * att_by_num(TupleTableSlot *slot, @@ -608,7 +608,7 @@ GetAttributeByName(TupleTableSlot *slot, char *attname, bool *isNull) return (char *) retval; } -/* XXX char16 name for catalogs */ +/* XXX name for catalogs */ #ifdef NOT_USED char * att_by_name(TupleTableSlot *slot, char *attname, bool *isNull) diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index da5f9068577..31c636ee26f 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.24 1998/03/26 21:08:10 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.25 1998/03/30 17:23:19 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -530,7 +530,7 @@ parser_typecast2(Node *expr, Oid exprType, Type tp, int16 atttypmod) sprintf(const_string, "%d", (int) ((Const *) expr)->constvalue); break; - case NAMEOID: /* char16 */ + case NAMEOID: /* name */ const_string = (char *) palloc(256); string_palloced = true; sprintf(const_string, "%s", diff --git a/src/backend/rewrite/rewriteRemove.c b/src/backend/rewrite/rewriteRemove.c index 0f92cf19393..fd9b7ecf4ac 100644 --- a/src/backend/rewrite/rewriteRemove.c +++ b/src/backend/rewrite/rewriteRemove.c @@ -7,21 +7,20 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteRemove.c,v 1.11 1998/02/26 04:35:20 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteRemove.c,v 1.12 1998/03/30 17:23:37 momjian Exp $ * *------------------------------------------------------------------------- */ #include "postgres.h" +#include "fmgr.h" /* for F_NAMEEQ */ + +#include "access/heapam.h" /* heap AM calls defined here */ #include "access/skey.h" -#include "catalog/pg_rewrite.h" #include "catalog/catname.h" /* for RewriteRelationName */ +#include "catalog/pg_rewrite.h" #include "utils/syscache.h" -#include "utils/elog.h" /* for elog stuff */ -#include "utils/palloc.h" -#include "access/heapam.h" /* heap AM calls defined here */ -#include "fmgr.h" /* for CHAR_16_EQ */ #include "rewrite/rewriteRemove.h" /* where the decls go */ #include "rewrite/rewriteSupport.h" @@ -86,7 +85,7 @@ RemoveRewriteRule(char *ruleName) * Scan the RuleRelation ('pg_rewrite') until we find a tuple */ ScanKeyEntryInitialize(&scanKeyData, 0, Anum_pg_rewrite_rulename, - F_CHAR16EQ, NameGetDatum(ruleName)); + F_NAMEEQ, NameGetDatum(ruleName)); scanDesc = heap_beginscan(RewriteRelation, 0, false, 1, &scanKeyData); diff --git a/src/backend/rewrite/rewriteSupport.c b/src/backend/rewrite/rewriteSupport.c index b701fbd4157..8c62cc2bfe0 100644 --- a/src/backend/rewrite/rewriteSupport.c +++ b/src/backend/rewrite/rewriteSupport.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteSupport.c,v 1.16 1998/02/26 04:35:21 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteSupport.c,v 1.17 1998/03/30 17:23:40 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -106,7 +106,7 @@ IsDefinedRewriteRule(char *ruleName) * Scan the RuleRelation ('pg_rewrite') until we find a tuple */ ScanKeyEntryInitialize(&scanKey, 0, Anum_pg_rewrite_rulename, - NameEqualRegProcedure, PointerGetDatum(ruleName)); + F_NAMEEQ, PointerGetDatum(ruleName)); scanDesc = heap_beginscan(RewriteRelation, 0, false, 1, &scanKey); diff --git a/src/backend/tcop/fastpath.c b/src/backend/tcop/fastpath.c index bf799d5025e..e5a1ff8e690 100644 --- a/src/backend/tcop/fastpath.c +++ b/src/backend/tcop/fastpath.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tcop/fastpath.c,v 1.13 1998/02/26 04:36:26 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/fastpath.c,v 1.14 1998/03/30 17:23:52 momjian Exp $ * * NOTES * This cruft is the server side of PQfn. @@ -44,7 +44,7 @@ * The previous implementation would assume (1) that any value of * length <= 4 bytes was passed-by-value, and that any other value * was a struct varlena (by-reference). There was NO way to pass a - * fixed-length by-reference argument (like char16) or a struct + * fixed-length by-reference argument (like name) or a struct * varlena of size <= 4 bytes. * * The new implementation checks the catalogs to determine whether diff --git a/src/backend/utils/adt/char.c b/src/backend/utils/adt/char.c index 23bfd4c20b0..5a32bceeb66 100644 --- a/src/backend/utils/adt/char.c +++ b/src/backend/utils/adt/char.c @@ -3,16 +3,12 @@ * char.c-- * Functions for the built-in type "char". * Functions for the built-in type "cid". - * Functions for the built-in type "char2". - * Functions for the built-in type "char4". - * Functions for the built-in type "char8". - * Functions for the built-in type "char16". * * Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/char.c,v 1.15 1998/02/26 04:36:54 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/char.c,v 1.16 1998/03/30 17:24:00 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -87,42 +83,6 @@ cidout(int32 c) return (result); } -/* - * char16in - converts "..." to internal reprsentation - * - * Note: - * Currently if strlen(s) < 14, the extra chars are nulls - */ -char * -char16in(char *s) -{ - char *result; - - if (s == NULL) - return (NULL); - result = (char *) palloc(16); - strncpy(result, s, 16); - return (result); -} - -/* - * char16out - converts internal reprsentation to "..." - */ -char * -char16out(char *s) -{ - char *result = (char *) palloc(17); - - if (s == NULL) - { - result[0] = '-'; - result[1] = '\0'; - } - else - StrNCpy(result, s, 17); - return (result); -} - /***************************************************************************** * PUBLIC ROUTINES * @@ -193,283 +153,3 @@ cideq(int8 arg1, int8 arg2) { return (arg1 == arg2); } - -/* - * char16eq - returns 1 iff arguments are equal - * char16ne - returns 1 iff arguments are not equal - * - * BUGS: - * Assumes that "xy\0\0a" should be equal to "xy\0b". - * If not, can do the comparison backwards for efficiency. - * - * char16lt - returns 1 iff a < b - * char16le - returns 1 iff a <= b - * char16gt - returns 1 iff a < b - * char16ge - returns 1 iff a <= b - * - */ -bool -char16eq(char *arg1, char *arg2) -{ - if (arg1 == NULL || arg2 == NULL) - return ((bool) 0); - return (strncmp(arg1, arg2, 16) == 0); -} - -bool -char16ne(char *arg1, char *arg2) -{ - if (arg1 == NULL || arg2 == NULL) - return ((bool) 0); - return (strncmp(arg1, arg2, 16) != 0); -} - -bool -char16lt(char *arg1, char *arg2) -{ - if (arg1 == NULL || arg2 == NULL) - return ((bool) 0); - return (strncmp(arg1, arg2, 16) < 0); -} - -bool -char16le(char *arg1, char *arg2) -{ - if (arg1 == NULL || arg2 == NULL) - return ((bool) 0); - return (strncmp(arg1, arg2, 16) <= 0); -} - -bool -char16gt(char *arg1, char *arg2) -{ - if (arg1 == NULL || arg2 == NULL) - return ((bool) 0); - - return (strncmp(arg1, arg2, 16) > 0); -} - -bool -char16ge(char *arg1, char *arg2) -{ - if (arg1 == NULL || arg2 == NULL) - return ((bool) 0); - - return (strncmp(arg1, arg2, 16) >= 0); -} - - -/* ============================== char2 ============================== */ -uint16 -char2in(char *s) -{ - uint16 res; - - if (s == NULL) - return (0); - - strncpy((char *) &res, s, 2); - return (res); -} - -char * -char2out(uint16 s) -{ - char *result = (char *) palloc(3); - - StrNCpy(result, (char *) &s, 3); - - return (result); -} - -bool -char2eq(uint16 a, uint16 b) -{ - return (strncmp((char *) &a, (char *) &b, 2) == 0); -} - -bool -char2ne(uint16 a, uint16 b) -{ - return (strncmp((char *) &a, (char *) &b, 2) != 0); -} - -bool -char2lt(uint16 a, uint16 b) -{ - return (strncmp((char *) &a, (char *) &b, 2) < 0); -} - -bool -char2le(uint16 a, uint16 b) -{ - return (strncmp((char *) &a, (char *) &b, 2) <= 0); -} - -bool -char2gt(uint16 a, uint16 b) -{ - return (strncmp((char *) &a, (char *) &b, 2) > 0); -} - -bool -char2ge(uint16 a, uint16 b) -{ - return (strncmp((char *) &a, (char *) &b, 2) >= 0); -} - -int32 -char2cmp(uint16 a, uint16 b) -{ - return (strncmp((char *) &a, (char *) &b, 2)); -} - -/* ============================== char4 ============================== */ -uint32 -char4in(char *s) -{ - uint32 res; - - if (s == NULL) - return (0); - - strncpy((char *) &res, s, 4); - - return (res); -} - -char * -char4out(s) -uint32 s; -{ - char *result = (char *) palloc(5); - - StrNCpy(result, (char *) &s, 5); - - return (result); -} - -bool -char4eq(uint32 a, uint32 b) -{ - return (strncmp((char *) &a, (char *) &b, 4) == 0); -} - -bool -char4ne(uint32 a, uint32 b) -{ - return (strncmp((char *) &a, (char *) &b, 4) != 0); -} - -bool -char4lt(uint32 a, uint32 b) -{ - return (strncmp((char *) &a, (char *) &b, 4) < 0); -} - -bool -char4le(uint32 a, uint32 b) -{ - return (strncmp((char *) &a, (char *) &b, 4) <= 0); -} - -bool -char4gt(uint32 a, uint32 b) -{ - return (strncmp((char *) &a, (char *) &b, 4) > 0); -} - -bool -char4ge(uint32 a, uint32 b) -{ - return (strncmp((char *) &a, (char *) &b, 4) >= 0); -} - -int32 -char4cmp(uint32 a, uint32 b) -{ - return (strncmp((char *) &a, (char *) &b, 4)); -} - -/* ============================== char8 ============================== */ -char * -char8in(char *s) -{ - char *result; - - if (s == NULL) - return ((char *) NULL); - - result = (char *) palloc(8); - strncpy(result, s, 8); - return (result); -} - -char * -char8out(char *s) -{ - char *result = (char *) palloc(9); - - if (s == NULL) - { - result[0] = '-'; - result[1] = '\0'; - } - else - StrNCpy(result, s, 9); - return (result); -} - -bool -char8eq(char *arg1, char *arg2) -{ - if (arg1 == NULL || arg2 == NULL) - return ((bool) 0); - return (strncmp(arg1, arg2, 8) == 0); -} - -bool -char8ne(char *arg1, char *arg2) -{ - if (arg1 == NULL || arg2 == NULL) - return ((bool) 0); - return (strncmp(arg1, arg2, 8) != 0); -} - -bool -char8lt(char *arg1, char *arg2) -{ - if (arg1 == NULL || arg2 == NULL) - return ((bool) 0); - return (strncmp(arg1, arg2, 8) < 0); -} - -bool -char8le(char *arg1, char *arg2) -{ - if (arg1 == NULL || arg2 == NULL) - return ((bool) 0); - return (strncmp(arg1, arg2, 8) <= 0); -} - -bool -char8gt(char *arg1, char *arg2) -{ - if (arg1 == NULL || arg2 == NULL) - return ((bool) 0); - return (strncmp(arg1, arg2, 8) > 0); -} - -bool -char8ge(char *arg1, char *arg2) -{ - if (arg1 == NULL || arg2 == NULL) - return ((bool) 0); - return (strncmp(arg1, arg2, 8) >= 0); -} - -int32 -char8cmp(char *arg1, char *arg2) -{ - return (strncmp(arg1, arg2, 8)); -} diff --git a/src/backend/utils/adt/like.c b/src/backend/utils/adt/like.c index 27d6ffc0140..032f28b13ac 100644 --- a/src/backend/utils/adt/like.c +++ b/src/backend/utils/adt/like.c @@ -83,58 +83,6 @@ fixedlen_like(char *s, struct varlena * p, int charlen) } bool -char2like(uint16 arg1, struct varlena * p) -{ - char *s = (char *) &arg1; - - return (fixedlen_like(s, p, 2)); -} - -bool -char2nlike(uint16 arg1, struct varlena * p) -{ - return (!char2like(arg1, p)); -} - -bool -char4like(uint32 arg1, struct varlena * p) -{ - char *s = (char *) &arg1; - - return (fixedlen_like(s, p, 4)); -} - -bool -char4nlike(uint32 arg1, struct varlena * p) -{ - return (!char4like(arg1, p)); -} - -bool -char8like(char *s, struct varlena * p) -{ - return (fixedlen_like(s, p, 8)); -} - -bool -char8nlike(char *s, struct varlena * p) -{ - return (!char8like(s, p)); -} - -bool -char16like(char *s, struct varlena * p) -{ - return (fixedlen_like(s, p, 16)); -} - -bool -char16nlike(char *s, struct varlena * p) -{ - return (!char16like(s, p)); -} - -bool namelike(NameData *n, struct varlena * p) { if (!n) @@ -163,7 +111,7 @@ textnlike(struct varlena * s, struct varlena * p) } -/* $Revision: 1.13 $ +/* $Revision: 1.14 $ ** "like.c" A first attempt at a LIKE operator for Postgres95. ** ** Originally written by Rich $alz, mirror!rs, Wed Nov 26 19:03:17 EST 1986. diff --git a/src/backend/utils/adt/regexp.c b/src/backend/utils/adt/regexp.c index 7efc0e47e6b..b16e1e11b6e 100644 --- a/src/backend/utils/adt/regexp.c +++ b/src/backend/utils/adt/regexp.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/regexp.c,v 1.14 1998/02/26 04:37:20 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/regexp.c,v 1.15 1998/03/30 17:24:12 momjian Exp $ * * Alistair Crooks added the code for the regex caching * agc - cached the regular expressions used - there's a good chance @@ -204,58 +204,6 @@ fixedlen_regexeq(char *s, struct varlena * p, int charlen, int cflags) * routines that use the regexp stuff */ bool -char2regexeq(uint16 arg1, struct varlena * p) -{ - char *s = (char *) &arg1; - - return (fixedlen_regexeq(s, p, 2, REG_EXTENDED)); -} - -bool -char2regexne(uint16 arg1, struct varlena * p) -{ - return (!char2regexeq(arg1, p)); -} - -bool -char4regexeq(uint32 arg1, struct varlena * p) -{ - char *s = (char *) &arg1; - - return (fixedlen_regexeq(s, p, 4, REG_EXTENDED)); -} - -bool -char4regexne(uint32 arg1, struct varlena * p) -{ - return (!char4regexeq(arg1, p)); -} - -bool -char8regexeq(char *s, struct varlena * p) -{ - return (fixedlen_regexeq(s, p, 8, REG_EXTENDED)); -} - -bool -char8regexne(char *s, struct varlena * p) -{ - return (!char8regexeq(s, p)); -} - -bool -char16regexeq(char *s, struct varlena * p) -{ - return (fixedlen_regexeq(s, p, 16, REG_EXTENDED)); -} - -bool -char16regexne(char *s, struct varlena * p) -{ - return (!char16regexeq(s, p)); -} - -bool nameregexeq(NameData *n, struct varlena * p) { if (!n) @@ -289,59 +237,6 @@ textregexne(struct varlena * s, struct varlena * p) * for this, we use the REG_ICASE flag to pg95_regcomp */ bool -char2icregexeq(uint16 arg1, struct varlena * p) -{ - char *s = (char *) &arg1; - - return (fixedlen_regexeq(s, p, 2, REG_ICASE | REG_EXTENDED)); -} - - -bool -char2icregexne(uint16 arg1, struct varlena * p) -{ - return (!char2icregexeq(arg1, p)); -} - -bool -char4icregexeq(uint32 arg1, struct varlena * p) -{ - char *s = (char *) &arg1; - - return (fixedlen_regexeq(s, p, 4, REG_ICASE | REG_EXTENDED)); -} - -bool -char4icregexne(uint32 arg1, struct varlena * p) -{ - return (!char4icregexeq(arg1, p)); -} - -bool -char8icregexeq(char *s, struct varlena * p) -{ - return (fixedlen_regexeq(s, p, 8, REG_ICASE | REG_EXTENDED)); -} - -bool -char8icregexne(char *s, struct varlena * p) -{ - return (!char8icregexeq(s, p)); -} - -bool -char16icregexeq(char *s, struct varlena * p) -{ - return (fixedlen_regexeq(s, p, 16, REG_ICASE | REG_EXTENDED)); -} - -bool -char16icregexne(char *s, struct varlena * p) -{ - return (!char16icregexeq(s, p)); -} - -bool texticregexeq(struct varlena * s, struct varlena * p) { if (!s) diff --git a/src/backend/utils/adt/regproc.c b/src/backend/utils/adt/regproc.c index 30c9b682602..34a3b268c27 100644 --- a/src/backend/utils/adt/regproc.c +++ b/src/backend/utils/adt/regproc.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/regproc.c,v 1.15 1998/02/26 04:37:20 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/regproc.c,v 1.16 1998/03/30 17:24:17 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -52,7 +52,7 @@ regprocin(char *proname) ScanKeyEntryInitialize(&key, (bits16) 0, (AttrNumber) 1, - (RegProcedure) F_CHAR16EQ, + (RegProcedure) F_NAMEEQ, (Datum) proname); procscan = heap_beginscan(proc, 0, false, 1, &key); diff --git a/src/backend/utils/cache/catcache.c b/src/backend/utils/cache/catcache.c index ef9593b2b13..59bdce3f6e6 100644 --- a/src/backend/utils/cache/catcache.c +++ b/src/backend/utils/cache/catcache.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.24 1998/02/26 04:37:27 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.25 1998/03/30 17:24:21 momjian Exp $ * * Notes: * XXX This needs to use exception.h to handle recovery when @@ -79,7 +79,7 @@ static int DisableCache; * ---------------- */ static long eqproc[] = { - F_BOOLEQ, 0l, F_CHAREQ, F_CHAR16EQ, 0l, + F_BOOLEQ, 0l, F_CHAREQ, F_NAMEEQ, 0l, F_INT2EQ, F_KEYFIRSTEQ, F_INT4EQ, 0l, F_TEXTEQ, F_OIDEQ, 0l, 0l, 0l, F_OID8EQ }; |