diff --git a/src/sparsevec.c b/src/sparsevec.c index 0511e4f..1a82d7d 100644 --- a/src/sparsevec.c +++ b/src/sparsevec.c @@ -570,7 +570,7 @@ vector_to_sparsevec(PG_FUNCTION_ARGS) if (j == nnz) elog(ERROR, "safety check failed"); - result->indices[j] = i; + result->indices[j] = i + 1; values[j] = vec->x[i]; j++; } diff --git a/test/expected/sparsevec_input.out b/test/expected/sparsevec_input.out index c25b852..6fb400a 100644 --- a/test/expected/sparsevec_input.out +++ b/test/expected/sparsevec_input.out @@ -21,7 +21,7 @@ ERROR: expected 4 dimensions, not 5 SELECT '[0,1.5,0,3.5,0]'::vector::sparsevec; sparsevec ----------------- - {1:1.5,3:3.5}/5 + {2:1.5,4:3.5}/5 (1 row) SELECT '{1:0,2:1,3:0}/3'::sparsevec;