123 int buflen = (count) ?
HSE_ENDPOS(entries[2 * (count) - 1]) : 0;
141 for (
i = 1;
i < 2 * count; ++
i)
150 for (
i = 1;
i < count; ++
i)
173 int count = hs->
size_;
184 "old hstore format is not upward-compatible");
189 if (count > 0xFFFFFFF)
195 if (entries[0].pos != 0)
200 for (
i = 1;
i < count; ++
i)
202 if (entries[
i].keylen < entries[
i - 1].keylen)
212 for (
i = 0;
i < count; ++
i)
214 if (entries[
i].pos != lastpos)
217 + ((entries[
i].
valisnull) ? 0 : entries[
i].vallen));
250 if (hs->
size_ == 0 ||
261 if (!valid_old || hs->
size_ == 0)
274 elog(
ERROR,
"invalid hstore value found");
302 #ifdef HSTORE_IS_HSTORE_NEW
303 elog(
WARNING,
"ambiguous hstore value resolved as hstore-new");
312 elog(
WARNING,
"ambiguous hstore value resolved as hstore-old");
320 int count = hs->
size_;
325 for (
i = 0;
i < count; ++
i)
#define StaticAssertStmt(condition, errmessage)
#define PG_DETOAST_DATUM_COPY(datum)
#define PG_GETARG_DATUM(n)
#define PG_DETOAST_DATUM(datum)
#define PG_RETURN_INT32(x)
#define CALCDATASIZE(x, lenstr)
#define HS_FIXSIZE(hsp_, count_)
#define HS_FLAG_NEWVERSION
#define HSTORE_KEYLEN(arr_, i_)
#define HS_SETCOUNT(hsp_, c_)
PG_FUNCTION_INFO_V1(hstore_version_diag)
static int hstoreValidOldFormat(HStore *hs)
HStore * hstoreUpgrade(Datum orig)
Datum hstore_version_diag(PG_FUNCTION_ARGS)
static int hstoreValidNewFormat(HStore *hs)
static Pointer DatumGetPointer(Datum X)