Skip to content

feat: Added HNSW early termination policy#138

Merged
glookka merged 2 commits intomasterfrom
patience
Mar 7, 2026
Merged

feat: Added HNSW early termination policy#138
glookka merged 2 commits intomasterfrom
patience

Conversation

@glookka
Copy link
Copy Markdown
Contributor

@glookka glookka commented Mar 5, 2026

No description provided.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 5, 2026

Linux debug test results

  8 files    8 suites   12m 57s ⏱️
508 tests 485 ✅ 23 💤 0 ❌
522 runs  499 ✅ 23 💤 0 ❌

Results for commit dc418d9.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 5, 2026

Windows test results

  5 files    5 suites   18m 0s ⏱️
488 tests 471 ✅ 17 💤 0 ❌
496 runs  479 ✅ 17 💤 0 ❌

Results for commit dc418d9.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 5, 2026

Linux release test results

  8 files    8 suites   6m 30s ⏱️
508 tests 491 ✅ 17 💤 0 ❌
522 runs  505 ✅ 17 💤 0 ❌

Results for commit dc418d9.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 5, 2026

clt

❌ CLT tests in test/clt-tests/mcl/
✅ OK: 14
❌ Failed: 2
⏳ Duration: 519s
👉 Check Action Results for commit 2482a7c

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/mcl/auto-embeddings-from-vector-check.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd ${SEARCHD_ARGS:-} > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_title1 (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title1') "; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_title2 (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title2') "; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_title1 (id, title1, title2) VALUES(1, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_title2 (id, title1, title2) VALUES(1, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as count_table1 FROM test_from_title1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as count_table2 FROM test_from_title2"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print "title1_vector_md5: " $1}'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title2 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print "title2_vector_md5: " $1}'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_title1 (id, title1, title2) VALUES(2, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=2" | grep -v embedding_vector | md5sum | awk '{print "consistent_md5: " $1}'
––– output –––
OK
––– input –––
MD5_TITLE1=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); MD5_TITLE2=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title2 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); echo "title1_md5: $MD5_TITLE1"; echo "title2_md5: $MD5_TITLE2"; if [ "$MD5_TITLE1" != "$MD5_TITLE2" ]; then echo "SUCCESS: FROM clause produces different vectors"; else echo "FAIL: FROM clause produces same vectors"; fi
––– output –––
OK
––– input –––
MD5_SAME1=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); MD5_SAME2=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=2" | grep -v embedding_vector | md5sum | awk '{print $1}'); echo "same_input_md5_1: $MD5_SAME1"; echo "same_input_md5_2: $MD5_SAME2"; if [ "$MD5_SAME1" = "$MD5_SAME2" ]; then echo "SUCCESS: Same input produces same vector"; else echo "FAIL: Same input produces different vectors"; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_invalid (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'invalid-model-name' FROM = 'title1') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_invalid_field (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'nonexistent_field') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_from_specified (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_set_to_empty (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = '') " 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_from_set_to_empty': 'from' setting empty for KNN attribute 'embedding_vector'
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_multi_from (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title1, title2') "; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_multi_from (id, title1, title2) VALUES(1, 'deep learning neural networks', 'computer vision algorithms')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_multi_from WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print "multi_field_md5: " $1}'
––– output –––
OK
––– input –––
MD5_MULTI=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_multi_from WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); MD5_SINGLE=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); echo "multi_field_md5: $MD5_MULTI"; echo "single_field_md5: $MD5_SINGLE"; if [ "$MD5_MULTI" != "$MD5_SINGLE" ]; then echo "SUCCESS: Multi-field FROM produces different vector"; else echo "INFO: Multi-field vs single-field comparison"; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_from (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2') "
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_no_from (id, title1) VALUES(1, 'test title')"; echo $?
––– output –––
OK
test/clt-tests/mcl/auto-embeddings-error-handling.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd $SEARCHD_FLAGS > /dev/null; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_dims (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' KNN_DIMS='384'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='title'
)" 2>&1
# Check if table was actually created
mysql -h0 -P9306 -e "SHOW TABLES LIKE 'test_dims'" | grep -q "test_dims" && echo "Table created" || echo "Table not created"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_auto_dims (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='title'
)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_auto_dims (id, title) VALUES (1, 'Test document')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_model (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    FROM='title'
)"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_from (
    content_text TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_empty_from (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM=''
)" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_empty_from': 'from' setting empty for KNN attribute 'vec'
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_bad_model (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='non-existent-model/invalid-name'
    FROM='title'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_prefix (
    content_text TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='all-MiniLM-L6-v2'
    FROM='content_text'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_bad_from (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='non_existent_field'
)"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_circular (
    title TEXT,
    vec1 FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='vec1'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_empty (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
) engine='columnar'"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_empty (id, content) VALUES (1, '')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_empty (id, content) VALUES (2, NULL)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM test_empty"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_rowwise (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
) engine='rowwise'"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_rowwise (id, content) VALUES
    (1, 'machine learning'),
    (2, 'deep learning')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_rowwise; OPTIMIZE TABLE test_rowwise OPTION sync=1, cutoff=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_rowwise WHERE KNN(vec, 1, 'artificial intelligence')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_vec_columnar (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' engine='columnar'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_vec_columnar (id, content) VALUES
    (1, 'machine learning'),
    (2, 'deep learning')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_vec_columnar; OPTIMIZE TABLE test_vec_columnar OPTION sync=1, cutoff=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_vec_columnar WHERE KNN(vec, 1, 'artificial intelligence')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_full_columnar (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
) engine='columnar'"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_full_columnar (id, content) VALUES
    (1, 'machine learning'),
    (2, 'deep learning')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_full_columnar; OPTIMIZE TABLE test_full_columnar OPTION sync=1, cutoff=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_full_columnar WHERE KNN(vec, 1, 'artificial intelligence')"
––– output –––
OK
––– input –––
echo "Row-wise (default):"
mysql -h0 -P9306 -e "SHOW CREATE TABLE test_rowwise\G" | grep -E "vec.*float_vector"
––– output –––
OK
––– input –––
echo "Vec columnar only:"
mysql -h0 -P9306 -e "SHOW CREATE TABLE test_vec_columnar\G" | grep -E "vec.*float_vector"
––– output –––
OK
––– input –––
echo "Full columnar:"
mysql -h0 -P9306 -e "SHOW CREATE TABLE test_full_columnar\G" | grep -E "(vec.*float_vector|engine='columnar')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test_auto_dims WHERE KNN(wrong_field, 1, 'test')" 2>&1 | grep -o "wrong_field.*not found"
––– output –––
OK

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 5, 2026

clt

❌ CLT tests in test/clt-tests/mcl/
✅ OK: 14
❌ Failed: 2
⏳ Duration: 536s
👉 Check Action Results for commit 2482a7c

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/mcl/auto-embeddings-from-vector-check.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd ${SEARCHD_ARGS:-} > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_title1 (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title1') "; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_title2 (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title2') "; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_title1 (id, title1, title2) VALUES(1, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_title2 (id, title1, title2) VALUES(1, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as count_table1 FROM test_from_title1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as count_table2 FROM test_from_title2"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print "title1_vector_md5: " $1}'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title2 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print "title2_vector_md5: " $1}'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_title1 (id, title1, title2) VALUES(2, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=2" | grep -v embedding_vector | md5sum | awk '{print "consistent_md5: " $1}'
––– output –––
OK
––– input –––
MD5_TITLE1=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); MD5_TITLE2=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title2 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); echo "title1_md5: $MD5_TITLE1"; echo "title2_md5: $MD5_TITLE2"; if [ "$MD5_TITLE1" != "$MD5_TITLE2" ]; then echo "SUCCESS: FROM clause produces different vectors"; else echo "FAIL: FROM clause produces same vectors"; fi
––– output –––
OK
––– input –––
MD5_SAME1=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); MD5_SAME2=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=2" | grep -v embedding_vector | md5sum | awk '{print $1}'); echo "same_input_md5_1: $MD5_SAME1"; echo "same_input_md5_2: $MD5_SAME2"; if [ "$MD5_SAME1" = "$MD5_SAME2" ]; then echo "SUCCESS: Same input produces same vector"; else echo "FAIL: Same input produces different vectors"; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_invalid (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'invalid-model-name' FROM = 'title1') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_invalid_field (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'nonexistent_field') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_from_specified (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_set_to_empty (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = '') " 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_from_set_to_empty': 'from' setting empty for KNN attribute 'embedding_vector'
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_multi_from (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title1, title2') "; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_multi_from (id, title1, title2) VALUES(1, 'deep learning neural networks', 'computer vision algorithms')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_multi_from WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print "multi_field_md5: " $1}'
––– output –––
OK
––– input –––
MD5_MULTI=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_multi_from WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); MD5_SINGLE=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); echo "multi_field_md5: $MD5_MULTI"; echo "single_field_md5: $MD5_SINGLE"; if [ "$MD5_MULTI" != "$MD5_SINGLE" ]; then echo "SUCCESS: Multi-field FROM produces different vector"; else echo "INFO: Multi-field vs single-field comparison"; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_from (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2') "
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_no_from (id, title1) VALUES(1, 'test title')"; echo $?
––– output –––
OK
test/clt-tests/mcl/auto-embeddings-error-handling.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd $SEARCHD_FLAGS > /dev/null; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_dims (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' KNN_DIMS='384'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='title'
)" 2>&1
# Check if table was actually created
mysql -h0 -P9306 -e "SHOW TABLES LIKE 'test_dims'" | grep -q "test_dims" && echo "Table created" || echo "Table not created"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_auto_dims (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='title'
)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_auto_dims (id, title) VALUES (1, 'Test document')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_model (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    FROM='title'
)"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_from (
    content_text TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_empty_from (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM=''
)" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_empty_from': 'from' setting empty for KNN attribute 'vec'
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_bad_model (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='non-existent-model/invalid-name'
    FROM='title'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_prefix (
    content_text TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='all-MiniLM-L6-v2'
    FROM='content_text'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_bad_from (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='non_existent_field'
)"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_circular (
    title TEXT,
    vec1 FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='vec1'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_empty (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
) engine='columnar'"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_empty (id, content) VALUES (1, '')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_empty (id, content) VALUES (2, NULL)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM test_empty"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_rowwise (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
) engine='rowwise'"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_rowwise (id, content) VALUES
    (1, 'machine learning'),
    (2, 'deep learning')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_rowwise; OPTIMIZE TABLE test_rowwise OPTION sync=1, cutoff=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_rowwise WHERE KNN(vec, 1, 'artificial intelligence')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_vec_columnar (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' engine='columnar'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_vec_columnar (id, content) VALUES
    (1, 'machine learning'),
    (2, 'deep learning')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_vec_columnar; OPTIMIZE TABLE test_vec_columnar OPTION sync=1, cutoff=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_vec_columnar WHERE KNN(vec, 1, 'artificial intelligence')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_full_columnar (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
) engine='columnar'"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_full_columnar (id, content) VALUES
    (1, 'machine learning'),
    (2, 'deep learning')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_full_columnar; OPTIMIZE TABLE test_full_columnar OPTION sync=1, cutoff=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_full_columnar WHERE KNN(vec, 1, 'artificial intelligence')"
––– output –––
OK
––– input –––
echo "Row-wise (default):"
mysql -h0 -P9306 -e "SHOW CREATE TABLE test_rowwise\G" | grep -E "vec.*float_vector"
––– output –––
OK
––– input –––
echo "Vec columnar only:"
mysql -h0 -P9306 -e "SHOW CREATE TABLE test_vec_columnar\G" | grep -E "vec.*float_vector"
––– output –––
OK
––– input –––
echo "Full columnar:"
mysql -h0 -P9306 -e "SHOW CREATE TABLE test_full_columnar\G" | grep -E "(vec.*float_vector|engine='columnar')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test_auto_dims WHERE KNN(wrong_field, 1, 'test')" 2>&1 | grep -o "wrong_field.*not found"
––– output –––
OK

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 5, 2026

clt

❌ CLT tests in test/clt-tests/mcl/
✅ OK: 14
❌ Failed: 2
⏳ Duration: 509s
👉 Check Action Results for commit 2482a7c

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/mcl/auto-embeddings-from-vector-check.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd ${SEARCHD_ARGS:-} > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_title1 (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title1') "; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_title2 (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title2') "; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_title1 (id, title1, title2) VALUES(1, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_title2 (id, title1, title2) VALUES(1, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as count_table1 FROM test_from_title1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as count_table2 FROM test_from_title2"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print "title1_vector_md5: " $1}'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title2 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print "title2_vector_md5: " $1}'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_title1 (id, title1, title2) VALUES(2, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=2" | grep -v embedding_vector | md5sum | awk '{print "consistent_md5: " $1}'
––– output –––
OK
––– input –––
MD5_TITLE1=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); MD5_TITLE2=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title2 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); echo "title1_md5: $MD5_TITLE1"; echo "title2_md5: $MD5_TITLE2"; if [ "$MD5_TITLE1" != "$MD5_TITLE2" ]; then echo "SUCCESS: FROM clause produces different vectors"; else echo "FAIL: FROM clause produces same vectors"; fi
––– output –––
OK
––– input –––
MD5_SAME1=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); MD5_SAME2=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=2" | grep -v embedding_vector | md5sum | awk '{print $1}'); echo "same_input_md5_1: $MD5_SAME1"; echo "same_input_md5_2: $MD5_SAME2"; if [ "$MD5_SAME1" = "$MD5_SAME2" ]; then echo "SUCCESS: Same input produces same vector"; else echo "FAIL: Same input produces different vectors"; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_invalid (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'invalid-model-name' FROM = 'title1') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_invalid_field (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'nonexistent_field') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_from_specified (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_set_to_empty (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = '') " 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_from_set_to_empty': 'from' setting empty for KNN attribute 'embedding_vector'
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_multi_from (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title1, title2') "; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_multi_from (id, title1, title2) VALUES(1, 'deep learning neural networks', 'computer vision algorithms')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_multi_from WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print "multi_field_md5: " $1}'
––– output –––
OK
––– input –––
MD5_MULTI=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_multi_from WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); MD5_SINGLE=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); echo "multi_field_md5: $MD5_MULTI"; echo "single_field_md5: $MD5_SINGLE"; if [ "$MD5_MULTI" != "$MD5_SINGLE" ]; then echo "SUCCESS: Multi-field FROM produces different vector"; else echo "INFO: Multi-field vs single-field comparison"; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_from (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2') "
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_no_from (id, title1) VALUES(1, 'test title')"; echo $?
––– output –––
OK
test/clt-tests/mcl/auto-embeddings-error-handling.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd $SEARCHD_FLAGS > /dev/null; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_dims (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' KNN_DIMS='384'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='title'
)" 2>&1
# Check if table was actually created
mysql -h0 -P9306 -e "SHOW TABLES LIKE 'test_dims'" | grep -q "test_dims" && echo "Table created" || echo "Table not created"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_auto_dims (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='title'
)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_auto_dims (id, title) VALUES (1, 'Test document')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_model (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    FROM='title'
)"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_from (
    content_text TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_empty_from (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM=''
)" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_empty_from': 'from' setting empty for KNN attribute 'vec'
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_bad_model (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='non-existent-model/invalid-name'
    FROM='title'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_prefix (
    content_text TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='all-MiniLM-L6-v2'
    FROM='content_text'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_bad_from (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='non_existent_field'
)"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_circular (
    title TEXT,
    vec1 FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='vec1'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_empty (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
) engine='columnar'"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_empty (id, content) VALUES (1, '')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_empty (id, content) VALUES (2, NULL)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM test_empty"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_rowwise (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
) engine='rowwise'"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_rowwise (id, content) VALUES
    (1, 'machine learning'),
    (2, 'deep learning')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_rowwise; OPTIMIZE TABLE test_rowwise OPTION sync=1, cutoff=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_rowwise WHERE KNN(vec, 1, 'artificial intelligence')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_vec_columnar (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' engine='columnar'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_vec_columnar (id, content) VALUES
    (1, 'machine learning'),
    (2, 'deep learning')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_vec_columnar; OPTIMIZE TABLE test_vec_columnar OPTION sync=1, cutoff=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_vec_columnar WHERE KNN(vec, 1, 'artificial intelligence')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_full_columnar (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
) engine='columnar'"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_full_columnar (id, content) VALUES
    (1, 'machine learning'),
    (2, 'deep learning')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_full_columnar; OPTIMIZE TABLE test_full_columnar OPTION sync=1, cutoff=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_full_columnar WHERE KNN(vec, 1, 'artificial intelligence')"
––– output –––
OK
––– input –––
echo "Row-wise (default):"
mysql -h0 -P9306 -e "SHOW CREATE TABLE test_rowwise\G" | grep -E "vec.*float_vector"
––– output –––
OK
––– input –––
echo "Vec columnar only:"
mysql -h0 -P9306 -e "SHOW CREATE TABLE test_vec_columnar\G" | grep -E "vec.*float_vector"
––– output –––
OK
––– input –––
echo "Full columnar:"
mysql -h0 -P9306 -e "SHOW CREATE TABLE test_full_columnar\G" | grep -E "(vec.*float_vector|engine='columnar')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test_auto_dims WHERE KNN(wrong_field, 1, 'test')" 2>&1 | grep -o "wrong_field.*not found"
––– output –––
OK

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 6, 2026

clt

❌ CLT tests in test/clt-tests/mcl/
✅ OK: 14
❌ Failed: 2
⏳ Duration: 508s
👉 Check Action Results for commit 9a600cc

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/mcl/auto-embeddings-from-vector-check.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd ${SEARCHD_ARGS:-} > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_title1 (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title1') "; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_title2 (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title2') "; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_title1 (id, title1, title2) VALUES(1, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_title2 (id, title1, title2) VALUES(1, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as count_table1 FROM test_from_title1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as count_table2 FROM test_from_title2"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print "title1_vector_md5: " $1}'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title2 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print "title2_vector_md5: " $1}'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_title1 (id, title1, title2) VALUES(2, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=2" | grep -v embedding_vector | md5sum | awk '{print "consistent_md5: " $1}'
––– output –––
OK
––– input –––
MD5_TITLE1=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); MD5_TITLE2=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title2 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); echo "title1_md5: $MD5_TITLE1"; echo "title2_md5: $MD5_TITLE2"; if [ "$MD5_TITLE1" != "$MD5_TITLE2" ]; then echo "SUCCESS: FROM clause produces different vectors"; else echo "FAIL: FROM clause produces same vectors"; fi
––– output –––
OK
––– input –––
MD5_SAME1=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); MD5_SAME2=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=2" | grep -v embedding_vector | md5sum | awk '{print $1}'); echo "same_input_md5_1: $MD5_SAME1"; echo "same_input_md5_2: $MD5_SAME2"; if [ "$MD5_SAME1" = "$MD5_SAME2" ]; then echo "SUCCESS: Same input produces same vector"; else echo "FAIL: Same input produces different vectors"; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_invalid (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'invalid-model-name' FROM = 'title1') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_invalid_field (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'nonexistent_field') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_from_specified (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_set_to_empty (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = '') " 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_from_set_to_empty': 'from' setting empty for KNN attribute 'embedding_vector'
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_multi_from (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title1, title2') "; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_multi_from (id, title1, title2) VALUES(1, 'deep learning neural networks', 'computer vision algorithms')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_multi_from WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print "multi_field_md5: " $1}'
––– output –––
OK
––– input –––
MD5_MULTI=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_multi_from WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); MD5_SINGLE=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); echo "multi_field_md5: $MD5_MULTI"; echo "single_field_md5: $MD5_SINGLE"; if [ "$MD5_MULTI" != "$MD5_SINGLE" ]; then echo "SUCCESS: Multi-field FROM produces different vector"; else echo "INFO: Multi-field vs single-field comparison"; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_from (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2') "
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_no_from (id, title1) VALUES(1, 'test title')"; echo $?
––– output –––
OK
test/clt-tests/mcl/auto-embeddings-error-handling.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd $SEARCHD_FLAGS > /dev/null; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_dims (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' KNN_DIMS='384'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='title'
)" 2>&1
# Check if table was actually created
mysql -h0 -P9306 -e "SHOW TABLES LIKE 'test_dims'" | grep -q "test_dims" && echo "Table created" || echo "Table not created"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_auto_dims (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='title'
)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_auto_dims (id, title) VALUES (1, 'Test document')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_model (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    FROM='title'
)"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_from (
    content_text TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_empty_from (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM=''
)" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_empty_from': 'from' setting empty for KNN attribute 'vec'
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_bad_model (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='non-existent-model/invalid-name'
    FROM='title'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_prefix (
    content_text TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='all-MiniLM-L6-v2'
    FROM='content_text'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_bad_from (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='non_existent_field'
)"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_circular (
    title TEXT,
    vec1 FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='vec1'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_empty (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
) engine='columnar'"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_empty (id, content) VALUES (1, '')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_empty (id, content) VALUES (2, NULL)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM test_empty"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_rowwise (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
) engine='rowwise'"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_rowwise (id, content) VALUES
    (1, 'machine learning'),
    (2, 'deep learning')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_rowwise; OPTIMIZE TABLE test_rowwise OPTION sync=1, cutoff=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_rowwise WHERE KNN(vec, 1, 'artificial intelligence')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_vec_columnar (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' engine='columnar'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_vec_columnar (id, content) VALUES
    (1, 'machine learning'),
    (2, 'deep learning')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_vec_columnar; OPTIMIZE TABLE test_vec_columnar OPTION sync=1, cutoff=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_vec_columnar WHERE KNN(vec, 1, 'artificial intelligence')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_full_columnar (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
) engine='columnar'"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_full_columnar (id, content) VALUES
    (1, 'machine learning'),
    (2, 'deep learning')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_full_columnar; OPTIMIZE TABLE test_full_columnar OPTION sync=1, cutoff=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_full_columnar WHERE KNN(vec, 1, 'artificial intelligence')"
––– output –––
OK
––– input –––
echo "Row-wise (default):"
mysql -h0 -P9306 -e "SHOW CREATE TABLE test_rowwise\G" | grep -E "vec.*float_vector"
––– output –––
OK
––– input –––
echo "Vec columnar only:"
mysql -h0 -P9306 -e "SHOW CREATE TABLE test_vec_columnar\G" | grep -E "vec.*float_vector"
––– output –––
OK
––– input –––
echo "Full columnar:"
mysql -h0 -P9306 -e "SHOW CREATE TABLE test_full_columnar\G" | grep -E "(vec.*float_vector|engine='columnar')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test_auto_dims WHERE KNN(wrong_field, 1, 'test')" 2>&1 | grep -o "wrong_field.*not found"
––– output –––
OK

1 similar comment
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 6, 2026

clt

❌ CLT tests in test/clt-tests/mcl/
✅ OK: 14
❌ Failed: 2
⏳ Duration: 508s
👉 Check Action Results for commit 9a600cc

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/mcl/auto-embeddings-from-vector-check.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd ${SEARCHD_ARGS:-} > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_title1 (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title1') "; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_title2 (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title2') "; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_title1 (id, title1, title2) VALUES(1, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_title2 (id, title1, title2) VALUES(1, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as count_table1 FROM test_from_title1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as count_table2 FROM test_from_title2"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print "title1_vector_md5: " $1}'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title2 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print "title2_vector_md5: " $1}'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_title1 (id, title1, title2) VALUES(2, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=2" | grep -v embedding_vector | md5sum | awk '{print "consistent_md5: " $1}'
––– output –––
OK
––– input –––
MD5_TITLE1=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); MD5_TITLE2=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title2 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); echo "title1_md5: $MD5_TITLE1"; echo "title2_md5: $MD5_TITLE2"; if [ "$MD5_TITLE1" != "$MD5_TITLE2" ]; then echo "SUCCESS: FROM clause produces different vectors"; else echo "FAIL: FROM clause produces same vectors"; fi
––– output –––
OK
––– input –––
MD5_SAME1=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); MD5_SAME2=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=2" | grep -v embedding_vector | md5sum | awk '{print $1}'); echo "same_input_md5_1: $MD5_SAME1"; echo "same_input_md5_2: $MD5_SAME2"; if [ "$MD5_SAME1" = "$MD5_SAME2" ]; then echo "SUCCESS: Same input produces same vector"; else echo "FAIL: Same input produces different vectors"; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_invalid (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'invalid-model-name' FROM = 'title1') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_invalid_field (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'nonexistent_field') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_from_specified (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_set_to_empty (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = '') " 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_from_set_to_empty': 'from' setting empty for KNN attribute 'embedding_vector'
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_multi_from (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title1, title2') "; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_multi_from (id, title1, title2) VALUES(1, 'deep learning neural networks', 'computer vision algorithms')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_multi_from WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print "multi_field_md5: " $1}'
––– output –––
OK
––– input –––
MD5_MULTI=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_multi_from WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); MD5_SINGLE=$(mysql -h0 -P9306 -e "SELECT embedding_vector FROM test_from_title1 WHERE id=1" | grep -v embedding_vector | md5sum | awk '{print $1}'); echo "multi_field_md5: $MD5_MULTI"; echo "single_field_md5: $MD5_SINGLE"; if [ "$MD5_MULTI" != "$MD5_SINGLE" ]; then echo "SUCCESS: Multi-field FROM produces different vector"; else echo "INFO: Multi-field vs single-field comparison"; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_from (title1 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2') "
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_no_from (id, title1) VALUES(1, 'test title')"; echo $?
––– output –––
OK
test/clt-tests/mcl/auto-embeddings-error-handling.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd $SEARCHD_FLAGS > /dev/null; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_dims (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' KNN_DIMS='384'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='title'
)" 2>&1
# Check if table was actually created
mysql -h0 -P9306 -e "SHOW TABLES LIKE 'test_dims'" | grep -q "test_dims" && echo "Table created" || echo "Table not created"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_auto_dims (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='title'
)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_auto_dims (id, title) VALUES (1, 'Test document')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_model (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    FROM='title'
)"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_from (
    content_text TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_empty_from (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM=''
)" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_empty_from': 'from' setting empty for KNN attribute 'vec'
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_bad_model (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='non-existent-model/invalid-name'
    FROM='title'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_prefix (
    content_text TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='all-MiniLM-L6-v2'
    FROM='content_text'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_bad_from (
    title TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='non_existent_field'
)"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_circular (
    title TEXT,
    vec1 FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='vec1'
)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_empty (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
) engine='columnar'"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_empty (id, content) VALUES (1, '')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_empty (id, content) VALUES (2, NULL)" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM test_empty"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_rowwise (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
) engine='rowwise'"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_rowwise (id, content) VALUES
    (1, 'machine learning'),
    (2, 'deep learning')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_rowwise; OPTIMIZE TABLE test_rowwise OPTION sync=1, cutoff=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_rowwise WHERE KNN(vec, 1, 'artificial intelligence')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_vec_columnar (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' engine='columnar'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_vec_columnar (id, content) VALUES
    (1, 'machine learning'),
    (2, 'deep learning')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_vec_columnar; OPTIMIZE TABLE test_vec_columnar OPTION sync=1, cutoff=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_vec_columnar WHERE KNN(vec, 1, 'artificial intelligence')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_full_columnar (
    content TEXT,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='content'
) engine='columnar'"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_full_columnar (id, content) VALUES
    (1, 'machine learning'),
    (2, 'deep learning')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_full_columnar; OPTIMIZE TABLE test_full_columnar OPTION sync=1, cutoff=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_full_columnar WHERE KNN(vec, 1, 'artificial intelligence')"
––– output –––
OK
––– input –––
echo "Row-wise (default):"
mysql -h0 -P9306 -e "SHOW CREATE TABLE test_rowwise\G" | grep -E "vec.*float_vector"
––– output –––
OK
––– input –––
echo "Vec columnar only:"
mysql -h0 -P9306 -e "SHOW CREATE TABLE test_vec_columnar\G" | grep -E "vec.*float_vector"
––– output –––
OK
––– input –––
echo "Full columnar:"
mysql -h0 -P9306 -e "SHOW CREATE TABLE test_full_columnar\G" | grep -E "(vec.*float_vector|engine='columnar')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test_auto_dims WHERE KNN(wrong_field, 1, 'test')" 2>&1 | grep -o "wrong_field.*not found"
––– output –––
OK

@glookka glookka merged commit a3c6569 into master Mar 7, 2026
124 of 128 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant