diff options
Diffstat (limited to 'src/include/utils')
-rw-r--r-- | src/include/utils/array.h | 5 | ||||
-rw-r--r-- | src/include/utils/lsyscache.h | 6 | ||||
-rw-r--r-- | src/include/utils/typcache.h | 1 |
3 files changed, 12 insertions, 0 deletions
diff --git a/src/include/utils/array.h b/src/include/utils/array.h index 2809dfee939..16925880a1e 100644 --- a/src/include/utils/array.h +++ b/src/include/utils/array.h @@ -70,6 +70,11 @@ struct ExprContext; /* + * Maximum number of array subscripts (arbitrary limit) + */ +#define MAXDIM 6 + +/* * Arrays are varlena objects, so must meet the varlena convention that * the first int32 of the object contains the total object size in bytes. * Be sure to use VARSIZE() and SET_VARSIZE() to access it, though! diff --git a/src/include/utils/lsyscache.h b/src/include/utils/lsyscache.h index c97e12dde8a..a990d11ea86 100644 --- a/src/include/utils/lsyscache.h +++ b/src/include/utils/lsyscache.h @@ -17,6 +17,9 @@ #include "access/htup.h" #include "nodes/pg_list.h" +/* avoid including subscripting.h here */ +struct SubscriptRoutines; + /* Result list element for get_op_btree_interpretation */ typedef struct OpBtreeInterpretation { @@ -173,6 +176,9 @@ extern void getTypeBinaryOutputInfo(Oid type, Oid *typSend, bool *typIsVarlena); extern Oid get_typmodin(Oid typid); extern Oid get_typcollation(Oid typid); extern bool type_is_collatable(Oid typid); +extern RegProcedure get_typsubscript(Oid typid, Oid *typelemp); +extern const struct SubscriptRoutines *getSubscriptingRoutines(Oid typid, + Oid *typelemp); extern Oid getBaseType(Oid typid); extern Oid getBaseTypeAndTypmod(Oid typid, int32 *typmod); extern int32 get_typavgwidth(Oid typid, int32 typmod); diff --git a/src/include/utils/typcache.h b/src/include/utils/typcache.h index cdd20e56d70..38c8fe01929 100644 --- a/src/include/utils/typcache.h +++ b/src/include/utils/typcache.h @@ -42,6 +42,7 @@ typedef struct TypeCacheEntry char typstorage; char typtype; Oid typrelid; + Oid typsubscript; Oid typelem; Oid typcollation; |