diff options
Diffstat (limited to 'src/backend/utils/adt/varchar.c')
-rw-r--r-- | src/backend/utils/adt/varchar.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/backend/utils/adt/varchar.c b/src/backend/utils/adt/varchar.c index 8a06e6f4fd0..0aa8133b131 100644 --- a/src/backend/utils/adt/varchar.c +++ b/src/backend/utils/adt/varchar.c @@ -7,14 +7,16 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.43 1999/02/13 23:19:35 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.44 1999/05/03 19:10:02 momjian Exp $ * *------------------------------------------------------------------------- */ #include <stdio.h> /* for sprintf() */ #include <string.h> #include "postgres.h" +#include "utils/array.h" #include "utils/builtins.h" +#include "catalog/pg_type.h" #ifdef CYR_RECODE char *convertstr(char *, int, int); @@ -200,6 +202,16 @@ bpchar(char *s, int32 len) return result; } /* bpchar() */ +/* _bpchar() + * Converts an array of char() type to a specific internal length. + * len is the length specified in () plus VARHDRSZ bytes. + */ +ArrayType * +_bpchar(ArrayType *v, int32 len) +{ + return array_map(v, BPCHAROID, bpchar, BPCHAROID, 1, len); +} + /* bpchar_char() * Convert bpchar(1) to char. @@ -396,6 +408,16 @@ varchar(char *s, int32 slen) return result; } /* varchar() */ +/* _varchar() + * Converts an array of varchar() type to the specified size. + * len is the length specified in () plus VARHDRSZ bytes. + */ +ArrayType * +_varchar(ArrayType *v, int32 len) +{ + return array_map(v, VARCHAROID, varchar, VARCHAROID, 1, len); +} + /***************************************************************************** * Comparison Functions used for bpchar |