Skip to content

Commit 5637435

Browse files
committed
bug #902 [Store][MariaDB] quote vector field name (lyrixx)
This PR was merged into the main branch. Discussion ---------- [Store][MariaDB] quote vector field name This allow to use reserverd keyword | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | Docs? | no | Issues | | License | MIT Commits ------- b10b390 [Store][Mariadb] quote vector field name
2 parents 6bb479a + b10b390 commit 5637435

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

src/store/src/Bridge/MariaDb/Store.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ public function setup(array $options = []): void
6868
CREATE TABLE IF NOT EXISTS %1$s (
6969
id BINARY(16) NOT NULL PRIMARY KEY,
7070
metadata JSON,
71-
%2$s VECTOR(%4$d) NOT NULL,
72-
VECTOR INDEX %3$s (%2$s)
71+
`%2$s` VECTOR(%4$d) NOT NULL,
72+
VECTOR INDEX %3$s (`%2$s`)
7373
)
7474
SQL,
7575
$this->tableName,
@@ -115,9 +115,9 @@ public function add(VectorDocument ...$documents): void
115115
$statement = $this->connection->prepare(
116116
\sprintf(
117117
<<<'SQL'
118-
INSERT INTO %1$s (id, metadata, %2$s)
118+
INSERT INTO %1$s (id, metadata, `%2$s`)
119119
VALUES (:id, :metadata, VEC_FromText(:vector))
120-
ON DUPLICATE KEY UPDATE metadata = :metadata, %2$s = VEC_FromText(:vector)
120+
ON DUPLICATE KEY UPDATE metadata = :metadata, `%2$s` = VEC_FromText(:vector)
121121
SQL,
122122
$this->tableName,
123123
$this->vectorFieldName,
@@ -148,7 +148,7 @@ public function query(Vector $vector, array $options = []): array
148148
$statement = $this->connection->prepare(
149149
\sprintf(
150150
<<<'SQL'
151-
SELECT id, VEC_ToText(%1$s) embedding, metadata, VEC_DISTANCE_EUCLIDEAN(%1$s, VEC_FromText(:embedding)) AS score
151+
SELECT id, VEC_ToText(`%1$s`) embedding, metadata, VEC_DISTANCE_EUCLIDEAN(`%1$s`, VEC_FromText(:embedding)) AS score
152152
FROM %2$s
153153
%3$s
154154
ORDER BY score ASC

src/store/tests/Bridge/MariaDb/StoreTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public function testQueryWithMaxScore()
2828

2929
// Expected SQL query with max score
3030
$expectedQuery = <<<'SQL'
31-
SELECT id, VEC_ToText(embedding) embedding, metadata, VEC_DISTANCE_EUCLIDEAN(embedding, VEC_FromText(:embedding)) AS score
31+
SELECT id, VEC_ToText(`embedding`) embedding, metadata, VEC_DISTANCE_EUCLIDEAN(`embedding`, VEC_FromText(:embedding)) AS score
3232
FROM embeddings_table
3333
WHERE VEC_DISTANCE_EUCLIDEAN(embedding, VEC_FromText(:embedding)) <= :maxScore
3434
ORDER BY score ASC
@@ -80,7 +80,7 @@ public function testQueryWithoutMaxScore()
8080

8181
// Expected SQL query without maxScore
8282
$expectedQuery = <<<'SQL'
83-
SELECT id, VEC_ToText(embedding) embedding, metadata, VEC_DISTANCE_EUCLIDEAN(embedding, VEC_FromText(:embedding)) AS score
83+
SELECT id, VEC_ToText(`embedding`) embedding, metadata, VEC_DISTANCE_EUCLIDEAN(`embedding`, VEC_FromText(:embedding)) AS score
8484
FROM embeddings_table
8585
8686
ORDER BY score ASC
@@ -127,7 +127,7 @@ public function testQueryWithCustomLimit()
127127

128128
// Expected SQL query with custom limit
129129
$expectedQuery = <<<'SQL'
130-
SELECT id, VEC_ToText(embedding) embedding, metadata, VEC_DISTANCE_EUCLIDEAN(embedding, VEC_FromText(:embedding)) AS score
130+
SELECT id, VEC_ToText(`embedding`) embedding, metadata, VEC_DISTANCE_EUCLIDEAN(`embedding`, VEC_FromText(:embedding)) AS score
131131
FROM embeddings_table
132132
133133
ORDER BY score ASC

0 commit comments

Comments
 (0)