Fixed casting [skip ci]

This commit is contained in:
Andrew Kane
2024-10-13 18:36:25 -07:00
parent 3424f46298
commit 39af767617
2 changed files with 8 additions and 4 deletions

View File

@@ -363,7 +363,7 @@ array_to_intvec(PG_FUNCTION_ARGS)
{
ArrayType *array = PG_GETARG_ARRAYTYPE_P(0);
int32 typmod = PG_GETARG_INT32(1);
Vector *result;
IntVector *result;
int16 typlen;
bool typbyval;
char typalign;
@@ -386,7 +386,7 @@ array_to_intvec(PG_FUNCTION_ARGS)
CheckDim(nelemsp);
CheckExpectedDim(typmod, nelemsp);
result = InitVector(nelemsp);
result = InitIntVector(nelemsp);
if (ARR_ELEMTYPE(array) == INT4OID)
{
@@ -609,10 +609,10 @@ intvec_cmp_internal(IntVector * a, IntVector * b)
/* Check values before dimensions to be consistent with Postgres arrays */
for (int i = 0; i < dim; i++)
{
if (a->x[i] < b->x[i])
if ((int) a->x[i] < (int) b->x[i])
return -1;
if (a->x[i] > b->x[i])
if ((int) a->x[i] > (int) b->x[i])
return 1;
}

View File

@@ -40,6 +40,10 @@ for (1 .. 50)
$actual = $node->safe_psql("postgres", "SELECT halfvec_cmp(v::halfvec, '$query'::real[]::halfvec) FROM tst");
is($expected, $actual);
# Test intvec
$actual = $node->safe_psql("postgres", "SELECT intvec_cmp(v::int[]::intvec, '$query'::int[]::intvec) FROM tst");
is($expected, $actual);
# Test sparsevec
$actual = $node->safe_psql("postgres", "SELECT sparsevec_cmp(v::vector::sparsevec, '$query'::real[]::vector::sparsevec) FROM tst");
is($expected, $actual);