pgvector.git / summary / log / commit / refs
commit aca89aec73419caecfa6ff79cade08ea9801581d
Author: Andrew Kane <andrew@ankane.org>
Date: Mon Jan 05 20:54:04 2026 +0000
Switched to scanner_isspace for Postgres 17+ - resolves #942
src/halfvec.c | 11 ++++++++---
src/sparsevec.c | 11 ++++++++---
src/vector.c | 11 ++++++++---
3 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/src/halfvec.c b/src/halfvec.c
index 6854c3d7..37711469 100644
--- a/src/halfvec.c
+++ b/src/halfvec.c
@@ -23,6 +23,10 @@
#include "varatt.h"
#endif
+#if PG_VERSION_NUM >= 170000
+#include "parser/scansup.h"
+#endif
+
#define STATE_DIMS(x) (ARR_DIMS(x)[0] - 1)
#define CreateStateDatums(dim) palloc(sizeof(Datum) * (dim + 1))
@@ -133,9 +137,9 @@ InitHalfVector(int dim)
return result;
}
-/*
- * Check for whitespace, since array_isspace() is static
- */
+#if PG_VERSION_NUM >= 170000
+#define halfvec_isspace(ch) scanner_isspace(ch)
+#else
static inline bool
halfvec_isspace(char ch)
{
@@ -148,6 +152,7 @@ halfvec_isspace(char ch)
return true;
return false;
}
+#endif
/*
* Check state array
diff --git a/src/sparsevec.c b/src/sparsevec.c
index ca1648f2..d7811c75 100644
--- a/src/sparsevec.c
+++ b/src/sparsevec.c
@@ -22,6 +22,10 @@
#include "varatt.h"
#endif
+#if PG_VERSION_NUM >= 170000
+#include "parser/scansup.h"
+#endif
+
typedef struct SparseInputElement
{
int32 index;
@@ -155,9 +159,9 @@ InitSparseVector(int dim, int nnz)
return result;
}
-/*
- * Check for whitespace, since array_isspace() is static
- */
+#if PG_VERSION_NUM >= 170000
+#define sparsevec_isspace(ch) scanner_isspace(ch)
+#else
static inline bool
sparsevec_isspace(char ch)
{
@@ -170,6 +174,7 @@ sparsevec_isspace(char ch)
return true;
return false;
}
+#endif
/*
* Compare indices
diff --git a/src/vector.c b/src/vector.c
index 47368380..96dcb765 100644
--- a/src/vector.c
+++ b/src/vector.c
@@ -26,6 +26,10 @@
#include "varatt.h"
#endif
+#if PG_VERSION_NUM >= 170000
+#include "parser/scansup.h"
+#endif
+
#define STATE_DIMS(x) (ARR_DIMS(x)[0] - 1)
#define CreateStateDatums(dim) palloc(sizeof(Datum) * (dim + 1))
@@ -129,9 +133,9 @@ InitVector(int dim)
return result;
}
-/*
- * Check for whitespace, since array_isspace() is static
- */
+#if PG_VERSION_NUM >= 170000
+#define vector_isspace(ch) scanner_isspace(ch)
+#else
static inline bool
vector_isspace(char ch)
{
@@ -144,6 +148,7 @@ vector_isspace(char ch)
return true;
return false;
}
+#endif
/*
* Check state array
[parent: c9875f5150eb]