SingleStore vector search needs the query vector as a runtime constant
If your SingleStore vector search errors or plans badly when the query vector comes from application code, make it a runtime constant first.
SingleStore vector search needs the query vector as a runtime constant
TL;DR
If your SingleStore vector search errors or plans badly when the query vector comes from application code, make it a runtime constant first. Do SET @queryvec = JSONARRAYPACK('[0.44, 0.554, 0.34, 0.62]'); then SELECT EUCLIDEANDISTANCE(vec, @queryvec) AS score FROM vectorsb ORDER BY score ASC LIMIT 10. Pack the constant once per session, not per row or per query execution.
Use this when you see this exact error.
When not to use this skill: a different error message. The steps below target this specific failure.
Compatibility
The steps above apply to the commands named in them. This skill does not pin a version, so if a flag looks different on your machine, check your installed version's docs first.
Details
Also set vectortypeproject_format = JSON when you want vector columns to print readably in results instead of binary.
Context: Official docs (SingleStore EUCLIDEANDISTANCE reference): documents a query-shape gotcha that trips agents building parameterized search. The query vector in a vector search (@queryvector) must be a runtime constant. The documented pattern is SET @queryvec = JSONARRAY_PACK('[...]') once, then SELECT ... WHERE ... ORDER BY score LIMIT k against that variable. Inline JSON constants in the SELECT work for one-off queries, but for repeated queries SingleStore recommends casting the JSON string to a VECTOR once and reusing it.
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.