@@ -611,19 +611,22 @@ hstore_from_arrays(PG_FUNCTION_ARGS)
611611
612612if (!value_nulls || value_nulls [i ])
613613{
614- pairs [i ].key = VARDATA_ANY (key_datums [i ]);
614+ pairs [i ].key = VARDATA (key_datums [i ]);
615615pairs [i ].val = NULL ;
616- pairs [i ].keylen = hstoreCheckKeyLen (VARSIZE_ANY_EXHDR (key_datums [i ]));
616+ pairs [i ].keylen =
617+ hstoreCheckKeyLen (VARSIZE (key_datums [i ])- VARHDRSZ );
617618pairs [i ].vallen = 4 ;
618619pairs [i ].isnull = true;
619620pairs [i ].needfree = false;
620621}
621622else
622623{
623- pairs [i ].key = VARDATA_ANY (key_datums [i ]);
624- pairs [i ].val = VARDATA_ANY (value_datums [i ]);
625- pairs [i ].keylen = hstoreCheckKeyLen (VARSIZE_ANY_EXHDR (key_datums [i ]));
626- pairs [i ].vallen = hstoreCheckValLen (VARSIZE_ANY_EXHDR (value_datums [i ]));
624+ pairs [i ].key = VARDATA (key_datums [i ]);
625+ pairs [i ].val = VARDATA (value_datums [i ]);
626+ pairs [i ].keylen =
627+ hstoreCheckKeyLen (VARSIZE (key_datums [i ])- VARHDRSZ );
628+ pairs [i ].vallen =
629+ hstoreCheckValLen (VARSIZE (value_datums [i ])- VARHDRSZ );
627630pairs [i ].isnull = false;
628631pairs [i ].needfree = false;
629632}
@@ -704,19 +707,22 @@ hstore_from_array(PG_FUNCTION_ARGS)
704707
705708if (in_nulls [i * 2 + 1 ])
706709{
707- pairs [i ].key = VARDATA_ANY (in_datums [i * 2 ]);
710+ pairs [i ].key = VARDATA (in_datums [i * 2 ]);
708711pairs [i ].val = NULL ;
709- pairs [i ].keylen = hstoreCheckKeyLen (VARSIZE_ANY_EXHDR (in_datums [i * 2 ]));
712+ pairs [i ].keylen =
713+ hstoreCheckKeyLen (VARSIZE (in_datums [i * 2 ])- VARHDRSZ );
710714pairs [i ].vallen = 4 ;
711715pairs [i ].isnull = true;
712716pairs [i ].needfree = false;
713717}
714718else
715719{
716- pairs [i ].key = VARDATA_ANY (in_datums [i * 2 ]);
717- pairs [i ].val = VARDATA_ANY (in_datums [i * 2 + 1 ]);
718- pairs [i ].keylen = hstoreCheckKeyLen (VARSIZE_ANY_EXHDR (in_datums [i * 2 ]));
719- pairs [i ].vallen = hstoreCheckValLen (VARSIZE_ANY_EXHDR (in_datums [i * 2 + 1 ]));
720+ pairs [i ].key = VARDATA (in_datums [i * 2 ]);
721+ pairs [i ].val = VARDATA (in_datums [i * 2 + 1 ]);
722+ pairs [i ].keylen =
723+ hstoreCheckKeyLen (VARSIZE (in_datums [i * 2 ])- VARHDRSZ );
724+ pairs [i ].vallen =
725+ hstoreCheckValLen (VARSIZE (in_datums [i * 2 + 1 ])- VARHDRSZ );
720726pairs [i ].isnull = false;
721727pairs [i ].needfree = false;
722728}