aboutsummaryrefslogtreecommitdiff
path: root/contrib/ltree/ltree.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ltree/ltree.h')
-rw-r--r--contrib/ltree/ltree.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/contrib/ltree/ltree.h b/contrib/ltree/ltree.h
index 1ff5707fb13..d627c45bd36 100644
--- a/contrib/ltree/ltree.h
+++ b/contrib/ltree/ltree.h
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/contrib/ltree/ltree.h,v 1.17 2006/10/04 00:29:45 momjian Exp $ */
+/* $PostgreSQL: pgsql/contrib/ltree/ltree.h,v 1.18 2007/02/28 22:44:38 tgl Exp $ */
#ifndef __LTREE_H__
#define __LTREE_H__
@@ -18,12 +18,12 @@ typedef struct
typedef struct
{
- int32 len;
+ int32 vl_len_; /* varlena header (do not touch directly!) */
uint16 numlevel;
char data[1];
} ltree;
-#define LTREE_HDRSIZE MAXALIGN( sizeof(int32) + sizeof(uint16) )
+#define LTREE_HDRSIZE MAXALIGN(VARHDRSZ + sizeof(uint16))
#define LTREE_FIRST(x) ( (ltree_level*)( ((char*)(x))+LTREE_HDRSIZE ) )
@@ -68,14 +68,14 @@ typedef struct
typedef struct
{
- int32 len;
+ int32 vl_len_; /* varlena header (do not touch directly!) */
uint16 numlevel;
uint16 firstgood;
uint16 flag;
char data[1];
} lquery;
-#define LQUERY_HDRSIZE MAXALIGN( sizeof(int32) + 3*sizeof(uint16) )
+#define LQUERY_HDRSIZE MAXALIGN(VARHDRSZ + 3*sizeof(uint16))
#define LQUERY_FIRST(x) ( (lquery_level*)( ((char*)(x))+LQUERY_HDRSIZE ) )
#define LQUERY_HASNOT 0x01
@@ -105,12 +105,12 @@ typedef struct ITEM
*/
typedef struct
{
- int4 len;
+ int32 vl_len_; /* varlena header (do not touch directly!) */
int4 size;
char data[1];
} ltxtquery;
-#define HDRSIZEQT MAXALIGN( 2*sizeof(int4) )
+#define HDRSIZEQT MAXALIGN(VARHDRSZ + sizeof(int4))
#define COMPUTESIZE(size,lenofoperand) ( HDRSIZEQT + (size) * sizeof(ITEM) + (lenofoperand) )
#define GETQUERY(x) (ITEM*)( (char*)(x)+HDRSIZEQT )
#define GETOPERAND(x) ( (char*)GETQUERY(x) + ((ltxtquery*)x)->size * sizeof(ITEM) )
@@ -205,7 +205,7 @@ typedef unsigned char *BITVECP;
typedef struct
{
- int4 len;
+ int32 vl_len_; /* varlena header (do not touch directly!) */
uint32 flag;
char data[1];
} ltree_gist;
@@ -214,14 +214,14 @@ typedef struct
#define LTG_ALLTRUE 0x02
#define LTG_NORIGHT 0x04
-#define LTG_HDRSIZE MAXALIGN( sizeof(int4) + sizeof(uint32) )
+#define LTG_HDRSIZE MAXALIGN(VARHDRSZ + sizeof(uint32))
#define LTG_SIGN(x) ( (BITVECP)( ((char*)(x))+LTG_HDRSIZE ) )
#define LTG_NODE(x) ( (ltree*)( ((char*)(x))+LTG_HDRSIZE ) )
#define LTG_ISONENODE(x) ( ((ltree_gist*)(x))->flag & LTG_ONENODE )
#define LTG_ISALLTRUE(x) ( ((ltree_gist*)(x))->flag & LTG_ALLTRUE )
#define LTG_ISNORIGHT(x) ( ((ltree_gist*)(x))->flag & LTG_NORIGHT )
#define LTG_LNODE(x) ( (ltree*)( ( ((char*)(x))+LTG_HDRSIZE ) + ( LTG_ISALLTRUE(x) ? 0 : SIGLEN ) ) )
-#define LTG_RENODE(x) ( (ltree*)( ((char*)LTG_LNODE(x)) + LTG_LNODE(x)->len) )
+#define LTG_RENODE(x) ( (ltree*)( ((char*)LTG_LNODE(x)) + VARSIZE(LTG_LNODE(x))) )
#define LTG_RNODE(x) ( LTG_ISNORIGHT(x) ? LTG_LNODE(x) : LTG_RENODE(x) )
#define LTG_GETLNODE(x) ( LTG_ISONENODE(x) ? LTG_NODE(x) : LTG_LNODE(x) )