Skip to content

skip AE tests if no api keys secrets are available#3835

Open
sanikolaev wants to merge 1 commit intomasterfrom
skip-ae-tests-if-no-api-keys
Open

skip AE tests if no api keys secrets are available#3835
sanikolaev wants to merge 1 commit intomasterfrom
skip-ae-tests-if-no-api-keys

Conversation

@sanikolaev
Copy link
Copy Markdown
Collaborator

@sanikolaev sanikolaev commented Oct 17, 2025

Comment from #3828

We can also skip the tests if the variables are not set (implemented in this PR #3835), but I'm not sure it's a good solution. I'll check with my colleagues.

…ests/mcl to ./clt_tests/ae to make it less confusing

Adapted from ba683be for the current dynamic CLT matrix workflow.
@sanikolaev sanikolaev force-pushed the skip-ae-tests-if-no-api-keys branch from ba683be to 94a2996 Compare April 11, 2026 16:09
@github-actions
Copy link
Copy Markdown
Contributor

Linux release MCL test results

1 180 tests   1 124 ✅  17m 3s ⏱️
    1 suites     33 💤
    1 files       23 ❌

For more details on these failures, see this check.

Results for commit 94a2996.

@github-actions
Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/vector-knn/test-knn-id test/clt-tests/vector-knn/test-knn-search-by-doc-id test/clt-tests/vector-knn/test-knn-validation test/clt-tests/vector-knn/tets-insert-knn-errors
✅ OK: 0
❌ Failed: 4
⏳ Duration: 31s
👉 Check Action Results for commit 16643bf

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/vector-knn/test-knn-id.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 ( title text, image_vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2' );"
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 'test': knn library not loaded
––– input –––
mysql -h0 -P9306 -e "insert into test values ( 1, 'yellow bag', (0.653448,0.192478,0.017971,0.339821) ), ( 2, 'white bag', (-0.148894,0.748278,0.091892,-0.095406) );"
––– output –––
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
––– input –––
mysql -h0 -P9306 -e "select id, knn_dist() from test where knn ( image_vector, 5, (0.286569,-0.031816,0.066684,0.032926), {ef=2000} );"
––– output –––
- +------+------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'test' in search request
- | id   | knn_dist() |
- +------+------------+
- |    1 | 0.28146550 |
- |    2 | 0.81527930 |
- +------+------------+
––– input –––
mysql -h0 -P9306 -e "select id, knn_dist() from test where knn ( image_vector, 5, 1 );"
––– output –––
- +------+------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'test' in search request
- | id   | knn_dist() |
- +------+------------+
- |    2 | 1.14755321 |
- +------+------------+
––– input –––
mysql -h0 -P9306 -e "select * from test where knn ( image_vector, 5, 1 );"
––– output –––
- +------+-----------+---------------------------------------+------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'test' in search request
- | id   | title     | image_vector                          | @knn_dist  |
- +------+-----------+---------------------------------------+------------+
- |    2 | white bag | -0.148894,0.748278,0.091892,-0.095406 | 1.14755321 |
- +------+-----------+---------------------------------------+------------+
––– input –––
mysql -h0 -P9306 -e "select count(*) from test where knn ( image_vector, 5, 1 );"
––– output –––
- +----------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'test' in search request
- | count(*) |
- +----------+
- |        2 |
- +----------+
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE knn_test (id BIGINT, model TEXT, color TEXT, sold BOOL, date_added BIGINT, storage_capacity UINT, release_year UINT, price FLOAT, discounted_price FLOAT, product_codes JSON, values JSON, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 'knn_test': knn library not loaded
––– input –––
mysql -h0 -P9306 -e "INSERT INTO knn_test (id, model, color, sold, date_added, storage_capacity, release_year, price, discounted_price, product_codes, values, additional_info, vector) VALUES (1, 'Model_1', 'Color_1', 1, 1620590570251, 512, 2022, 654.19, 855.34, '[81,56,60]', '[96,389,27]', '{\"features\": [\"Feature_1\", \"Feature_2\", \"Feature_3\"]}', (0.1, 0.2, 0.3, 0.4)), (2, 'Model_2', 'Color_2', 1, 1689374130160, 128, 2020, 663.70, 767.99, '[12,39,30]', '[226,305,123]', '{\"features\": [\"Feature_1\", \"Feature_2\", \"Feature_3\"]}', (0.286569, -0.031816, 0.066684, 0.032926)), (3, 'Model_3', 'Color_3', 0, 1640782021529, 512, 2020, 676.46, 847.08, '[62,13,4]', '[707,601,608]', '{\"features\": [\"Feature_1\", \"Feature_2\", \"Feature_3\"]}', (-0.5, 0.7, -0.1, 0.2)), (4, 'Model_4', 'Color_4', 0, 1615319697581, 128, 2020, 424.23, 883.90, '[98,96,89]', '[166,252,510]', '{\"features\": [\"Feature_1\", \"Feature_2\", \"Feature_3\"]}', (0.7, -0.8, 0.1, -0.2)), (5, 'Model_5', 'Color_5', 1, 1671157942660, 128, 2021, 1173.29, 977.33, '[27,12,37]', '[988,87,21]', '{\"features\": [\"Feature_1\", \"Feature_2\", \"Feature_3\"]}', (0.3, 0.4, 0.5, 0.6)), (6, 'Model_6', 'Color_6', 0, 1609876342571, 256, 2021, 755.99, 665.49, '[5,15,25]', '[15,100,500]', '{\"features\": [\"Feature_1\", \"Feature_2\", \"Feature_3\"]}', (-0.2, 0.4, -0.6, 0.8)), (7, 'Model_7', 'Color_7', 1, 1648765432160, 64, 2019, 299.99, 199.99, '[77,88,99]', '[99,888,555]', '{\"features\": [\"Feature_1\", \"Feature_2\", \"Feature_3\"]}', (0.5, -0.3, 0.9, -0.1)), (8, 'Model_8', 'Color_8', 0, 1654876543130, 256, 2019, 800.99, 699.99, '[22,33,44]', '[66,333,999]', '{\"features\": [\"Feature_1\", \"Feature_2\", \"Feature_3\"]}', (0.8, 0.6, 0.2, -0.4)), (9, 'Model_9', 'Color_9', 1, 1631567882541, 128, 2022, 499.99, 399.99, '[11,22,33]', '[111,222,333]', '{\"features\": [\"Feature_1\", \"Feature_2\", \"Feature_3\"]}', (-0.1, 0.3, -0.5, 0.7)), (10, 'Model_10', 'Color_10', 0, 1678956543120, 512, 2022, 1299.99, 1099.99, '[9,8,7]', '[555,444,333]', '{\"features\": [\"Feature_1\", \"Feature_2\", \"Feature_3\"]}', (0.9, 0.1, 0.8, -0.2));"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id, knn_dist() FROM knn_test WHERE knn(vector, 5, 1);"
––– output –––
- +------+------------+
- | id   | knn_dist() |
- +------+------------+
- |    5 | 0.16000001 |
- |    2 | 0.27772635 |
- |    9 | 0.78000003 |
- |    3 | 0.81000006 |
- |    7 |   1.020000 |
- |    6 |   1.100000 |
- |   10 |   1.260000 |
- |    8 |   1.300000 |
- |    4 | 1.75999987 |
- +------+------------+
––– input –––
mysql -h0 -P9306 -e "SELECT id, knn_dist() FROM knn_test WHERE knn(vector, 5, 1);"
––– output –––
- +------+------------+
- | id   | knn_dist() |
- +------+------------+
- |    5 | 0.16000001 |
- |    2 | 0.27772635 |
- |    9 | 0.78000003 |
- |    3 | 0.81000006 |
- |    7 |   1.020000 |
- |    6 |   1.100000 |
- |   10 |   1.260000 |
- |    8 |   1.300000 |
- |    4 | 1.75999987 |
- +------+------------+
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM knn_test WHERE knn(vector, 5, 1)\G"
––– output –––
- *************************** 1. row ***************************
-               id: 5
-            model: Model_5
-            color: Color_5
-             sold: 1
-       date_added: 1671157942660
- storage_capacity: 128
-     release_year: 2021
-            price: 1173.290039
- discounted_price: 977.330017
-    product_codes: [27,12,37]
-           values: [988,87,21]
-  additional_info: {"features":["Feature_1","Feature_2","Feature_3"]}
-           vector: 0.300000,0.400000,0.500000,0.600000
-        @knn_dist: 0.16000001
- *************************** 2. row ***************************
-               id: 2
-            model: Model_2
-            color: Color_2
-             sold: 1
-       date_added: 1689374130160
- storage_capacity: 128
-     release_year: 2020
-            price: 663.700012
- discounted_price: 767.989990
-    product_codes: [12,39,30]
-           values: [226,305,123]
-  additional_info: {"features":["Feature_1","Feature_2","Feature_3"]}
-           vector: 0.286569,-0.031816,0.066684,0.032926
-        @knn_dist: 0.27772635
- *************************** 3. row ***************************
-               id: 9
-            model: Model_9
-            color: Color_9
-             sold: 1
-       date_added: 1631567882541
- storage_capacity: 128
-     release_year: 2022
-            price: 499.989990
- discounted_price: 399.989990
-    product_codes: [11,22,33]
-           values: [111,222,333]
-  additional_info: {"features":["Feature_1","Feature_2","Feature_3"]}
-           vector: -0.100000,0.300000,-0.500000,0.700000
-        @knn_dist: 0.78000003
- *************************** 4. row ***************************
-               id: 3
-            model: Model_3
-            color: Color_3
-             sold: 0
-       date_added: 1640782021529
- storage_capacity: 512
-     release_year: 2020
-            price: 676.460022
- discounted_price: 847.080017
-    product_codes: [62,13,4]
-           values: [707,601,608]
-  additional_info: {"features":["Feature_1","Feature_2","Feature_3"]}
-           vector: -0.500000,0.700000,-0.100000,0.200000
-        @knn_dist: 0.81000006
- *************************** 5. row ***************************
-               id: 7
-            model: Model_7
-            color: Color_7
-             sold: 1
-       date_added: 1648765432160
- storage_capacity: 64
-     release_year: 2019
-            price: 299.989990
- discounted_price: 199.990005
-    product_codes: [77,88,99]
-           values: [99,888,555]
-  additional_info: {"features":["Feature_1","Feature_2","Feature_3"]}
-           vector: 0.500000,-0.300000,0.900000,-0.100000
-        @knn_dist: 1.020000
- *************************** 6. row ***************************
-               id: 6
-            model: Model_6
-            color: Color_6
-             sold: 0
-       date_added: 1609876342571
- storage_capacity: 256
-     release_year: 2021
-            price: 755.989990
- discounted_price: 665.489990
-    product_codes: [5,15,25]
-           values: [15,100,500]
-  additional_info: {"features":["Feature_1","Feature_2","Feature_3"]}
-           vector: -0.200000,0.400000,-0.600000,0.800000
-        @knn_dist: 1.100000
- *************************** 7. row ***************************
-               id: 10
-            model: Model_10
-            color: Color_10
-             sold: 0
-       date_added: 1678956543120
- storage_capacity: 512
-     release_year: 2022
-            price: 1299.989990
- discounted_price: 1099.989990
-    product_codes: [9,8,7]
-           values: [555,444,333]
-  additional_info: {"features":["Feature_1","Feature_2","Feature_3"]}
-           vector: 0.900000,0.100000,0.800000,-0.200000
-        @knn_dist: 1.260000
- *************************** 8. row ***************************
-               id: 8
-            model: Model_8
-            color: Color_8
-             sold: 0
-       date_added: 1654876543130
- storage_capacity: 256
-     release_year: 2019
-            price: 800.989990
- discounted_price: 699.989990
-    product_codes: [22,33,44]
-           values: [66,333,999]
-  additional_info: {"features":["Feature_1","Feature_2","Feature_3"]}
-           vector: 0.800000,0.600000,0.200000,-0.400000
-        @knn_dist: 1.300000
- *************************** 9. row ***************************
-               id: 4
-            model: Model_4
-            color: Color_4
-             sold: 0
-       date_added: 1615319697581
- storage_capacity: 128
-     release_year: 2020
-            price: 424.230011
- discounted_price: 883.900024
-    product_codes: [98,96,89]
-           values: [166,252,510]
-  additional_info: {"features":["Feature_1","Feature_2","Feature_3"]}
-           vector: 0.700000,-0.800000,0.100000,-0.200000
-        @knn_dist: 1.75999987
––– input –––
mysql -h0 -P9306 -e "SELECT count(*) FROM knn_test WHERE knn(vector, 5, 1);"
––– output –––
- +----------+
- | count(*) |
- +----------+
- |       10 |
- +----------+
test/clt-tests/vector-knn/test-knn-validation.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Manticore started!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE knn_test (id BIGINT, title TEXT, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 'knn_test': knn library not loaded
––– input –––
mysql -h0 -P9306 -e "INSERT INTO knn_test VALUES (1, 'first', (0.1, 0.2, 0.3, 0.4)), (2, 'second', (0.5, 0.6, 0.7, 0.8)), (3, 'third', (0.9, 0.1, 0.2, 0.3));"
––– output –––
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM knn_test WHERE knn(vector, 2, (0.1, 0.2, 0.3, 0.4));"
––– output –––
- +------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'knn_test' in search request
- | id   |
- +------+
- |    1 |
- |    2 |
- |    3 |
- +------+
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM knn_test WHERE knn(vector, -1, (0.1, 0.2, 0.3, 0.4));" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM knn_test WHERE knn(vector, 2, (0.1, 0.2, 0.3, 0.4), {ef=-100});" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM knn_test WHERE knn(vector, 2, (0.1, 0.2, 0.3, 0.4), {oversampling=-2.0});" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM knn_test WHERE knn(vector, 0, (0.1, 0.2, 0.3, 0.4));" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM knn_test WHERE knn(vector, 2, (0.1, 0.2, 0.3, 0.4), {oversampling=0});" 2>&1
––– output –––
OK
––– input –––
curl -s -X POST http://localhost:9308/search -H 'Content-Type: application/json' -d '{"table":"knn_test","knn":{"field":"vector","query_vector":[0.1,0.2,0.3,0.4],"k":2}}' | python3 -m json.tool | grep '"total"'
––– output –––
-         "total": 3,
––– input –––
curl -s -X POST http://localhost:9308/search -H 'Content-Type: application/json' -d '{"table":"knn_test","knn":{"field":"vector","query_vector":[0.1,0.2,0.3,0.4],"k":-1}}'
––– output –––
OK
––– input –––
curl -s -X POST http://localhost:9308/search -H 'Content-Type: application/json' -d '{"table":"knn_test","knn":{"field":"vector","query_vector":[0.1,0.2,0.3,0.4],"k":2,"ef":-100}}'
––– output –––
OK
––– input –––
curl -s -X POST http://localhost:9308/search -H 'Content-Type: application/json' -d '{"table":"knn_test","knn":{"field":"vector","query_vector":[0.1,0.2,0.3,0.4],"k":2,"oversampling":-2.0}}'
––– output –––
OK
––– input –––
curl -s -X POST http://localhost:9308/search -H 'Content-Type: application/json' -d '{"table":"knn_test","knn":{"field":"vector","query_vector":[0.1,0.2,0.3,0.4],"k":0}}'
––– output –––
OK
––– input –––
curl -s -X POST http://localhost:9308/search -H 'Content-Type: application/json' -d '{"table":"knn_test","knn":{"field":"vector","query_vector":[0.1,0.2,0.3,0.4],"k":2,"ef":0}}'
––– output –––
- {"took":%{NUMBER},"timed_out":false,"hits":{"total":3,"total_relation":"eq","hits":[{"_id":1,"_score":1,"_knn_dist":0.000000,"_source":{"title":"first","vector":[0.100000,0.200000,0.300000,0.400000]}},{"_id":2,"_score":1,"_knn_dist":0.64000005,"_source":{"title":"second","vector":[0.500000,0.600000,0.700000,0.800000]}},{"_id":3,"_score":1,"_knn_dist":0.66999990,"_source":{"title":"third","vector":[0.900000,0.100000,0.200000,0.300000]}}]}}
+ {"error":"unknown local table(s) 'knn_test' in search request"}
––– input –––
curl -s -X POST http://localhost:9308/search -H 'Content-Type: application/json' -d '{"table":"knn_test","knn":{"field":"vector","query_vector":[0.1,0.2,0.3,0.4],"k":2,"oversampling":0}}'
––– output –––
OK
test/clt-tests/vector-knn/test-knn-search-by-doc-id.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 –––
curl -s localhost:9308/cli -d "create table test ( test_vector float_vector knn_type='hnsw' knn_dims='2' hnsw_similarity='l2' )" > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
curl -s localhost:9308/cli -d 'insert into test values ( 2, (0.2,0.3) ), ( 3, (0.2,0.7) ), ( 4, (0.3,0.5) ), ( 5, (0.5,0.5) ), ( 6, (0.7,0.2) ), ( 10, (0.9,0.9) )' > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
curl -s localhost:9308/search -d '{"index":"test","knn":{"field":"test_vector","doc_id":3,"k":5}}'; echo $?
––– output –––
- {"took":%{NUMBER},"timed_out":false,"hits":{"total":%{NUMBER},"total_relation":"eq","hits":[{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{2}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{2}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]+/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{1}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{2}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}}]}}0
+ {"error":"unknown local table(s) 'test' in search request"}0
test/clt-tests/vector-knn/tets-insert-knn-errors.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 knn_test (id BIGINT, model TEXT, vector float_vector)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO knn_test (id, model, vector) VALUES (1, 'Model_1', '[0.9012, 0.2126, 0.2879, 0.7552]')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT count(*) FROM knn_test WHERE knn(vector, 10, 1)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW CREATE TABLE knn_test"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE knn_test2 (id BIGINT, model TEXT, vector float_vector)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO knn_test2 (id, model, vector) VALUES (1, 'Model_1', (0.286569,-0.031816,0.066684,0.032926))"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT count(*) FROM knn_test2 WHERE knn(vector, 10, 1)"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW CREATE TABLE knn_test2"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE knn_test3 (id BIGINT, model TEXT, vector float_vector)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO knn_test3 (id, model, vector) VALUES (1, 'Model_1', '[0.9012, 0.2126, 0.2879, 0.7552]')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT count(*) FROM knn_test3 WHERE knn(vector, 10, 1)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW CREATE TABLE knn_test3"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE knn_test4 (id BIGINT, model TEXT, vector int)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO knn_test4 (id, model, vector) VALUES (1, 'Model_1', '[0.9012, 0.2126, 0.2879, 0.7552]')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT count(*) FROM knn_test4 WHERE knn(vector, 10, 1)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW CREATE TABLE knn_test4"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE knn_test5 (id BIGINT, model TEXT, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2')"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: error adding table 'knn_test5': knn library not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO knn_test5 (id, model, vector) VALUES (1, 'Model_1', (0.9012, 0.2126, 0.2879, 0.7552))"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT count(*) FROM knn_test5 WHERE knn(vector, 10, 1)"
––– output –––
- +----------+
- | count(*) |
- +----------+
- |        1 |
- +----------+
––– input –––
mysql -h0 -P9306 -e "SHOW CREATE TABLE knn_test5"
––– output –––
- +-----------+-------------------------------------------------------------------------------------------------------------------------+
+ +-----------+---------------------------------------------------------------------------------+
- | Table     | Create Table                                                                                                            |
+ | Table     | Create Table                                                                    |
- +-----------+-------------------------------------------------------------------------------------------------------------------------+
+ +-----------+---------------------------------------------------------------------------------+
| knn_test5 | CREATE TABLE knn_test5 (
id bigint,
model text,
- vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='L2'
+ vector json
- ) |
+ ) min_infix_len='2' |
- +-----------+-------------------------------------------------------------------------------------------------------------------------+
+ +-----------+---------------------------------------------------------------------------------+

@github-actions
Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/expected-errors/test-system-variables-error-handling test/clt-tests/fulltext-search/test-name-of-fields-in-show-meta test/clt-tests/ae/auto-embeddings-alter-table test/clt-tests/ae/auto-embeddings-api-key-validation test/clt-tests/ae/auto-embeddings-api-timeout test/clt-tests/ae/auto-embeddings-api-url test/clt-tests/ae/auto-embeddings-backup-restore test/clt-tests/ae/auto-embeddings-concurrent test/clt-tests/ae/auto-embeddings-dml-test test/clt-tests/ae/auto-embeddings-duplicate-id
✅ OK: 2
❌ Failed: 8
⏳ Duration: 63s
👉 Check Action Results for commit 16643bf

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/ae/auto-embeddings-backup-restore.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_backup (
    title TEXT,
    content TEXT,
    status INTEGER,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='title, content'
) engine='columnar'"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_backup': CREATE TABLE failed: model_name specified for 'vec', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_backup (id, title, content, status) VALUES
    (1, 'machine learning', 'neural networks', 1),
    (2, 'deep learning', 'transformers', 1),
    (3, 'computer vision', 'image processing', 2)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_backup; OPTIMIZE TABLE test_backup OPTION sync=1, cutoff=1"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_backup WHERE KNN(vec, 2, 'artificial intelligence')"
––– output –––
- +------+
+ ERROR 1064 (42000) at line 1: table test_backup: requested KNN search attribute 'vec' not found
- | id   |
- +------+
- |    1 |
- |    3 |
- |    2 |
- +------+
––– input –––
mysql -h0 -P9306 -E -e "SELECT id, title, content, KNN_DIST() as distance FROM test_backup WHERE KNN(vec, 3, 'artificial intelligence') ORDER BY distance"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: table test_backup: requested KNN search attribute 'vec' not found
-       id: 1
-    title: machine learning
-  content: neural networks
- distance: 0.85173#!/[0-9]{0,4}/!#
- *************************** 2. row ***************************
-       id: 3
-    title: computer vision
-  content: image processing
- distance: 1.13070#!/[0-9]{0,4}/!#
- *************************** 3. row ***************************
-       id: 2
-    title: deep learning
-  content: transformers
- distance: 1.31172#!/[0-9]{0,4}/!#
––– input –––
manticore-backup --version | grep -c "Manticore Backup"
––– output –––
OK
––– input –––
mkdir -p /tmp/backup && chmod 777 /tmp/backup; echo $?
––– output –––
OK
––– input –––
manticore-backup --backup-dir=/tmp/backup --tables=test_backup 2>&1 | grep -c "Backing up table"
––– output –––
OK
––– input –––
ls -d /tmp/backup/backup-* | wc -l
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FREEZE test_backup"
––– output –––
+-----------------------------------------------------+-----------------------------------------------------+
| file                                                | normalized                                          |
+-----------------------------------------------------+-----------------------------------------------------+
- | /var/lib/manticore/test_backup/test_backup.0.spc    | /var/lib/manticore/test_backup/test_backup.0.spc    |
+ | /var/lib/manticore/test_backup/test_backup.0.spa    | /var/lib/manticore/test_backup/test_backup.0.spa    |
| /var/lib/manticore/test_backup/test_backup.0.spd    | /var/lib/manticore/test_backup/test_backup.0.spd    |
| /var/lib/manticore/test_backup/test_backup.0.spds   | /var/lib/manticore/test_backup/test_backup.0.spds   |
| /var/lib/manticore/test_backup/test_backup.0.spe    | /var/lib/manticore/test_backup/test_backup.0.spe    |
| /var/lib/manticore/test_backup/test_backup.0.sph    | /var/lib/manticore/test_backup/test_backup.0.sph    |
| /var/lib/manticore/test_backup/test_backup.0.sphi   | /var/lib/manticore/test_backup/test_backup.0.sphi   |
| /var/lib/manticore/test_backup/test_backup.0.spi    | /var/lib/manticore/test_backup/test_backup.0.spi    |
| /var/lib/manticore/test_backup/test_backup.0.spidx  | /var/lib/manticore/test_backup/test_backup.0.spidx  |
- | /var/lib/manticore/test_backup/test_backup.0.spknn  | /var/lib/manticore/test_backup/test_backup.0.spknn  |
+ | /var/lib/manticore/test_backup/test_backup.0.spm    | /var/lib/manticore/test_backup/test_backup.0.spm    |
- | /var/lib/manticore/test_backup/test_backup.0.spm    | /var/lib/manticore/test_backup/test_backup.0.spm    |
+ | /var/lib/manticore/test_backup/test_backup.0.spp    | /var/lib/manticore/test_backup/test_backup.0.spp    |
- | /var/lib/manticore/test_backup/test_backup.0.spp    | /var/lib/manticore/test_backup/test_backup.0.spp    |
+ | /var/lib/manticore/test_backup/test_backup.0.spt    | /var/lib/manticore/test_backup/test_backup.0.spt    |
- | /var/lib/manticore/test_backup/test_backup.0.spt    | /var/lib/manticore/test_backup/test_backup.0.spt    |
+ | /var/lib/manticore/test_backup/test_backup.meta     | /var/lib/manticore/test_backup/test_backup.meta     |
- | /var/lib/manticore/test_backup/test_backup.meta     | /var/lib/manticore/test_backup/test_backup.meta     |
+ | /var/lib/manticore/test_backup/test_backup.settings | /var/lib/manticore/test_backup/test_backup.settings |
- | /var/lib/manticore/test_backup/test_backup.settings | /var/lib/manticore/test_backup/test_backup.settings |
+ +-----------------------------------------------------+-----------------------------------------------------+
- +-----------------------------------------------------+-----------------------------------------------------+
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM test_backup"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_backup (id, title, content, status) VALUES (4, 'frozen insert', 'test data', 3)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "UNFREEZE test_backup"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM test_backup"
––– output –––
OK
––– input –––
mysqldump -h0 -P9306 manticore test_backup > /tmp/logical_backup.sql 2>/dev/null; echo $?
––– output –––
OK
––– input –––
grep -c "INSERT INTO" /tmp/logical_backup.sql
––– output –––
OK
––– input –––
searchd --stopwait > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
rm -f /etc/manticoresearch/manticore.conf; rm -rf /var/lib/manticore/*; echo "Cleaned for restore"
––– output –––
OK
––– input –––
manticore-backup --backup-dir=/tmp/backup --restore 2>&1 | grep -c "backup-"
––– output –––
OK
––– input –––
BACKUP_NAME=$(manticore-backup --backup-dir=/tmp/backup --restore 2>&1 | grep backup- | awk '{print $1}' | head -1)
manticore-backup --backup-dir=/tmp/backup --restore=$BACKUP_NAME 2>&1 | grep -c "Starting to restore"
––– output –––
- 1
+ 0
––– input –––
searchd > /dev/null 2>&1; echo $?
––– output –––
- 0
+ 1
––– input –––
echo "Waiting for searchd to start"; sleep 3
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM test_backup"
––– output –––
- +----------+
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
- | count(*) |
- +----------+
- |        3 |
- +----------+
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_backup; OPTIMIZE TABLE test_backup OPTION sync=1, cutoff=1"; echo $?
––– output –––
- 0
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
+ 1
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_backup WHERE KNN(vec, 2, 'artificial intelligence')"
––– output –––
- +------+
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
- | id   |
- +------+
- |    1 |
- |    3 |
- |    2 |
- +------+
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_backup ADD COLUMN new_field INTEGER"; echo $?
––– output –––
- 0
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
+ 1
––– input –––
mysql -h0 -P9306 -e "DESC test_backup" | grep "new_field"
––– output –––
- | new_field | uint         | columnar fast_fetch     |
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_copy (
    title TEXT,
    content TEXT,
    status INTEGER,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='title, content'
) engine='columnar'"; echo $?
––– output –––
- 0
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_copy (id, title, content, status) VALUES
    (1, 'machine learning', 'neural networks', 1),
    (2, 'deep learning', 'transformers', 1),
    (3, 'computer vision', 'image processing', 2),
    (4, 'frozen insert', 'test data', 3)"; echo $?
––– output –––
- 0
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
+ 1
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM test_copy"
––– output –––
- +----------+
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
- | count(*) |
- +----------+
- |        4 |
- +----------+
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_copy WHERE KNN(vec, 2, 'artificial intelligence')"
––– output –––
- +------+
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
- | id   |
- +------+
- |    1 |
- |    3 |
- |    2 |
- |    4 |
- +------+
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_copy; OPTIMIZE TABLE test_copy OPTION sync=1, cutoff=1"; echo $?
––– output –––
- 0
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
+ 1
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_copy WHERE KNN(vec, 2, 'artificial intelligence')"
––– output –––
- +------+
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
- | id   |
- +------+
- |    1 |
- |    3 |
- |    2 |
- |    4 |
- +------+
test/clt-tests/ae/auto-embeddings-api-url.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 –––
php /manticore/test/clt-tests/ae/mock-embeddings-server.php --port 8080 --provider openai > /tmp/mock-server-8080.log 2>&1 &
MOCK_PID_8080=$!
echo "Mock server started on port 8080 (PID: $MOCK_PID_8080)"
sleep 3
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_url_not_specified (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='${OPENAI_API_KEY}')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_api_url_not_specified': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_api_url_not_specified" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_api_url_not_specified
- Create Table: CREATE TABLE test_api_url_not_specified (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_url_empty (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='${OPENAI_API_KEY}' API_URL='')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_api_url_empty': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_api_url_empty" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_api_url_empty
- Create Table: CREATE TABLE test_api_url_empty (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_url_invalid1 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='not-a-url')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_api_url_invalid1': prealloc: Failed to send request to remote model
+ ERROR 1064 (42000) at line 1: table 'test_api_url_invalid1': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_url_invalid2 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_api_url_invalid2': prealloc: Failed to send request to remote model
+ ERROR 1064 (42000) at line 1: table 'test_api_url_invalid2': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_url_invalid3 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='ftp://127.0.0.1')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_api_url_invalid3': prealloc: Failed to send request to remote model
+ ERROR 1064 (42000) at line 1: table 'test_api_url_invalid3': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_url_invalid4 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://127.0.0.1:8080/wrong-path')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_api_url_invalid4': prealloc: Unsupported remote model given (HTTP status code 404)
+ ERROR 1064 (42000) at line 1: table 'test_api_url_invalid4': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_url_invalid5 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://127.0.0.1:99999/v1/embeddings')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_api_url_invalid5': prealloc: Failed to send request to remote model
+ ERROR 1064 (42000) at line 1: table 'test_api_url_invalid5': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_url_unreachable1 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://192.0.2.0:8080/v1/embeddings')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_api_url_unreachable1': prealloc: Failed to send request to remote model
+ ERROR 1064 (42000) at line 1: table 'test_api_url_unreachable1': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_url_unreachable2 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:99999/v1/embeddings')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_api_url_unreachable2': prealloc: Failed to send request to remote model
+ ERROR 1064 (42000) at line 1: table 'test_api_url_unreachable2': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_url_unreachable3 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://nonexistent-domain-12345.example/v1/embeddings')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_api_url_unreachable3': prealloc: Failed to send request to remote model
+ ERROR 1064 (42000) at line 1: table 'test_api_url_unreachable3': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_url_default_endpoint (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='${OPENAI_API_KEY}' API_URL='https://api.openai.com/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_api_url_default_endpoint': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_api_url_default_endpoint" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_api_url_default_endpoint
- Create Table: CREATE TABLE test_api_url_default_endpoint (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_url='https://api.openai.com/v1/embeddings' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_api_url_default_endpoint (id, title) VALUES (1, 'test document')" 2>&1; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_url_custom_endpoint (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_api_url_custom_endpoint': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_api_url_custom_endpoint" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_api_url_custom_endpoint
- Create Table: CREATE TABLE test_api_url_custom_endpoint (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_url='http://localhost:8080/v1/embeddings' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_api_url_custom_endpoint (id, title) VALUES (1, 'test document')" 2>&1; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -E -e "SELECT id, embedding FROM test_api_url_custom_endpoint WHERE id=1" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: table test_api_url_custom_endpoint: parse error: unknown column: embedding
-        id: 1
- embedding: #!/[-0-9.,]+/!#
test/clt-tests/ae/auto-embeddings-api-key-validation.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 –––
php /manticore/test/clt-tests/ae/mock-embeddings-server.php --port 8080 --provider openai > /tmp/mock-server-8080.log 2>&1 &
MOCK_PID_8080=$!
echo "Mock server started on port 8080 (PID: $MOCK_PID_8080)"
sleep 1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_no_api_key (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_no_api_key': prealloc: Invalid API key for remote model
+ ERROR 1064 (42000) at line 1: table 'test_no_api_key': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_empty_api_key (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_empty_api_key': prealloc: Invalid API key for remote model
+ ERROR 1064 (42000) at line 1: table 'test_empty_api_key': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_invalid_api_key (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='wrong')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_invalid_api_key': prealloc: Invalid API key for remote model (HTTP status code 401)
+ ERROR 1064 (42000) at line 1: table 'test_invalid_api_key': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS test_invalid_format_api_key" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_invalid_format_api_key (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='sk-proj-invalid-key-12345')" 2>&1; echo $?
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_invalid_format_api_key': prealloc: Invalid API key for remote model (HTTP status code 401)
+ ERROR 1064 (42000) at line 1: table 'test_invalid_format_api_key': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
1
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_valid_api_key (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='${OPENAI_API_KEY}')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_valid_api_key': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_valid_api_key" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_valid_api_key
- Create Table: CREATE TABLE test_valid_api_key (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_valid_api_key (id, title) VALUES (1, 'test document')" 2>&1; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -E -e "SELECT id, embedding FROM test_valid_api_key WHERE id=1" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: table test_valid_api_key: parse error: unknown column: embedding
-        id: 1
- embedding: #!/[-0-9.,]+/!#
test/clt-tests/ae/auto-embeddings-alter-table.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 –––
php /manticore/test/clt-tests/ae/mock-embeddings-server.php --port 8080 --provider openai > /tmp/mock-server-8080.log 2>&1 &
MOCK_PID_8080=$!
echo "Mock server started on port 8080 (PID: $MOCK_PID_8080)"
sleep 1
––– output –––
OK
––– input –––
php /manticore/test/clt-tests/ae/mock-embeddings-server.php --port 8081 --provider openai > /tmp/mock-server-8081.log 2>&1 &
MOCK_PID_8081=$!
echo "Mock server started on port 8081 (PID: $MOCK_PID_8081)"
sleep 1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_alter_add_api_url (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='${OPENAI_API_KEY}')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_alter_add_api_url': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_alter_add_api_url MODIFY COLUMN embedding API_URL='http://localhost:8080/v1/embeddings'" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table test_alter_add_api_url: unknown local table in ALTER request
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_alter_add_api_url" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_alter_add_api_url
- Create Table: CREATE TABLE test_alter_add_api_url (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_url='http://localhost:8080/v1/embeddings' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_alter_change_api_url (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_alter_change_api_url': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_alter_change_api_url MODIFY COLUMN embedding API_URL='http://localhost:8081/v1/embeddings'" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table test_alter_change_api_url: unknown local table in ALTER request
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_alter_change_api_url" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_alter_change_api_url
- Create Table: CREATE TABLE test_alter_change_api_url (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_url='http://localhost:8081/v1/embeddings' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_alter_remove_api_url (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='${OPENAI_API_KEY}' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_alter_remove_api_url': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_alter_remove_api_url MODIFY COLUMN embedding API_URL=''" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table test_alter_remove_api_url: unknown local table in ALTER request
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_alter_remove_api_url" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_alter_remove_api_url
- Create Table: CREATE TABLE test_alter_remove_api_url (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_alter_invalid_url (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_alter_invalid_url': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_alter_invalid_url MODIFY COLUMN embedding API_URL='not-a-url'" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: table test_alter_invalid_url: Failed to send request to remote model
+ ERROR 1064 (42000) at line 1: table test_alter_invalid_url: unknown local table in ALTER request
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_alter_inaccessible_url (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_alter_inaccessible_url': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_alter_inaccessible_url MODIFY COLUMN embedding API_URL='http://192.0.2.0:8080/v1/embeddings'" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: table test_alter_inaccessible_url: Failed to send request to remote model
+ ERROR 1064 (42000) at line 1: table test_alter_inaccessible_url: unknown local table in ALTER request
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_alter_remove_url_invalid_key (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_alter_remove_url_invalid_key': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_alter_remove_url_invalid_key MODIFY COLUMN embedding API_URL=''" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: table test_alter_remove_url_invalid_key: cannot remove API_URL: API key validation failed for the default endpoint. The API key may be invalid, expired, or not authorized for the default provider endpoint. To remove API_URL, first update the API key to a valid key that works with the default endpoint, or keep using a custom API_URL
+ ERROR 1064 (42000) at line 1: table test_alter_remove_url_invalid_key: unknown local table in ALTER request
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_alter_add_api_timeout (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='${OPENAI_API_KEY}')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_alter_add_api_timeout': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_alter_add_api_timeout MODIFY COLUMN embedding API_TIMEOUT='30'" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table test_alter_add_api_timeout: unknown local table in ALTER request
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_alter_add_api_timeout" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_alter_add_api_timeout
- Create Table: CREATE TABLE test_alter_add_api_timeout (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_timeout='30'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_alter_change_api_timeout (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='${OPENAI_API_KEY}' API_TIMEOUT='30')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_alter_change_api_timeout': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_alter_change_api_timeout MODIFY COLUMN embedding API_TIMEOUT='60'" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table test_alter_change_api_timeout: unknown local table in ALTER request
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_alter_change_api_timeout" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_alter_change_api_timeout
- Create Table: CREATE TABLE test_alter_change_api_timeout (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_timeout='60'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_alter_remove_api_timeout (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='${OPENAI_API_KEY}' API_TIMEOUT='30')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_alter_remove_api_timeout': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_alter_remove_api_timeout MODIFY COLUMN embedding API_TIMEOUT='0'" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table test_alter_remove_api_timeout: unknown local table in ALTER request
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_alter_remove_api_timeout" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_alter_remove_api_timeout
- Create Table: CREATE TABLE test_alter_remove_api_timeout (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_alter_negative_timeout (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='${OPENAI_API_KEY}')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_alter_negative_timeout': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_alter_negative_timeout MODIFY COLUMN embedding API_TIMEOUT='-1'" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: table test_alter_negative_timeout: API_TIMEOUT must be a non-negative integer (0 means use default, positive value is timeout in seconds)
+ ERROR 1064 (42000) at line 1: table test_alter_negative_timeout: unknown local table in ALTER request
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_alter_nonint_timeout (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='${OPENAI_API_KEY}')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_alter_nonint_timeout': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_alter_nonint_timeout MODIFY COLUMN embedding API_TIMEOUT='abc'" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: table test_alter_nonint_timeout: API_TIMEOUT must be a non-negative integer (0 means use default, positive value is timeout in seconds)
+ ERROR 1064 (42000) at line 1: table test_alter_nonint_timeout: unknown local table in ALTER request
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_alter_add_api_key (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2' FROM='title')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_alter_add_api_key': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_alter_change_api_key (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='old-key' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_alter_change_api_key': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_alter_change_api_key MODIFY COLUMN embedding API_KEY='new-key'" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table test_alter_change_api_key: unknown local table in ALTER request
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_alter_change_api_key (id, title) VALUES (1, 'test document')" 2>&1; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_alter_remove_api_key (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='valid-key' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_alter_remove_api_key': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_alter_remove_api_key MODIFY COLUMN embedding API_KEY=''" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: table test_alter_remove_api_key: Invalid API key for remote model
+ ERROR 1064 (42000) at line 1: table test_alter_remove_api_key: unknown local table in ALTER request
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_alter_invalid_api_key (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_alter_invalid_api_key': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_alter_invalid_api_key MODIFY COLUMN embedding API_KEY='wrong'" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: table test_alter_invalid_api_key: Invalid API key for remote model (HTTP status code 401)
+ ERROR 1064 (42000) at line 1: table test_alter_invalid_api_key: unknown local table in ALTER request
test/clt-tests/ae/auto-embeddings-concurrent.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_concurrent (
    title TEXT,
    status INTEGER,
    vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2'
    MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2'
    FROM='title'
)"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_concurrent': CREATE TABLE failed: model_name specified for 'vec', but embeddings library is not loaded
+ 1
––– input –––
for i in {1..20}; do
    mysql -h0 -P9306 -e "INSERT INTO test_concurrent (id, title, status) VALUES ($i, 'Document $i', 0)" 2>/dev/null
done
echo "Initial insert completed"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_concurrent; OPTIMIZE TABLE test_concurrent OPTION sync=1, cutoff=1"; echo $?
––– output –––
OK
––– input –––
for i in {21..30}; do
    mysql -h0 -P9306 -e "INSERT INTO test_concurrent (id, title, status) VALUES ($i, 'New doc $i', 1)" 2>/dev/null &
done
for i in {1..5}; do
    mysql -h0 -P9306 -e "DELETE FROM test_concurrent WHERE id = $i" 2>/dev/null &
done
for i in {6..10}; do
    mysql -h0 -P9306 -e "REPLACE INTO test_concurrent (id, title, status) VALUES ($i, 'Replaced doc $i', 2)" 2>/dev/null &
done
wait
mysql -h0 -P9306 -e "SELECT COUNT(*) as total FROM test_concurrent"
––– output –––
OK
––– input –––
rm -f /tmp/race_test.err
for i in {1..10}; do
    (mysql -h0 -P9306 -e "INSERT INTO test_concurrent (id, title, status) VALUES (999, 'Race $i', $i)" 2>>/tmp/race_test.err) &
done
wait; echo $?
––– output –––
OK
––– input –––
wc -l /tmp/race_test.err | awk '{print $1 " error lines in file"}'
––– output –––
OK
––– input –––
grep -c "duplicate id" /tmp/race_test.err
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM test_concurrent WHERE id = 999"
––– output –––
OK
––– input –––
for i in {11..15}; do
    mysql -h0 -P9306 -e "REPLACE INTO test_concurrent (id, title, status) VALUES ($i, 'Updated doc $i', 3)" 2>/dev/null &
done
wait
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_concurrent; OPTIMIZE TABLE test_concurrent OPTION sync=1, cutoff=1"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -E -e "SELECT id, KNN_DIST() as dist FROM test_concurrent WHERE KNN(vec, 5, 'Updated doc') LIMIT 5"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: table test_concurrent: requested KNN search attribute 'vec' not found
-   id: 13
- dist: 0.31830#!/[0-9]{0,4}/!#
- *************************** 2. row ***************************
-   id: 11
- dist: 0.33190#!/[0-9]{0,4}/!#
- *************************** 3. row ***************************
-   id: 12
- dist: 0.33321#!/[0-9]{0,4}/!#
- *************************** 4. row ***************************
-   id: 14
- dist: 0.34285#!/[0-9]{0,4}/!#
- *************************** 5. row ***************************
-   id: 15
- dist: 0.35187#!/[0-9]{0,4}/!#
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_concurrent WHERE KNN(vec, 5, 'Updated doc') LIMIT 5"
––– output –––
- +------+
+ ERROR 1064 (42000) at line 1: table test_concurrent: requested KNN search attribute 'vec' not found
- | id   |
- +------+
- |   13 |
- |   11 |
- |   12 |
- |   14 |
- |   15 |
- +------+
––– input –––
for test_num in {1..3}; do
    rm -f /tmp/test${test_num}.err
    mysql -h0 -P9306 -e "CREATE TABLE race$test_num (title TEXT)" 2>/dev/null
    for i in {1..10}; do
        (stdbuf -oL mysql -h0 -P9306 -e "INSERT INTO race$test_num (id, title) VALUES (888, 'test')" 2>>/tmp/test${test_num}.err) &
    done
    wait
    echo "Test $test_num: $(wc -l /tmp/test${test_num}.err | awk '{print $1}') lines, $(grep -c 'duplicate' /tmp/test${test_num}.err) duplicate errors"
done
––– output –––
OK
test/clt-tests/ae/auto-embeddings-duplicate-id.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_row_wise (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 –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_row_wise': CREATE TABLE failed: model_name specified for 'embedding_vector', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_row_wise (id, title1, title2) VALUES(1, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_row_wise (id, title1, title2) VALUES(1, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_columnar (title1 TEXT, title2 TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'sentence-transformers/all-MiniLM-L6-v2' FROM = 'title1') engine = 'columnar'"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_columnar': CREATE TABLE failed: model_name specified for 'embedding_vector', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_columnar (id, title1, title2) VALUES(1, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_columnar (id, title1, title2) VALUES(1, 'machine learning artificial intelligence', 'banana fruit sweet yellow')"
––– output –––
OK
test/clt-tests/ae/auto-embeddings-dml-test.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_delete ( title TEXT, embedding_vector FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2' FROM='title' ) engine='rowwise'"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_delete': CREATE TABLE failed: model_name specified for 'embedding_vector', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_delete (id, title) VALUES (1, 'One')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DELETE FROM test_delete WHERE id = 1"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM test_delete"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_delete (id, title) VALUES (2,'Two'),(3,'Three'),(4,'Four'),(5,'Five')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DELETE FROM test_delete WHERE id IN (2,3,4)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_delete"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS test_replace"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_replace ( title TEXT, price INTEGER, vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2' FROM='title' ) engine='columnar'"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_replace': CREATE TABLE failed: model_name specified for 'vec', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_replace (id, title, price) VALUES (1, 'Original', 100)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO test_replace (id, title, price) VALUES (1, 'Updated', 200)"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT title, price FROM test_replace WHERE id = 1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS test_vector_regen"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_vector_regen ( content TEXT, vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='cosine' MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2' FROM='content')"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_vector_regen': CREATE TABLE failed: model_name specified for 'vec', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_vector_regen (id, content) VALUES (1,'AI and ML'),(2,'Deep Learning'),(3,'Cooking')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_vector_regen; OPTIMIZE TABLE test_vector_regen OPTION sync=1, cutoff=1"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_vector_regen WHERE KNN(vec, 2, 'artificial intelligence')"
––– output –––
- +------+
+ ERROR 1064 (42000) at line 1: table test_vector_regen: requested KNN search attribute 'vec' not found
- | id   |
- +------+
- |    1 |
- |    2 |
- |    3 |
- +------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO test_vector_regen (id, content) VALUES (1, 'Cooking recipes')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "FLUSH RAMCHUNK test_vector_regen; OPTIMIZE TABLE test_vector_regen OPTION sync=1, cutoff=1"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id FROM test_vector_regen WHERE KNN(vec, 2, 'artificial intelligence')"
––– output –––
- +------+
+ ERROR 1064 (42000) at line 1: table test_vector_regen: requested KNN search attribute 'vec' not found
- | id   |
- +------+
- |    2 |
- |    3 |
- |    1 |
- +------+
––– input –––
mysql -h0 -P9306 -e "TRUNCATE TABLE test_vector_regen"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM test_vector_regen"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS test_bulk"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_bulk ( 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 –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_bulk': CREATE TABLE failed: model_name specified for 'vec', but embeddings library is not loaded
+ 1
––– input –––
for i in {1..50}; do
    mysql -h0 -P9306 -e "INSERT INTO test_bulk (id, content) VALUES ($i, 'Document $i')" 2>/dev/null
done
echo "Inserted 50 records"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DELETE FROM test_bulk WHERE id <= 10"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DELETE FROM test_bulk WHERE id >= 40"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM test_bulk"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS test_multi_vec"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_multi_vec ( title TEXT, description TEXT, title_vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2' FROM='title', desc_vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='cosine' MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2' FROM='description' ) engine='columnar'"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_multi_vec': CREATE TABLE failed: model_name specified for 'title_vec', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_multi_vec (id, title, description) VALUES (1,'Title1','Desc1'),(2,'Title2','Desc2')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DELETE FROM test_multi_vec WHERE id=1"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO test_multi_vec (id, title, description) VALUES (2,'NewTitle','NewDesc')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id, title FROM test_multi_vec"
––– output –––
OK
test/clt-tests/ae/auto-embeddings-api-timeout.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 –––
php /manticore/test/clt-tests/ae/mock-embeddings-server.php --port 8080 --provider openai > /tmp/mock-server-8080.log 2>&1 &
MOCK_PID_8080=$!
echo "Mock server started on port 8080 (PID: $MOCK_PID_8080)"
sleep 1
––– output –––
OK
––– input –––
php /manticore/test/clt-tests/ae/mock-embeddings-server.php --port 8084 --provider openai --delay 6.0 > /tmp/mock-server-8084.log 2>&1 &
MOCK_PID_8084=$!
echo "Slow mock server started on port 8084 (PID: $MOCK_PID_8084)"
sleep 1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_timeout_not_specified (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='${OPENAI_API_KEY}')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_api_timeout_not_specified': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_api_timeout_not_specified" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_api_timeout_not_specified
- Create Table: CREATE TABLE test_api_timeout_not_specified (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_timeout_zero (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='${OPENAI_API_KEY}' API_TIMEOUT='0')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_api_timeout_zero': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_api_timeout_zero" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_api_timeout_zero
- Create Table: CREATE TABLE test_api_timeout_zero (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_timeout_negative (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings' API_TIMEOUT='-1')" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_timeout_nonint1 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings' API_TIMEOUT='abc')" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_timeout_nonint2 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings' API_TIMEOUT='12.5')" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_timeout_nonint3 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings' API_TIMEOUT='')" 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_timeout_small (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings' API_TIMEOUT='1')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_api_timeout_small': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_api_timeout_small" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_api_timeout_small
- Create Table: CREATE TABLE test_api_timeout_small (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_url='http://localhost:8080/v1/embeddings' api_timeout='1'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_timeout_normal (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings' API_TIMEOUT='30')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_api_timeout_normal': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_api_timeout_normal" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_api_timeout_normal
- Create Table: CREATE TABLE test_api_timeout_normal (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_url='http://localhost:8080/v1/embeddings' api_timeout='30'
- )
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_api_timeout_normal (id, title) VALUES (1, 'test document')" 2>&1; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_timeout_large (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings' API_TIMEOUT='3600')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_api_timeout_large': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_api_timeout_large" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_api_timeout_large
- Create Table: CREATE TABLE test_api_timeout_large (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_url='http://localhost:8080/v1/embeddings' api_timeout='3600'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_timeout_exceeded (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8084/v1/embeddings' API_TIMEOUT='5')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_api_timeout_exceeded': prealloc: Failed to send request to remote model
+ ERROR 1064 (42000) at line 1: table 'test_api_timeout_exceeded': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_api_timeout_success (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8084/v1/embeddings' API_TIMEOUT='10')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_api_timeout_success': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1

@github-actions
Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/ae/auto-embeddings-parameter-combinations test/clt-tests/ae/auto-embeddings-qwen test/clt-tests/ae/auto-embeddings-show-create-table test/clt-tests/ae/auto-embeddings-syntax-check test/clt-tests/ae/auto-embeddings-voyage-remote test/clt-tests/http-interface/cli-endpoint test/clt-tests/http-interface/cli-json-endpoint test/clt-tests/http-interface/error-handling test/clt-tests/http-interface/multi-query test/clt-tests/http-interface/show-version-http
✅ OK: 3
❌ Failed: 7
⏳ Duration: 54s
👉 Check Action Results for commit 16643bf

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/ae/auto-embeddings-syntax-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 –––
cosine_similarity() {
    local file1="$1" file2="$2"

    awk '
    NR==FNR { a[NR]=$1; suma2+=$1*$1; next }
    {
        dot += a[FNR]*$1
        sumb2 += $1*$1
    }
    END {
        print dot / (sqrt(suma2) * sqrt(sumb2))
    }' "$file1" "$file2"
}
––– output –––
OK
––– input –––
export -f cosine_similarity
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_invalid_model (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'voyage/invalid-model-name-12345' FROM = 'title') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_valid_model_no_api_key (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'voyage/voyage-3.5-lite' FROM = 'title') " 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_valid_model_no_api_key': prealloc: Invalid API key for remote model
+ ERROR 1064 (42000) at line 1: table 'test_valid_model_no_api_key': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_voyage_remote (title TEXT, content TEXT, description TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'voyage/voyage-3.5-lite' FROM = 'title, content' API_KEY='${VOYAGE_API_KEY}') "; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_voyage_remote': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_voyage_remote"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_voyage_remote
- Create Table: CREATE TABLE test_voyage_remote (
- id bigint,
- title text,
- content text,
- description text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='voyage/voyage-3.5-lite' from='title, content' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_voyage_remote (id, title, content, description) VALUES(1, 'machine learning algorithms', 'deep neural networks and artificial intelligence', 'advanced AI research')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as record_count FROM test_voyage_remote WHERE id=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_voyage_remote (id, title, content, description) VALUES(2, 'machine learning algorithms', 'deep neural networks and artificial intelligence', 'different description')"

mysql -h0 -P9306 -e "SELECT embedding FROM test_voyage_remote WHERE id=1" | \
    grep -v embedding | \
    sed 's/[0-9]\+\(\.[0-9]\+\)\?/\n&\n/g' | \
    grep -E '^[0-9]+(\.[0-9]+)?$' | \
    awk '{printf "%.5f\n", $1}' > /tmp/vector1.txt

mysql -h0 -P9306 -e "SELECT embedding FROM test_voyage_remote WHERE id=2" | \
    grep -v embedding | \
    sed 's/[0-9]\+\(\.[0-9]\+\)\?/\n&\n/g' | \
    grep -E '^[0-9]+(\.[0-9]+)?$' | \
    awk '{printf "%.5f\n", $1}' > /tmp/vector2.txt

SIMILARITY=$(cosine_similarity /tmp/vector1.txt /tmp/vector2.txt)

echo "Cosine similarity: $SIMILARITY"

RESULT=$(awk -v sim="$SIMILARITY" 'BEGIN {
    if (sim > 0.99)
        print "SUCCESS: Same FROM fields produce similar vectors (similarity: " sim ")"
    else
        print "FAIL: Different vectors (FROM does not include description field and should not change generated vector value) (similarity: " sim ")"
}')

echo "$RESULT"

rm -f /tmp/vector1.txt /tmp/vector2.txt
––– output –––
- Cosine similarity: #!/(1|0\.[0-9]+)/!#
+ ERROR 1064 (42000) at line 1: table test_voyage_remote: parse error: unknown column: embedding
- SUCCESS: Same FROM fields produce similar vectors (similarity: #!/(1|0\.[0-9]+)/!#)
+ ERROR 1064 (42000) at line 1: table test_voyage_remote: parse error: unknown column: embedding
+ Cosine similarity: -nan
+ FAIL: Different vectors (FROM does not include description field and should not change generated vector value) (similarity: -nan)
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_voyage_title_only (title TEXT, content TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'voyage/voyage-3.5-lite' FROM = 'title' API_KEY='${VOYAGE_API_KEY}') "; mysql -h0 -P9306 -e "INSERT INTO test_voyage_title_only (id, title, content) VALUES(1, 'machine learning algorithms', 'completely different content here')"; MD5_MULTI=$(mysql -h0 -P9306 -e "SELECT embedding FROM test_voyage_remote WHERE id=1" | grep -v embedding | md5sum | awk '{print $1}'); MD5_SINGLE=$(mysql -h0 -P9306 -e "SELECT embedding FROM test_voyage_title_only WHERE id=1" | grep -v embedding | md5sum | awk '{print $1}'); echo "multi_field_md5: $MD5_MULTI"; echo "single_field_md5: $MD5_SINGLE"; if [ "$MD5_MULTI" != "$MD5_SINGLE" ]; then echo "SUCCESS: Different FROM specifications produce different vectors"; else echo "INFO: FROM field comparison result"; fi
––– output –––
- multi_field_md5: #!/[0-9a-f]{32}/!#
+ ERROR 1064 (42000) at line 1: table 'test_voyage_title_only': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
- single_field_md5: #!/[0-9a-f]{32}/!#
+ ERROR 1064 (42000) at line 1: table test_voyage_remote: parse error: unknown column: embedding
- SUCCESS: Different FROM specifications produce different vectors
+ ERROR 1064 (42000) at line 1: table test_voyage_title_only: parse error: unknown column: embedding
+ multi_field_md5: d41d8cd98f00b204e9800998ecf8427e
+ single_field_md5: d41d8cd98f00b204e9800998ecf8427e
+ INFO: FROM field comparison result
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test__invalid_field (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'voyage/text-embedding-ada-002' FROM = 'nonexistent_field') " 2>&1
––– output –––
OK
––– input –––
if mysql -h0 -P9306 -e "SHOW TABLES LIKE 'test_voyage_no_from'" | grep -q test_voyage_no_from; then mysql -h0 -P9306 -e "INSERT INTO test__no_from (id, title, embedding) VALUES(1, 'test title', '(0.1, 0.2, 0.3, 0.4, 0.5)')"; echo "insert_result: $?"; else echo "insert_result: skipped (table not created)"; fi
––– output –––
OK
––– input –––
if mysql -h0 -P9306 -e "SHOW TABLES LIKE 'test__no_from'" | grep -q test_voyage_no_from; then mysql -h0 -P9306 -e "SHOW CREATE TABLE test_voyage_no_from"; else echo "table_structure: skipped (table not created)"; fi
––– output –––
OK
––– input –––
if [ -n "$VOYAGE_API_KEY" ] && [ "$VOYAGE_API_KEY" != "dummy_key_for_testing" ]; then echo "API key is available for testing"; else echo "API key not available - using dummy for error testing"; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id, knn_dist() FROM test_voyage_remote WHERE knn(embedding, 3, 'machine learning and artificial intelligence')\G"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: table test_voyage_remote: requested KNN search attribute 'embedding' not found
-         id: %{NUMBER}
- knn_dist(): #!/[0-9]+\.[0-9]+/!#
- *************************** 2. row ***************************
-         id: %{NUMBER}
- knn_dist(): #!/[0-9]+\.[0-9]+/!#
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as count FROM test_voyage_remote WHERE knn(embedding, 5, 'technology and AI') AND id > 0"
––– output –––
- +-------+
+ ERROR 1064 (42000) at line 1: table test_voyage_remote: requested KNN search attribute 'embedding' not found
- | count |
- +-------+
- |     2 |
- +-------+
––– input –––
API_KEY_VAL="${VOYAGE_API_KEY}"; cat > /etc/manticoresearch/manticore.conf << CONFEOF
searchd {
    listen = 127.0.0.1:9306:mysql41
    listen = 127.0.0.1:9308:http
    log = /var/log/manticore/searchd.log
    pid_file = /var/run/manticore/searchd.pid
}

table test_voyage_plain {
    type = rt
    path = /var/lib/manticore/test_voyage_plain
    rt_field = title
    rt_field = content
    rt_attr_float_vector = embedding
    knn = {"attrs":[{"name":"embedding","type":"hnsw","hnsw_similarity":"L2","hnsw_m":16,"hnsw_ef_construction":200,"model_name":"voyage/voyage-3.5-lite","from":"title,content","api_key":"${API_KEY_VAL}"}]}
}
CONFEOF
––– output –––
OK
––– input –––
searchd --stopwait --quiet
––– output –––
OK
––– 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 "SHOW TABLES"
––– output –––
- +-------------------+------+
- | Table             | Type |
- +-------------------+------+
- | test_voyage_plain | rt   |
- +-------------------+------+
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_voyage_plain (id, title, content) VALUES(1, 'bread', 'food item'), (2, 'cat', 'animal pet')"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Cannot create the table automatically in Plain mode. Make sure the table exists before inserting into it
+ 1
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as count FROM test_voyage_plain"
––– output –––
- +-------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'test_voyage_plain' in search request
- | count |
- +-------+
- |     2 |
- +-------+
––– input –––
mysql -h0 -P9306 -E -e "SELECT id, title FROM test_voyage_plain WHERE knn(embedding, 2, 'dog')"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'test_voyage_plain' in search request
-    id: 2
- title: cat
- *************************** 2. row ***************************
-    id: 1
- title: bread
––– input –––
cat > /etc/manticoresearch/manticore.conf << 'EOF'
searchd {
    listen = 127.0.0.1:9306:mysql41
    listen = 127.0.0.1:9308:http
    log = /var/log/manticore/searchd.log
    pid_file = /var/run/manticore/searchd.pid
}

table test_voyage_no_key {
    type = rt
    path = /var/lib/manticore/test_voyage_no_key
    rt_field = title
    rt_attr_float_vector = embedding
    knn = {"attrs":[{"name":"embedding","type":"hnsw","hnsw_similarity":"L2","model_name":"voyage/voyage-3.5-lite","from":"title"}]}
}
EOF
––– output –––
OK
––– input –––
searchd --stopwait --quiet
––– output –––
OK
––– input –––
searchd 2>&1|grep WARNING
––– output –––
- WARNING: table 'test_voyage_no_key': prealloc: Invalid API key for remote model - NOT SERVING
+ [Sat Apr 11 16:25:05.424 2026] [130] WARNING: Error initializing knn index: daemon requires knn library v13 (trying to load v12)
+ WARNING: table 'test_voyage_no_key': knn library not loaded - NOT SERVING
test/clt-tests/ae/auto-embeddings-voyage-remote.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 –––
cosine_similarity() {
    local file1="$1" file2="$2"

    awk '
    NR==FNR { a[NR]=$1; suma2+=$1*$1; next }
    {
        dot += a[FNR]*$1
        sumb2 += $1*$1
    }
    END {
        print dot / (sqrt(suma2) * sqrt(sumb2))
    }' "$file1" "$file2"
}
––– output –––
OK
––– input –––
export -f cosine_similarity
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_invalid_model (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'voyage/invalid-model-name-12345' FROM = 'title') " 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_valid_model_no_api_key (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'voyage/voyage-3.5-lite' FROM = 'title') " 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_valid_model_no_api_key': prealloc: Invalid API key for remote model
+ ERROR 1064 (42000) at line 1: table 'test_valid_model_no_api_key': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_voyage_remote (title TEXT, content TEXT, description TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'voyage/voyage-3.5-lite' FROM = 'title, content' API_KEY='${VOYAGE_API_KEY}') "; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_voyage_remote': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_voyage_remote"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_voyage_remote
- Create Table: CREATE TABLE test_voyage_remote (
- id bigint,
- title text,
- content text,
- description text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='voyage/voyage-3.5-lite' from='title, content' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_voyage_remote (id, title, content, description) VALUES(1, 'machine learning algorithms', 'deep neural networks and artificial intelligence', 'advanced AI research')"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as record_count FROM test_voyage_remote WHERE id=1"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_voyage_remote (id, title, content, description) VALUES(2, 'machine learning algorithms', 'deep neural networks and artificial intelligence', 'different description')"

mysql -h0 -P9306 -e "SELECT embedding FROM test_voyage_remote WHERE id=1" | \
    grep -v embedding | \
    sed 's/[0-9]\+\(\.[0-9]\+\)\?/\n&\n/g' | \
    grep -E '^[0-9]+(\.[0-9]+)?$' | \
    awk '{printf "%.5f\n", $1}' > /tmp/vector1.txt

mysql -h0 -P9306 -e "SELECT embedding FROM test_voyage_remote WHERE id=2" | \
    grep -v embedding | \
    sed 's/[0-9]\+\(\.[0-9]\+\)\?/\n&\n/g' | \
    grep -E '^[0-9]+(\.[0-9]+)?$' | \
    awk '{printf "%.5f\n", $1}' > /tmp/vector2.txt

SIMILARITY=$(cosine_similarity /tmp/vector1.txt /tmp/vector2.txt)

echo "Cosine similarity: $SIMILARITY"

RESULT=$(awk -v sim="$SIMILARITY" 'BEGIN {
    if (sim > 0.99)
        print "SUCCESS: Same FROM fields produce similar vectors (similarity: " sim ")"
    else
        print "FAIL: Different vectors (FROM does not include description field and should not change generated vector value) (similarity: " sim ")"
}')

echo "$RESULT"

rm -f /tmp/vector1.txt /tmp/vector2.txt
––– output –––
- Cosine similarity: #!/(1|0\.[0-9]+)/!#
+ ERROR 1064 (42000) at line 1: table test_voyage_remote: parse error: unknown column: embedding
- SUCCESS: Same FROM fields produce similar vectors (similarity: #!/(1|0\.[0-9]+)/!#)
+ ERROR 1064 (42000) at line 1: table test_voyage_remote: parse error: unknown column: embedding
+ Cosine similarity: -nan
+ FAIL: Different vectors (FROM does not include description field and should not change generated vector value) (similarity: -nan)
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_voyage_title_only (title TEXT, content TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'voyage/voyage-3.5-lite' FROM = 'title' API_KEY='${VOYAGE_API_KEY}') "; mysql -h0 -P9306 -e "INSERT INTO test_voyage_title_only (id, title, content) VALUES(1, 'machine learning algorithms', 'completely different content here')"; MD5_MULTI=$(mysql -h0 -P9306 -e "SELECT embedding FROM test_voyage_remote WHERE id=1" | grep -v embedding | md5sum | awk '{print $1}'); MD5_SINGLE=$(mysql -h0 -P9306 -e "SELECT embedding FROM test_voyage_title_only WHERE id=1" | grep -v embedding | md5sum | awk '{print $1}'); echo "multi_field_md5: $MD5_MULTI"; echo "single_field_md5: $MD5_SINGLE"; if [ "$MD5_MULTI" != "$MD5_SINGLE" ]; then echo "SUCCESS: Different FROM specifications produce different vectors"; else echo "INFO: FROM field comparison result"; fi
––– output –––
- multi_field_md5: #!/[0-9a-f]{32}/!#
+ ERROR 1064 (42000) at line 1: table 'test_voyage_title_only': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
- single_field_md5: #!/[0-9a-f]{32}/!#
+ ERROR 1064 (42000) at line 1: table test_voyage_remote: parse error: unknown column: embedding
- SUCCESS: Different FROM specifications produce different vectors
+ ERROR 1064 (42000) at line 1: table test_voyage_title_only: parse error: unknown column: embedding
+ multi_field_md5: d41d8cd98f00b204e9800998ecf8427e
+ single_field_md5: d41d8cd98f00b204e9800998ecf8427e
+ INFO: FROM field comparison result
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test__invalid_field (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME = 'voyage/text-embedding-ada-002' FROM = 'nonexistent_field') " 2>&1
––– output –––
OK
––– input –––
if mysql -h0 -P9306 -e "SHOW TABLES LIKE 'test_voyage_no_from'" | grep -q test_voyage_no_from; then mysql -h0 -P9306 -e "INSERT INTO test__no_from (id, title, embedding) VALUES(1, 'test title', '(0.1, 0.2, 0.3, 0.4, 0.5)')"; echo "insert_result: $?"; else echo "insert_result: skipped (table not created)"; fi
––– output –––
OK
––– input –––
if mysql -h0 -P9306 -e "SHOW TABLES LIKE 'test__no_from'" | grep -q test_voyage_no_from; then mysql -h0 -P9306 -e "SHOW CREATE TABLE test_voyage_no_from"; else echo "table_structure: skipped (table not created)"; fi
––– output –––
OK
––– input –––
if [ -n "$VOYAGE_API_KEY" ] && [ "$VOYAGE_API_KEY" != "dummy_key_for_testing" ]; then echo "API key is available for testing"; else echo "API key not available - using dummy for error testing"; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT id, knn_dist() FROM test_voyage_remote WHERE knn(embedding, 3, 'machine learning and artificial intelligence')\G"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: table test_voyage_remote: requested KNN search attribute 'embedding' not found
-         id: %{NUMBER}
- knn_dist(): #!/[0-9]+\.[0-9]+/!#
- *************************** 2. row ***************************
-         id: %{NUMBER}
- knn_dist(): #!/[0-9]+\.[0-9]+/!#
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as count FROM test_voyage_remote WHERE knn(embedding, 5, 'technology and AI') AND id > 0"
––– output –––
- +-------+
+ ERROR 1064 (42000) at line 1: table test_voyage_remote: requested KNN search attribute 'embedding' not found
- | count |
- +-------+
- |     2 |
- +-------+
––– input –––
API_KEY_VAL="${VOYAGE_API_KEY}"; cat > /etc/manticoresearch/manticore.conf << CONFEOF
searchd {
    listen = 127.0.0.1:9306:mysql41
    listen = 127.0.0.1:9308:http
    log = /var/log/manticore/searchd.log
    pid_file = /var/run/manticore/searchd.pid
}

table test_voyage_plain {
    type = rt
    path = /var/lib/manticore/test_voyage_plain
    rt_field = title
    rt_field = content
    rt_attr_float_vector = embedding
    knn = {"attrs":[{"name":"embedding","type":"hnsw","hnsw_similarity":"L2","hnsw_m":16,"hnsw_ef_construction":200,"model_name":"voyage/voyage-3.5-lite","from":"title,content","api_key":"${API_KEY_VAL}"}]}
}
CONFEOF
––– output –––
OK
––– input –––
searchd --stopwait --quiet
––– output –––
OK
––– 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 "SHOW TABLES"
––– output –––
- +-------------------+------+
- | Table             | Type |
- +-------------------+------+
- | test_voyage_plain | rt   |
- +-------------------+------+
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_voyage_plain (id, title, content) VALUES(1, 'bread', 'food item'), (2, 'cat', 'animal pet')"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Cannot create the table automatically in Plain mode. Make sure the table exists before inserting into it
+ 1
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as count FROM test_voyage_plain"
––– output –––
- +-------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'test_voyage_plain' in search request
- | count |
- +-------+
- |     2 |
- +-------+
––– input –––
mysql -h0 -P9306 -E -e "SELECT id, title FROM test_voyage_plain WHERE knn(embedding, 2, 'dog')"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'test_voyage_plain' in search request
-    id: 2
- title: cat
- *************************** 2. row ***************************
-    id: 1
- title: bread
––– input –––
cat > /etc/manticoresearch/manticore.conf << 'EOF'
searchd {
    listen = 127.0.0.1:9306:mysql41
    listen = 127.0.0.1:9308:http
    log = /var/log/manticore/searchd.log
    pid_file = /var/run/manticore/searchd.pid
}

table test_voyage_no_key {
    type = rt
    path = /var/lib/manticore/test_voyage_no_key
    rt_field = title
    rt_attr_float_vector = embedding
    knn = {"attrs":[{"name":"embedding","type":"hnsw","hnsw_similarity":"L2","model_name":"voyage/voyage-3.5-lite","from":"title"}]}
}
EOF
––– output –––
OK
––– input –––
searchd --stopwait --quiet
––– output –––
OK
––– input –––
searchd 2>&1|grep WARNING
––– output –––
- WARNING: table 'test_voyage_no_key': prealloc: Invalid API key for remote model - NOT SERVING
+ [Sat Apr 11 16:25:10.060 2026] [130] WARNING: Error initializing knn index: daemon requires knn library v13 (trying to load v12)
+ WARNING: table 'test_voyage_no_key': knn library not loaded - NOT SERVING
test/clt-tests/ae/auto-embeddings-show-create-table.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 –––
php /manticore/test/clt-tests/ae/mock-embeddings-server.php --port 8080 --provider openai > /tmp/mock-server-8080.log 2>&1 &
MOCK_PID_8080=$!
echo "Mock server started on port 8080 (PID: $MOCK_PID_8080)"
sleep 1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_show_api_url (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_show_api_url': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_show_api_url" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_show_api_url
- Create Table: CREATE TABLE test_show_api_url (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_url='http://localhost:8080/v1/embeddings' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_show_no_api_url (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2' FROM='title')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_show_no_api_url': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_show_no_api_url" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_show_no_api_url
- Create Table: CREATE TABLE test_show_no_api_url (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='sentence-transformers/all-MiniLM-L6-v2' from='title' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_show_api_timeout (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings' API_TIMEOUT='30')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_show_api_timeout': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_show_api_timeout" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_show_api_timeout
- Create Table: CREATE TABLE test_show_api_timeout (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_url='http://localhost:8080/v1/embeddings' api_timeout='30'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_show_no_api_timeout (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_show_no_api_timeout': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_show_no_api_timeout" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_show_no_api_timeout
- Create Table: CREATE TABLE test_show_no_api_timeout (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_url='http://localhost:8080/v1/embeddings' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_show_api_timeout_zero (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings' API_TIMEOUT='0')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_show_api_timeout_zero': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_show_api_timeout_zero" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_show_api_timeout_zero
- Create Table: CREATE TABLE test_show_api_timeout_zero (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_url='http://localhost:8080/v1/embeddings' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_show_from (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_show_from': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_show_from" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_show_from
- Create Table: CREATE TABLE test_show_from (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_url='http://localhost:8080/v1/embeddings' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_show_api_key_security (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='secret-key' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_show_api_key_security': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_show_api_key_security" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_show_api_key_security
- Create Table: CREATE TABLE test_show_api_key_security (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_url='http://localhost:8080/v1/embeddings' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_show_all_params (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings' API_TIMEOUT='30')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_show_all_params': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_show_all_params" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_show_all_params
- Create Table: CREATE TABLE test_show_all_params (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_url='http://localhost:8080/v1/embeddings' api_timeout='30'
- )
test/clt-tests/ae/auto-embeddings-qwen.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_qwen (title TEXT, vec FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='Qwen/Qwen3-Embedding-0.6B' FROM='title')"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_qwen': CREATE TABLE failed: model_name specified for 'vec', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_qwen"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_qwen
- Create Table: CREATE TABLE test_qwen (
- id bigint,
- title text,
- vec float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='Qwen/Qwen3-Embedding-0.6B' from='title' api_timeout='10'
- )
––– input –––
mysql -h0 -P9306 -e "insert into test_qwen(id, title) values(1, 'book'),(2, 'bread');"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) as total_records FROM test_qwen"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select id, title, knn_dist() from test_qwen where knn(vec, 3, 'loaf')"
––– output –––
- +------+-------+------------+
+ ERROR 1064 (42000) at line 1: table test_qwen: requested KNN search attribute 'vec' not found
- | id   | title | knn_dist() |
- +------+-------+------------+
- |    2 | bread | #!/0\.3[0-9]*/!# |
- |    1 | book  | #!/0\.[45][0-9]*/!# |
- +------+-------+------------+
test/clt-tests/http-interface/cli-json-endpoint.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 t (id INT, value TEXT, value_attr STRING) min_infix_len = '3' min_prefix_len = '3'; INSERT INTO t VALUES (1, 'example', 'example'), (2, 'test', 'test');"
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/cli_json?show%20version"
––– output –––
- [{"total":%{NUMBER},"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"%{VERSION}"},{"Component":"Columnar","Version":"columnar %{VERSION}"},{"Component":"Secondary","Version":"secondary %{VERSION}"},{"Component":"Knn","Version":"knn %{VERSION}"},{"Component":"Embeddings","Version":"embeddings %{VERSION}"},{"Component":"Buddy","Version":"buddy %{VERSION}"}]}]
+ [{"total":4,"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"0.0.0 16643bfc1@26041116"},{"Component":"Columnar","Version":"columnar 13.0.0 e60b083@26032708"},{"Component":"Secondary","Version":"secondary 13.0.0 e60b083@26032708"},{"Component":"Buddy","Version":"buddy v3.44.2-g97dbd0"}]}]
––– input –––
curl -s "http://localhost:9308/cli_json?show%20buddy%20plugins"
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/cli_json?select%20*%20from%20t%20where%20match('exmaple')%20option%20fuzzy=1"
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/cli_json?show%20fields%20from%20t"
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/cli_json?create%20table%20t_copy2%20like%20t"
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/cli_json?select%20*%20from%20t%20limit%201"
––– output –––
OK
test/clt-tests/http-interface/show-version-http.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 –––
curl -s "http://localhost:9308/cli?show%20version" | sed 's/ *|/|/g' | awk '!/row.*in set/'|grep -v "\-\-\-"|grep -v Component
––– output –––
| Daemon| %{VERSION}|
| Columnar| columnar %{VERSION}|
| Secondary| secondary %{VERSION}|
- | Knn| knn %{VERSION}|
+ | Buddy| buddy v3.44.2-g97dbd0|
- | Embeddings| embeddings %{VERSION}|
- | Buddy| buddy %{VERSION}|
test/clt-tests/ae/auto-embeddings-parameter-combinations.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 –––
php /manticore/test/clt-tests/ae/mock-embeddings-server.php --port 8080 --provider openai > /tmp/mock-server-8080.log 2>&1 &
MOCK_PID_8080=$!
echo "Mock server started on port 8080 (PID: $MOCK_PID_8080)"
sleep 1
––– output –––
OK
––– input –––
php /manticore/test/clt-tests/ae/mock-embeddings-server.php --port 8081 --provider voyage > /tmp/mock-server-8081.log 2>&1 &
MOCK_PID_8081=$!
echo "Mock server started on port 8081 (PID: $MOCK_PID_8081)"
sleep 1
––– output –––
OK
––– input –––
php /manticore/test/clt-tests/ae/mock-embeddings-server.php --port 8083 > /tmp/mock-server-8083.log 2>&1 &
MOCK_PID_8083=$!
echo "Generic mock server started on port 8083 (PID: $MOCK_PID_8083)"
sleep 1
––– output –––
OK
––– input –––
php /manticore/test/clt-tests/ae/mock-embeddings-server.php --port 8084 --provider openai --delay 6.0 > /tmp/mock-server-8084.log 2>&1 &
MOCK_PID_8084=$!
echo "Slow mock server started on port 8084 (PID: $MOCK_PID_8084)"
sleep 1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_all_params (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='valid-key' API_URL='http://localhost:8080/v1/embeddings' API_TIMEOUT='30')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_all_params': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -E -e "SHOW CREATE TABLE test_all_params" 2>&1
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: You have an error in your query. Please, double-check it.
-        Table: test_all_params
- Create Table: CREATE TABLE test_all_params (
- id bigint,
- title text,
- embedding float_vector knn_type='hnsw' hnsw_similarity='L2' model_name='openai/text-embedding-ada-002' from='title' api_url='http://localhost:8080/v1/embeddings' api_timeout='30'
- )
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_url_timeout_no_key (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_URL='http://localhost:8080/v1/embeddings' API_TIMEOUT='30')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_url_timeout_no_key': prealloc: Invalid API key for remote model
+ ERROR 1064 (42000) at line 1: table 'test_url_timeout_no_key': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_url_invalid_key (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='wrong' API_URL='http://localhost:8080/v1/embeddings')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_url_invalid_key': prealloc: Invalid API key for remote model (HTTP status code 401)
+ ERROR 1064 (42000) at line 1: table 'test_url_invalid_key': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_timeout_slow_server (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8084/v1/embeddings' API_TIMEOUT='5')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_timeout_slow_server': prealloc: Failed to send request to remote model
+ ERROR 1064 (42000) at line 1: table 'test_timeout_slow_server': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_url_provider_mismatch (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8081/v1/embeddings')" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_url_provider_mismatch': prealloc: HTTP error from remote model: status code 400
+ ERROR 1064 (42000) at line 1: table 'test_url_provider_mismatch': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_url_provider_override (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8083/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_url_provider_override': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_url_provider_override (id, title) VALUES (1, 'test provider=openai')" 2>&1; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_registry_url1 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_registry_url1': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_registry_url2 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8083/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_registry_url2': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_registry_url1 (id, title) VALUES (1, 'test document 1')" 2>&1; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_registry_url2 (id, title) VALUES (1, 'test document 2')" 2>&1; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_registry_timeout1 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8084/v1/embeddings' API_TIMEOUT='30')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_registry_timeout1': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_registry_timeout2 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8084/v1/embeddings' API_TIMEOUT='60')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_registry_timeout2': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_registry_timeout1 (id, title) VALUES (1, 'test delay=6.0')" 2>&1; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_registry_timeout2 (id, title) VALUES (1, 'test delay=6.0')" 2>&1; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_registry_same1 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings' API_TIMEOUT='30')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_registry_same1': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_registry_same2 (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings' API_TIMEOUT='30')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_registry_same2': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_registry_same1 (id, title) VALUES (1, 'test document 1')" 2>&1; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_registry_same2 (id, title) VALUES (1, 'test document 2')" 2>&1; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_long_url (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings?param1=value1&param2=value2&param3=value3&param4=value4&param5=value5&param6=value6&param7=value7&param8=value8&param9=value9&param10=value10')" 2>&1; echo $?
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_long_url': prealloc: Unsupported remote model given (HTTP status code 404)
+ ERROR 1064 (42000) at line 1: table 'test_long_url': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
1
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_special_chars_url (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings?param=value&other=test')" 2>&1; echo $?
––– output –––
- ERROR 1064 (42000) at line 1: error adding table 'test_special_chars_url': prealloc: Unsupported remote model given (HTTP status code 404)
+ ERROR 1064 (42000) at line 1: table 'test_special_chars_url': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
1
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_auth_url (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://user:pass@localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_auth_url': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_concurrent_alter (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_concurrent_alter': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_nonexistent_column (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title' API_KEY='${OPENAI_API_KEY}')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_nonexistent_column': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE test_nonexistent_column MODIFY COLUMN nonexistent API_URL='http://localhost:8080/v1/embeddings'" 2>&1
––– output –––
- ERROR 1064 (42000) at line 1: table test_nonexistent_column: attribute 'nonexistent' not found
+ ERROR 1064 (42000) at line 1: table test_nonexistent_column: unknown local table in ALTER request
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_local_api_url (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2' FROM='title' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_local_api_url': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_local_api_url (id, title) VALUES (1, 'test document')" 2>&1; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_local_api_timeout (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2' FROM='title' API_TIMEOUT='30')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_local_api_timeout': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_local_api_timeout (id, title) VALUES (1, 'test document')" 2>&1; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_local_api_key (title TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='sentence-transformers/all-MiniLM-L6-v2' FROM='title' API_KEY='any-key')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_local_api_key': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_local_api_key (id, title) VALUES (1, 'test document')" 2>&1; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test_from_api_url (title TEXT, description TEXT, embedding FLOAT_VECTOR KNN_TYPE='hnsw' HNSW_SIMILARITY='l2' MODEL_NAME='openai/text-embedding-ada-002' FROM='title,description' API_KEY='test-key' API_URL='http://localhost:8080/v1/embeddings')" 2>&1; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'test_from_api_url': CREATE TABLE failed: model_name specified for 'embedding', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_from_api_url (id, title, description) VALUES (1, 'test title', 'test description')" 2>&1; echo $?
––– output –––
OK

@github-actions
Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/expected-errors/buddy-plugin-show test/clt-tests/expected-errors/test-character-transformation-when-sending-to-buddy test/clt-tests/expected-errors/test-declaration-of-duplicate-attributes test/clt-tests/expected-errors/test-declaration-of-duplicate-fields test/clt-tests/expected-errors/test-errors-insert-for-distributed-missing-table test/clt-tests/expected-errors/test-external-files-handling-negative test/clt-tests/expected-errors/test-fuzzy-search-negative test/clt-tests/expected-errors/test-fuzzy-sql-endpoint-negative test/clt-tests/expected-errors/test-inconsistency-in-error-messages test/clt-tests/expected-errors/test-lock-tables-errors
✅ OK: 8
❌ Failed: 2
⏳ Duration: 112s
👉 Check Action Results for commit 16643bf

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/expected-errors/test-inconsistency-in-error-messages.rec
––– input –––
echo -e 'common {\n\tplugin_dir = /usr/local/lib/manticore\n\tlemmatizer_base = /usr/share/manticore/morph/\n}\n\nsearchd {\n\tlisten = 9306:mysql41\n\tlisten = 9312\n\tlisten = 9308:http\n\tlog = /var/log/manticore/searchd.log\n\tquery_log = /var/log/manticore/query.log\n\tpid_file = /var/log/manticore/searchd.pid\n\tdata_dir = /var/log/manticore\n\tquery_log_format = sphinxql\n\tquery_log_commands = 1\n\tbuddy_path =\n}\n' > manticore.conf
––– output –––
OK
––– input –––
stdbuf -oL searchd --config ./manticore.conf > /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 "drop table if exists a; drop table if exists test; create table a (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');create table test type='distributed' local='a';"
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 'a': knn library not loaded
––– input –––
for i in {1..100}; do response=$(curl -s -X POST http://localhost:9308/insert -d '{"table": "test", "id": 1, "doc": {"model": "iPhone 13 Pro", "storage_capacity": 256, "color": "silver", "release_year": 2021, "price": 1099.99, "discounted_price": 989.99, "sold": 1, "date_added": 1591362342000, "product_codes": [1,2,3], "values": [523456764345678976,98765409877866654098,1109876543450987650987], "additional_info": {"features": ["ProMotion display", "A15 Bionic chip", "Ceramic Shield front cover"]}, "vector": [0.773448,0.312478,0.137971,0.459821]}}'); if [[ "$response" != *'"error":{"type":"action_request_validation_exception","reason":"table '\''test'\'' does not support INSERT","table":"test"},"status":409'* ]]; then echo "Mismatch found at iteration $i: $response"; exit 1; fi; done; echo "All 100 requests returned the same error"
––– output –––
- All 100 requests returned the same error
+ Mismatch found at iteration 1: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 2: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 3: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 4: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 5: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 6: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 7: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 8: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 9: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 10: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 11: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 12: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 13: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 14: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 15: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 16: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 17: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 18: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 19: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 20: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 21: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 22: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 23: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 24: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 25: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 26: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 27: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 28: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 29: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 30: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 31: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 32: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 33: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 34: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 35: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 36: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 37: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 38: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 39: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 40: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 41: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 42: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 43: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 44: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 45: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 46: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 47: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 48: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 49: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 50: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 51: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 52: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 53: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 54: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 55: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 56: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 57: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 58: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 59: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 60: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 61: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 62: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 63: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 64: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 65: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 66: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 67: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 68: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 69: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 70: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 71: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 72: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 73: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 74: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 75: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 76: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 77: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 78: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 79: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 80: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 81: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 82: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 83: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 84: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 85: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 86: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 87: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 88: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 89: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 90: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 91: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 92: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 93: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 94: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 95: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 96: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 97: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 98: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 99: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 100: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ All 100 requests returned the same error
test/clt-tests/expected-errors/buddy-plugin-show.rec
––– input –––
apt-get -y remove 'manticore-buddy' > /dev/null; echo $?
––– output –––
OK
––– input –––
stdbuf -oL searchd
––– output –––
- Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) (embeddings %{VERSION})
+ Manticore 0.0.0 16643bfc1@26041116 (columnar 13.0.0 e60b083@26032708) (secondary 13.0.0 e60b083@26032708)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
- [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+ [Sat Apr 11 16:24:33.230 2026] [35] WARNING: Error initializing knn index: daemon requires knn library v13 (trying to load v12)
- starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) (embeddings %{VERSION})' ...
+ [Sat Apr 11 16:24:33.263 2026] [35] using config file '/etc/manticoresearch/manticore.conf' (269 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '0.0.0 16643bfc1@26041116 (columnar 13.0.0 e60b083@26032708) (secondary 13.0.0 e60b083@26032708)' ...
- listening on %{IPADDR}:9306 for mysql
+ listening on 127.0.0.1:9312 for sphinx and http(s)
- listening on %{IPADDR}:9308 for sphinx and http(s)
+ listening on 127.0.0.1:9306 for mysql
+ listening on 127.0.0.1:9308 for sphinx and http(s)
––– input –––
mysql -h0 -P9306 -e 'CREATE TABLE test (id BIGINT, name TEXT, date TIMESTAMP);'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SHOW QUERIES;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SHOW FULL TABLES;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SHOW SCHEMAS;'
––– output –––
OK

@github-actions
Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/sharding/syntax/sharding-syntax-negative test/clt-tests/sharding/syntax/sharding-syntax-positive test/clt-tests/test-configuration/show-settings test/clt-tests/test-configuration/show-threads test/clt-tests/test-configuration/test-buddy-max-connections-configuration test/clt-tests/test-configuration/test-buddy-requests-not-logged test/clt-tests/test-configuration/test-default-config test/clt-tests/test-configuration/test-update-with-query-log-min-msec test/clt-tests/test-configuration/test-writing-binlog-during-parallel-queries test/clt-tests/test-configuration/timezone
✅ OK: 8
❌ Failed: 2
⏳ Duration: 92s
👉 Check Action Results for commit 16643bf

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/test-configuration/test-buddy-max-connections-configuration.rec
––– input –––
sed -i '/^searchd/a\    max_connections=1' /etc/manticoresearch/manticore.conf
––– output –––
OK
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; 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 –––
- Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) (embeddings %{VERSION})
+ Manticore 0.0.0 16643bfc1@26041116 (columnar 13.0.0 e60b083@26032708) (secondary 13.0.0 e60b083@26032708)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
- [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)...
+ [Sat Apr 11 16:25:18.644 2026] [22] WARNING: Error initializing knn index: daemon requires knn library v13 (trying to load v12)
- starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) (embeddings %{VERSION})' ...
+ [Sat Apr 11 16:25:18.675 2026] [22] using config file '/etc/manticoresearch/manticore.conf' (291 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '0.0.0 16643bfc1@26041116 (columnar 13.0.0 e60b083@26032708) (secondary 13.0.0 e60b083@26032708)' ...
- listening on %{IPADDR}:9306 for mysql
+ listening on 127.0.0.1:9312 for sphinx and http(s)
- listening on %{IPADDR}:9308 for sphinx and http(s)
+ listening on 127.0.0.1:9306 for mysql
- Buddy started!
+ listening on 127.0.0.1:9308 for sphinx and http(s)
+ Buddy started!
––– input –––
mysql -P9306 -h0 -e "CREATE TABLE IF NOT EXISTS t (id INT); INSERT INTO t (id) VALUES(0); SHOW QUERIES\G;"
––– output –––
OK
––– input –––
stdbuf -oL searchd --stopwait
––– output –––
- Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) (embeddings %{VERSION})
+ Manticore 0.0.0 16643bfc1@26041116 (columnar 13.0.0 e60b083@26032708) (secondary 13.0.0 e60b083@26032708)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
- [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)...
+ [Sat Apr 11 16:25:18.901 2026] [53] WARNING: Error initializing knn index: daemon requires knn library v13 (trying to load v12)
- [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] stop: successfully sent SIGTERM to pid %{NUMBER}
+ [Sat Apr 11 16:25:18.932 2026] [53] using config file '/etc/manticoresearch/manticore.conf' (291 chars)...
+ [Sat Apr 11 16:25:18.934 2026] [53] stop: successfully sent SIGTERM to pid 25
––– input –––
sed -i '/^searchd/,/^}/s/max_connections=1/max_connections=2/' /etc/manticoresearch/manticore.conf
––– output –––
OK
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd; 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 –––
- Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) (embeddings %{VERSION})
+ Manticore 0.0.0 16643bfc1@26041116 (columnar 13.0.0 e60b083@26032708) (secondary 13.0.0 e60b083@26032708)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
- [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)...
+ [Sat Apr 11 16:25:19.904 2026] [57] WARNING: Error initializing knn index: daemon requires knn library v13 (trying to load v12)
- starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) (embeddings %{VERSION})' ...
+ [Sat Apr 11 16:25:19.934 2026] [57] using config file '/etc/manticoresearch/manticore.conf' (291 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '0.0.0 16643bfc1@26041116 (columnar 13.0.0 e60b083@26032708) (secondary 13.0.0 e60b083@26032708)' ...
- listening on %{IPADDR}:9306 for mysql
+ listening on 127.0.0.1:9312 for sphinx and http(s)
- listening on %{IPADDR}:9308 for sphinx and http(s)
+ listening on 127.0.0.1:9306 for mysql
- precaching table 't'
+ listening on 127.0.0.1:9308 for sphinx and http(s)
- precached 1 tables in #!/[0-9]+.[0-9]+/!# sec
+ precaching table 't'
- Buddy started!
+ precached 1 tables in 0.001 sec
+ Buddy started!
––– input –––
for n in 1 2; do mysql -P9306 -h0 -e "CREATE TABLE IF NOT EXISTS b${n} (id INT);" ; done; for n in 1 2; do mysql -P9306 -h0 -e "INSERT INTO b${n} (id) VALUES(0)" & pids="$pids $!"; done; for pid in $pids; do wait $pid; done; mysql -P9306 -h0 -e "show queries\G;"
––– output –––
OK
test/clt-tests/test-configuration/timezone.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 "show variables like 'timezone'\G" | grep Value
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select curtime()\G" | awk 'NR>1 {print $2}' > /tmp/utc.txt
––– output –––
OK
––– input –––
cat /tmp/utc.txt
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select now(), curtime(), curdate(), utc_time(), utc_timestamp();"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "set global timezone='UTC';"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "show variables like 'timezone'\G" | grep Value
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select now(), curtime(), curdate(), utc_time(), utc_timestamp();"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "set global timezone='Asia/Bangkok';"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select curtime()\G" | awk 'NR>1 {print $2}' > /tmp/bkk.txt
––– output –––
OK
––– input –––
cat /tmp/bkk.txt
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "show variables like 'timezone'\G" | grep Value
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select now(), curtime(), curdate(), utc_time(), utc_timestamp();"
––– output –––
OK
––– input –––
[ $(( ($(date -d "$(cat /tmp/bkk.txt)" +%s) - $(date -d "$(cat /tmp/utc.txt)" +%s) + 43200) % 86400 - 43200 >= 25200 )) ] && echo "At least 7 hours apart" || echo "Less than 7 hours apart"
––– output –––
OK
––– input –––
cp /etc/manticoresearch/manticore.conf /tmp/manticore.conf.backup
––– output –––
OK
––– input –––
searchd --stopwait 2>&1 | grep "successfully sent SIGTERM"
––– output –––
OK
––– input –––
export TZ=Asia/Tokyo && searchd --config /etc/manticoresearch/manticore.conf > /dev/null 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "show variables like 'timezone'\G" | grep Value
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select hour(now()) as tokyo_hour\G" | grep "tokyo_hour:" | awk '{print $2}' > /tmp/tokyo_hour.txt
––– output –––
OK
––– input –––
searchd --stopwait 2>&1 | grep "successfully sent SIGTERM"
––– output –––
OK
––– input –––
export TZ=UTC && searchd --config /etc/manticoresearch/manticore.conf > /dev/null 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "show variables like 'timezone'\G" | grep Value
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select hour(now()) as utc_hour\G" | grep "utc_hour:" | awk '{print $2}' > /tmp/tz_utc_hour.txt
––– output –––
OK
––– input –––
cp -P /etc/localtime /tmp/localtime.backup
––– output –––
OK
––– input –––
cp /etc/timezone /tmp/timezone.backup
––– output –––
OK
––– input –––
searchd --stopwait 2>&1 | grep "successfully sent SIGTERM"
––– output –––
OK
––– input –––
ln -snf /usr/share/zoneinfo/Asia/Singapore /etc/localtime && echo "Asia/Singapore" > /etc/timezone
––– output –––
OK
––– input –––
unset TZ && searchd --config /etc/manticoresearch/manticore.conf > /dev/null 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "show variables like 'timezone'\G" | grep Value
––– output –––
OK
––– input –––
searchd --stopwait 2>&1 | grep "successfully sent SIGTERM"
––– output –––
OK
––– input –––
ln -snf /usr/share/zoneinfo/Europe/London /etc/localtime && echo "Europe/London" > /etc/timezone
––– output –––
OK
––– input –––
searchd --config /etc/manticoresearch/manticore.conf > /dev/null 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "show variables like 'timezone'\G" | grep Value
––– output –––
OK
––– input –––
echo "Europe/London works correctly from system files"
––– output –––
OK
––– input –––
searchd --stopwait 2>&1 | grep "successfully sent SIGTERM"
––– output –––
OK
––– input –––
cp /etc/manticoresearch/manticore.conf /tmp/manticore_tz.conf
––– output –––
OK
––– input –––
sed -i '/^searchd {/a\    timezone = America/New_York' /tmp/manticore_tz.conf
––– output –––
OK
––– input –––
searchd --config /tmp/manticore_tz.conf 2>&1 | head -2 | grep "Using time zone"
––– output –––
- [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] Using time zone 'America/New_York'
––– input –––
mysql -h0 -P9306 -e "show variables like 'timezone'\G" | grep Value
––– output –––
-         Value: America/New_York
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
––– input –––
searchd --stopwait --config /tmp/manticore_tz.conf 2>&1 | grep "successfully sent SIGTERM"
––– output –––
- [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
export TZ=Africa/Cairo
––– output –––
OK
––– input –––
ln -snf /usr/share/zoneinfo/Australia/Sydney /etc/localtime && echo "Australia/Sydney" > /etc/timezone
––– output –––
OK
––– input –––
searchd --config /tmp/manticore_tz.conf 2>&1 | head -2 | grep "Using time zone"
––– output –––
- [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] Using time zone 'America/New_York'
––– input –––
mysql -h0 -P9306 -e "show variables like 'timezone'\G" | grep Value
––– output –––
-         Value: America/New_York
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
––– input –––
echo "Priority test: Config (America/New_York) overrides TZ (Africa/Cairo) and system (Australia/Sydney)"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "set global timezone='UTC';"
––– output –––
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
––– input –––
mysql -h0 -P9306 -e "select hour(1615787586) as h_utc\G" | grep "h_utc:" | awk '{print $2}' > /tmp/hour_utc.txt
––– output –––
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
––– input –––
mysql -h0 -P9306 -e "set global timezone='Asia/Tokyo';"
––– output –––
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
––– input –––
mysql -h0 -P9306 -e "select hour(1615787586) as h_tokyo\G" | grep "h_tokyo:" | awk '{print $2}' > /tmp/hour_tokyo.txt
––– output –––
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
––– input –––
UTC_H=$(cat /tmp/hour_utc.txt)
––– output –––
OK
––– input –––
TOKYO_H=$(cat /tmp/hour_tokyo.txt)
––– output –––
OK
––– input –––
DIFF=$(( (TOKYO_H - UTC_H + 24) % 24 ))
––– output –––
OK
––– input –––
if [ $DIFF -eq 9 ]; then echo "HOUR(timestamp) works: Tokyo is UTC+9"; else echo "HOUR() error: diff is $DIFF, expected 9"; fi
––– output –––
- HOUR(timestamp) works: Tokyo is UTC+9
+ HOUR() error: diff is 0, expected 9
––– input –––
mysql -h0 -P9306 -e "set global timezone='GMT';"
––– output –––
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
––– input –––
mysql -h0 -P9306 -e "show variables like 'timezone'\G" | grep Value
––– output –––
-         Value: GMT
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
––– input –––
mysql -h0 -P9306 -e "set global timezone='EST5EDT';"
––– output –––
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
––– input –––
mysql -h0 -P9306 -e "show variables like 'timezone'\G" | grep Value
––– output –––
-         Value: EST5EDT
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
––– input –––
mysql -h0 -P9306 -e "set global timezone='Asia/Kolkata';"
––– output –––
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
––– input –––
mysql -h0 -P9306 -e "show variables like 'timezone'\G" | grep Value
––– output –––
-         Value: Asia/Kolkata
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
––– input –––
mysql -h0 -P9306 -e "select hour(now()) as kolkata_h, minute(now()) as kolkata_m\G" | grep -E "kolkata_h:|kolkata_m:" | awk '{print $2}' | tr '\n' ':' | sed 's/:$//' > /tmp/kolkata_time.txt
––– output –––
+ ERROR 2003 (HY000): Can't connect to MySQL server on '0:9306' (111)
––– input –––
echo "Kolkata (UTC+5:30) time: $(cat /tmp/kolkata_time.txt)"
––– output –––
- #!/Kolkata \(UTC\+5:30\) time: .*/!#
+ Kolkata (UTC+5:30) time:
––– input –––
searchd --stopwait --config /tmp/manticore_tz.conf 2>&1 | grep "successfully sent SIGTERM"
––– output –––
- [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] stop: successfully sent SIGTERM to pid %{NUMBER}
––– input –––
mv /tmp/localtime.backup /etc/localtime
––– output –––
OK
––– input –––
mv /tmp/timezone.backup /etc/timezone
––– output –––
OK
––– input –––
mv /tmp/manticore.conf.backup /etc/manticoresearch/manticore.conf
––– output –––
OK
––– input –––
rm -f /tmp/manticore_tz.conf /tmp/*.txt
––– output –––
OK

@github-actions
Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/bugs/567-fuzzy-search-skips-numeric-words test/clt-tests/bugs/569-fuzzy-single-letter-word-merge test/clt-tests/bugs/599-fuzzy-join-facet-no-such-table test/clt-tests/bugs/fuzzy-preserve-distance-exact-words test/clt-tests/core/boolean-simplify test/clt-tests/core/call-autocomplete-force-bigrams test/clt-tests/core/call-suggest-force-bigrams test/clt-tests/core/query-test-rt-table test/clt-tests/core/test-alter-rebuild-knn test/clt-tests/core/test-alter-rename-http
✅ OK: 9
❌ Failed: 1
⏳ Duration: 124s
👉 Check Action Results for commit 16643bf

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/core/test-alter-rebuild-knn.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 -P9306 -v -h0 -E -e "create table t(f text); insert into t values(1, 'abc'); select * from t;"
––– output –––
OK
––– input –––
mysql -P9306 -v -h0 -E -e "alter table t add column v1 FLOAT_VECTOR knn_type='hnsw' knn_dims='3' hnsw_similarity='COSINE'; insert into t(id,v1) values(2, (0.2,0.2,0.2)); select * from t;"
––– output –––
OK
––– input –––
mysql -P9306 -v -h0 -E -e "flush ramchunk t; select * from t;"
––– output –––
--------------
flush ramchunk t
--------------
- --------------
+ ERROR 1064 (42000) at line 1: table 't': FLUSH RAMCHUNK failed; TABLE UNUSABLE (knn library not loaded)
- select * from t
- --------------
- *************************** 1. row ***************************
- id: 1
-  f: abc
- v1: 0.000000,0.000000,0.000000
- *************************** 2. row ***************************
- id: 2
-  f:
- v1: 0.57735032,0.57735032,0.57735032
––– input –––
mysql -P9306 -v -h0 -E -e "alter table t add column v2 FLOAT_VECTOR knn_type='hnsw' knn_dims='3' hnsw_similarity='L2'; insert into t(id,v2) values(3,(1,1,1)); flush ramchunk t; select * from t"
––– output –––
--------------
alter table t add column v2 FLOAT_VECTOR knn_type='hnsw' knn_dims='3' hnsw_similarity='L2'
--------------
- --------------
+ ERROR 1064 (42000) at line 1: table t: unknown local table in ALTER request
- insert into t(id,v2) values(3,(1,1,1))
- --------------
- --------------
- flush ramchunk t
- --------------
- --------------
- select * from t
- --------------
- *************************** 1. row ***************************
- id: 1
-  f: abc
- v1: 0.000000,0.000000,0.000000
- v2: 0.000000,0.000000,0.000000
- *************************** 2. row ***************************
- id: 3
-  f:
- v1:
- v2: 1.000000,1.000000,1.000000
- *************************** 3. row ***************************
- id: 2
-  f:
- v1: 0.57735032,0.57735032,0.57735032
- v2: 0.000000,0.000000,0.000000
––– input –––
stdbuf -oL searchd --stopwait > /dev/null
––– output –––
OK
––– input –––
rm -fr /var/lib/manticore/t/*.spknn
––– output –––
OK
––– 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 -P9306 -h0 -v -E -e "select * from t where knn(v2, 10, (0.5,0.5,0.5))"
––– output –––
--------------
select * from t where knn(v2, 10, (0.5,0.5,0.5))
--------------
- ERROR 1064 (42000) at line 1: table t: KNN index not loaded
+ ERROR 1064 (42000) at line 1: unknown local table(s) 't' in search request
––– input –––
mysql -P9306 -h0 -v -E -e "alter table t rebuild knn; select *, knn_dist() dist from t where knn(v2, 10, (0.5,0.5,0.5)) order by dist asc, id asc"
––– output –––
--------------
alter table t rebuild knn
--------------
- --------------
+ ERROR 1064 (42000) at line 1: table t: unknown local table in ALTER request
- select *, knn_dist() dist from t where knn(v2, 10, (0.5,0.5,0.5)) order by dist asc, id asc
- --------------
- *************************** 1. row ***************************
-        id: 3
-         f:
-        v1:
-        v2: 1.000000,1.000000,1.000000
- @knn_dist: 0.750000
-      dist: 0.750000
- *************************** 2. row ***************************
-        id: 2
-         f:
-        v1: 0.57735032,0.57735032,0.57735032
-        v2: 0.000000,0.000000,0.000000
- @knn_dist: 0.750000
-      dist: 0.750000
- *************************** 3. row ***************************
-        id: 1
-         f: abc
-        v1: 0.000000,0.000000,0.000000
-        v2: 0.000000,0.000000,0.000000
- @knn_dist: 0.750000
-      dist: 0.750000

@github-actions
Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/http-interface/show-version-trailing-semicolon test/clt-tests/http-interface/sql-endpoint test/clt-tests/http-interface/sql-mode-raw-endpoint test/clt-tests/http-interface/test-concurrent-requests-to-buddy test/clt-tests/http-interface/test-content-type-header-daemon-only test/clt-tests/http-interface/test-content-type-header-with-buddy test/clt-tests/http-interface/test-distributed-inserts test/clt-tests/http-interface/test-fuzzy-search-sql-endpoint test/clt-tests/http-interface/test-inserts test/clt-tests/http-interface/test-manticore-handling-id
✅ OK: 6
❌ Failed: 4
⏳ Duration: 85s
👉 Check Action Results for commit 16643bf

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/http-interface/show-version-trailing-semicolon.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 t (id INT, value TEXT); INSERT INTO t VALUES (1, 'example'), (2, 'test');"
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/cli?show%20version" | awk '!/row.*in set/'|grep -v "\-\-\-"|grep -v Component; echo
––– output –––
- | Daemon     | %{VERSION} #!/\s*/!#|
+ | Daemon    | 0.0.0 16643bfc1@26041116          |
- | Columnar   | columnar %{VERSION} #!/\s*/!#|
+ | Columnar  | columnar 13.0.0 e60b083@26032708  |
- | Secondary  | secondary %{VERSION} #!/\s*/!#|
+ | Secondary | secondary 13.0.0 e60b083@26032708 |
- | Knn        | knn %{VERSION} #!/\s*/!#|
+ | Buddy     | buddy v3.44.2-g97dbd0             |
- | Embeddings | embeddings %{VERSION} #!/\s*/!#|
- | Buddy      | buddy %{VERSION} #!/\s*/!#|
––– input –––
curl -s "http://localhost:9308/cli_json" -d "show version"; echo
––– output –––
- [{"total":%{NUMBER},"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"%{VERSION}"},{"Component":"Columnar","Version":"columnar %{VERSION}"},{"Component":"Secondary","Version":"secondary %{VERSION}"},{"Component":"Knn","Version":"knn %{VERSION}"},{"Component":"Embeddings","Version":"embeddings %{VERSION}"},{"Component":"Buddy","Version":"buddy %{VERSION}"}]}]
+ [{"total":4,"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"0.0.0 16643bfc1@26041116"},{"Component":"Columnar","Version":"columnar 13.0.0 e60b083@26032708"},{"Component":"Secondary","Version":"secondary 13.0.0 e60b083@26032708"},{"Component":"Buddy","Version":"buddy v3.44.2-g97dbd0"}]}]
––– input –––
curl -s "http://localhost:9308/sql?mode=raw" -d "show version"; echo
––– output –––
- [{"total":%{NUMBER},"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"%{VERSION}"},{"Component":"Columnar","Version":"columnar %{VERSION}"},{"Component":"Secondary","Version":"secondary %{VERSION}"},{"Component":"Knn","Version":"knn %{VERSION}"},{"Component":"Embeddings","Version":"embeddings %{VERSION}"},{"Component":"Buddy","Version":"buddy %{VERSION}"}]}]
+ [{"total":4,"error":"","warning":"","columns":[{"Component":{"type":"string"}},{"Version":{"type":"string"}}],"data":[{"Component":"Daemon","Version":"0.0.0 16643bfc1@26041116"},{"Component":"Columnar","Version":"columnar 13.0.0 e60b083@26032708"},{"Component":"Secondary","Version":"secondary 13.0.0 e60b083@26032708"},{"Component":"Buddy","Version":"buddy v3.44.2-g97dbd0"}]}]
test/clt-tests/http-interface/test-distributed-inserts.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 –––
apt-get install -y jq > /dev/null; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS test2;"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test2 (
  id BIGINT,
  model TEXT,
  storage_capacity INTEGER,
  color STRING,
  release_year INTEGER,
  price FLOAT,
  discounted_price FLOAT,
  sold BOOL,
  date_added TIMESTAMP,
  product_codes MULTI,
  values MULTI64,
  additional_info JSON,
  vector FLOAT_VECTOR
    knn_type='hnsw'
    knn_dims='4'
    hnsw_similarity='l2'
) shards='3' rf='1';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Waiting timeout exceeded.
+ 1
––– input –––
mysql -P9306 -h0 -e "show tables;"
––– output –––
- +-------+-------------+
- | Table | Type        |
- +-------+-------------+
- | test2 | distributed |
- +-------+-------------+
––– input –––
mysql -P9306 -h0 -e "DESCRIBE test2;"
––– output –––
- +------------------+--------------+----------------+
+ ERROR 1064 (42000) at line 1: no such table 'test2'
- | Field            | Type         | Properties     |
- +------------------+--------------+----------------+
- | id               | bigint       |                |
- | model            | text         | indexed stored |
- | storage_capacity | uint         |                |
- | color            | string       |                |
- | release_year     | uint         |                |
- | price            | float        |                |
- | discounted_price | float        |                |
- | sold             | bool         |                |
- | date_added       | timestamp    |                |
- | product_codes    | mva          |                |
- | values           | mva64        |                |
- | additional_info  | json         |                |
- | vector           | float_vector | knn            |
- +------------------+--------------+----------------+
––– input –––
curl -s -X POST http://localhost:9308/insert -d '{
  "table": "test2",
  "id": 1,
  "doc": {
    "model": "iPhone 13 Pro",
    "storage_capacity": 256,
    "color": "silver",
    "release_year": 2021,
    "price": 1099.99,
    "discounted_price": 989.99,
    "sold": 1,
    "date_added": 1591362342000,
    "product_codes": [1,2,3],
    "values": [523456764345678976,98765409877866654098,1109876543450987650987],
    "additional_info": {"features": ["ProMotion display", "A15 Bionic chip", "Ceramic Shield front cover"]},
    "vector": [0.773448,0.312478,0.137971,0.459821]
  }
}' | jq '.created'
––– output –––
OK
––– input –––
curl -s -X POST http://localhost:9308/insert -d '{
  "table": "test2",
  "id": 2,
  "doc": {
    "model": "Galaxy S21 Ultra",
    "storage_capacity": 128,
    "color": "black",
    "release_year": 2021,
    "price": 1199.99,
    "discounted_price": 1099.99,
    "sold": 1,
    "date_added": 1609459200000,
    "product_codes": [4,5,6],
    "values": [1234567890123456789,9876543210987654321],
    "additional_info": {"features": ["Dynamic AMOLED 2X", "Exynos 2100", "108MP camera"]},
    "vector": [0.5,0.4,0.3,0.2]
  }
}' | jq '.created'
––– output –––
OK
––– input –––
curl -s -X POST http://localhost:9308/insert -d '{
  "table": "test2",
  "id": 3,
  "doc": {
    "model": "Pixel 6",
    "storage_capacity": 128,
    "color": "white",
    "release_year": 2021,
    "price": 599.99,
    "discounted_price": 549.99,
    "sold": false,
    "date_added": 1630454400000,
    "product_codes": [7,8,9],
    "values": [987654321987654321,123456789123456789],
    "additional_info": {"features": ["Smooth display", "Google Tensor chip", "AI-powered camera"]},
    "vector": [0.8,0.6,0.4,0.2]
  }
}' | jq '.created'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test2 order by id asc;"
––– output –––
- +------+------------------+------------------+--------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+--------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------+
- | id   | model            | storage_capacity | color  | release_year | price       | discounted_price | sold | date_added | product_codes | values                                | additional_info                                                                   | vector                              |
+ | id   | model            | color  | storage_capacity | release_year | price       | discounted_price | sold | date_added    | product_codes | values                                                                         | additional_info                                                                   | vector                                |
- +------+------------------+------------------+--------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+--------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------+
- |    1 | iPhone 13 Pro    |              256 | silver |         2021 | 1099.989990 |       989.989990 |    1 | 2224442480 | 1,2,3         | 523456764345678976                    | {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]} | 0.773448,0.312478,0.137971,0.459821 |
+ |    1 | iPhone 13 Pro    | silver |              256 |         2021 | 1099.989990 |       989.989990 |    1 | 1591362342000 | 1,2,3         | [523456764345678976,98765409877866659840.000000,1109876543450987626496.000000] | {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]} | [0.773448,0.312478,0.137971,0.459821] |
- |    2 | Galaxy S21 Ultra |              128 | black  |         2021 | 1199.989990 |      1099.989990 |    1 | 3141431296 | 4,5,6         | 1234567890123456789                   | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}                   | 0.500000,0.400000,0.300000,0.200000 |
+ |    2 | Galaxy S21 Ultra | black  |              128 |         2021 | 1199.989990 |      1099.989990 |    1 | 1609459200000 | 4,5,6         | [1234567890123456789,9876543210987655168.000000]                               | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}                   | [0.500000,0.400000,0.300000,0.200000] |
- |    3 | Pixel 6          |              128 | white  |         2021 |  599.989990 |       549.989990 |    0 | 2661794816 | 7,8,9         | 123456789123456789,987654321987654321 | {"features":["Smooth display","Google Tensor chip","AI-powered camera"]}          | 0.800000,0.600000,0.400000,0.200000 |
+ |    3 | Pixel 6          | white  |              128 |         2021 |  599.989990 |       549.989990 |    0 | 1630454400000 | 7,8,9         | [987654321987654321,123456789123456789]                                        | {"features":["Smooth display","Google Tensor chip","AI-powered camera"]}          | [0.800000,0.600000,0.400000,0.200000] |
- +------+------------------+------------------+--------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+--------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------+
––– input –––
curl -s -X POST http://localhost:9308/replace -d '{
  "table": "test2",
  "id": 1,
  "doc": {
    "model": "Updated Model",
    "storage_capacity": 512,
    "color": "black",
    "release_year": 2022,
    "price": 1399.99,
    "discounted_price": 1299.99,
    "sold": false,
    "date_added": 1630454400000,
    "product_codes": [10,11,12],
    "values": [987654321987654321,123456789123456789],
    "additional_info": {"features": ["New feature 1","New feature 2"]},
    "vector": [0.7,0.8,0.9,1.0]
  }
}' | jq '.result'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test2 order by id asc;"
––– output –––
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+--------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+--------------------------------------------------------------------------+---------------------------------------+
- | id   | model            | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values                                | additional_info                                                          | vector                              |
+ | id   | model            | color | storage_capacity | release_year | price       | discounted_price | sold | date_added    | product_codes | values                                           | additional_info                                                          | vector                                |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+--------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+--------------------------------------------------------------------------+---------------------------------------+
- |    1 | Updated Model    |              512 | black |         2022 | 1399.989990 |      1299.989990 |    0 | 2661794816 | 10,11,12      | 123456789123456789,987654321987654321 | {"features":["New feature 1","New feature 2"]}                           | 0.700000,0.800000,0.900000,1.000000 |
+ |    1 | Updated Model    | black |              512 |         2022 | 1399.989990 |      1299.989990 |    0 | 1630454400000 | 10,11,12      | [987654321987654321,123456789123456789]          | {"features":["New feature 1","New feature 2"]}                           | [0.700000,0.800000,0.900000,1]        |
- |    2 | Galaxy S21 Ultra |              128 | black |         2021 | 1199.989990 |      1099.989990 |    1 | 3141431296 | 4,5,6         | 1234567890123456789                   | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}          | 0.500000,0.400000,0.300000,0.200000 |
+ |    2 | Galaxy S21 Ultra | black |              128 |         2021 | 1199.989990 |      1099.989990 |    1 | 1609459200000 | 4,5,6         | [1234567890123456789,9876543210987655168.000000] | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}          | [0.500000,0.400000,0.300000,0.200000] |
- |    3 | Pixel 6          |              128 | white |         2021 |  599.989990 |       549.989990 |    0 | 2661794816 | 7,8,9         | 123456789123456789,987654321987654321 | {"features":["Smooth display","Google Tensor chip","AI-powered camera"]} | 0.800000,0.600000,0.400000,0.200000 |
+ |    3 | Pixel 6          | white |              128 |         2021 |  599.989990 |       549.989990 |    0 | 1630454400000 | 7,8,9         | [987654321987654321,123456789123456789]          | {"features":["Smooth display","Google Tensor chip","AI-powered camera"]} | [0.800000,0.600000,0.400000,0.200000] |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+--------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+--------------------------------------------------------------------------+---------------------------------------+
––– input –––
curl -s -X POST http://localhost:9308/update -d '{
  "table": "test2",
  "id": 2,
  "doc": {
    "price": 1099.99,
    "discounted_price": 999.99
  }
}' | jq '.result'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test2 order by id asc;"
––– output –––
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+--------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+--------------------------------------------------------------------------+---------------------------------------+
- | id   | model            | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values                                | additional_info                                                          | vector                              |
+ | id   | model            | color | storage_capacity | release_year | price       | discounted_price | sold | date_added    | product_codes | values                                           | additional_info                                                          | vector                                |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+--------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+--------------------------------------------------------------------------+---------------------------------------+
- |    1 | Updated Model    |              512 | black |         2022 | 1399.989990 |      1299.989990 |    0 | 2661794816 | 10,11,12      | 123456789123456789,987654321987654321 | {"features":["New feature 1","New feature 2"]}                           | 0.700000,0.800000,0.900000,1.000000 |
+ |    1 | Updated Model    | black |              512 |         2022 | 1399.989990 |      1299.989990 |    0 | 1630454400000 | 10,11,12      | [987654321987654321,123456789123456789]          | {"features":["New feature 1","New feature 2"]}                           | [0.700000,0.800000,0.900000,1]        |
- |    2 | Galaxy S21 Ultra |              128 | black |         2021 | 1099.989990 |       999.989990 |    1 | 3141431296 | 4,5,6         | 1234567890123456789                   | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}          | 0.500000,0.400000,0.300000,0.200000 |
+ |    2 | Galaxy S21 Ultra | black |              128 |         2021 | 1099.989990 |       999.989990 |    1 | 1609459200000 | 4,5,6         | [1234567890123456789,9876543210987655168.000000] | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}          | [0.500000,0.400000,0.300000,0.200000] |
- |    3 | Pixel 6          |              128 | white |         2021 |  599.989990 |       549.989990 |    0 | 2661794816 | 7,8,9         | 123456789123456789,987654321987654321 | {"features":["Smooth display","Google Tensor chip","AI-powered camera"]} | 0.800000,0.600000,0.400000,0.200000 |
+ |    3 | Pixel 6          | white |              128 |         2021 |  599.989990 |       549.989990 |    0 | 1630454400000 | 7,8,9         | [987654321987654321,123456789123456789]          | {"features":["Smooth display","Google Tensor chip","AI-powered camera"]} | [0.800000,0.600000,0.400000,0.200000] |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+--------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+--------------------------------------------------------------------------+---------------------------------------+
––– input –––
curl -s -X POST http://localhost:9308/update -d '{
  "table": "test2",
  "id": 2,
  "doc": {
    "price": 1099.99,
    "discounted_price": 999.99
  }
}' | jq '.result'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test2 order by id asc;"
––– output –––
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+--------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+--------------------------------------------------------------------------+---------------------------------------+
- | id   | model            | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values                                | additional_info                                                          | vector                              |
+ | id   | model            | color | storage_capacity | release_year | price       | discounted_price | sold | date_added    | product_codes | values                                           | additional_info                                                          | vector                                |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+--------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+--------------------------------------------------------------------------+---------------------------------------+
- |    1 | Updated Model    |              512 | black |         2022 | 1399.989990 |      1299.989990 |    0 | 2661794816 | 10,11,12      | 123456789123456789,987654321987654321 | {"features":["New feature 1","New feature 2"]}                           | 0.700000,0.800000,0.900000,1.000000 |
+ |    1 | Updated Model    | black |              512 |         2022 | 1399.989990 |      1299.989990 |    0 | 1630454400000 | 10,11,12      | [987654321987654321,123456789123456789]          | {"features":["New feature 1","New feature 2"]}                           | [0.700000,0.800000,0.900000,1]        |
- |    2 | Galaxy S21 Ultra |              128 | black |         2021 | 1099.989990 |       999.989990 |    1 | 3141431296 | 4,5,6         | 1234567890123456789                   | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}          | 0.500000,0.400000,0.300000,0.200000 |
+ |    2 | Galaxy S21 Ultra | black |              128 |         2021 | 1099.989990 |       999.989990 |    1 | 1609459200000 | 4,5,6         | [1234567890123456789,9876543210987655168.000000] | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}          | [0.500000,0.400000,0.300000,0.200000] |
- |    3 | Pixel 6          |              128 | white |         2021 |  599.989990 |       549.989990 |    0 | 2661794816 | 7,8,9         | 123456789123456789,987654321987654321 | {"features":["Smooth display","Google Tensor chip","AI-powered camera"]} | 0.800000,0.600000,0.400000,0.200000 |
+ |    3 | Pixel 6          | white |              128 |         2021 |  599.989990 |       549.989990 |    0 | 1630454400000 | 7,8,9         | [987654321987654321,123456789123456789]          | {"features":["Smooth display","Google Tensor chip","AI-powered camera"]} | [0.800000,0.600000,0.400000,0.200000] |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+--------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+--------------------------------------------------------------------------+---------------------------------------+
––– input –––
curl -s -X POST http://localhost:9308/delete -d '{
  "table": "test2",
  "id": 3
}' | jq '.result'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test2 order by id asc;"
––– output –––
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+-----------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+-----------------------------------------------------------------+---------------------------------------+
- | id   | model            | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values                                | additional_info                                                 | vector                              |
+ | id   | model            | color | storage_capacity | release_year | price       | discounted_price | sold | date_added    | product_codes | values                                           | additional_info                                                 | vector                                |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+-----------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+-----------------------------------------------------------------+---------------------------------------+
- |    1 | Updated Model    |              512 | black |         2022 | 1399.989990 |      1299.989990 |    0 | 2661794816 | 10,11,12      | 123456789123456789,987654321987654321 | {"features":["New feature 1","New feature 2"]}                  | 0.700000,0.800000,0.900000,1.000000 |
+ |    1 | Updated Model    | black |              512 |         2022 | 1399.989990 |      1299.989990 |    0 | 1630454400000 | 10,11,12      | [987654321987654321,123456789123456789]          | {"features":["New feature 1","New feature 2"]}                  | [0.700000,0.800000,0.900000,1]        |
- |    2 | Galaxy S21 Ultra |              128 | black |         2021 | 1099.989990 |       999.989990 |    1 | 3141431296 | 4,5,6         | 1234567890123456789                   | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]} | 0.500000,0.400000,0.300000,0.200000 |
+ |    2 | Galaxy S21 Ultra | black |              128 |         2021 | 1099.989990 |       999.989990 |    1 | 1609459200000 | 4,5,6         | [1234567890123456789,9876543210987655168.000000] | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]} | [0.500000,0.400000,0.300000,0.200000] |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+-----------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+-----------------------------------------------------------------+---------------------------------------+
––– input –––
curl -s -X POST http://localhost:9308/delete -d '{
  "table": "test2",
  "id": 3
}' | jq '.result'
––– output –––
OK
––– input –––
bulk_insert=$(mktemp); echo -e '{ "index": { "_index": "test2", "_id": 4 } }\n{ "id": 4, "model": "iPhone 14", "storage_capacity": 256, "color": "black", "release_year": 2022, "price": 999.99, "discounted_price": 899.99, "sold": 1, "date_added": 1661990400, "product_codes": [19, 20, 21], "values": [1234567890123456789, 9876543210987654321], "additional_info": { "features": ["A16 Bionic", "Dynamic Island"] }, "vector": [0.1, 0.2, 0.3, 0.4] }\n{ "index": { "_index": "test2", "_id": 5 } }\n{ "id": 5, "model": "Pixel 7", "storage_capacity": 128, "color": "white", "release_year": 2022, "price": 699.99, "discounted_price": 649.99, "sold": 0, "date_added": 1661990400, "product_codes": [16, 17, 18], "values": [223344556677889900, 998877665544332211], "additional_info": { "features": ["Tensor G2", "120Hz display"] }, "vector": [0.4, 0.5, 0.6, 0.7] }' > "$bulk_insert"
––– output –––
OK
––– input –––
curl -s -H 'Content-type: application/x-ndjson' --data-binary @"$bulk_insert" http://localhost:9308/_bulk | jq '.items[] | {index: .index.result, id: .index._id}'
––– output –––
{
  "index": "created",
-   "id": 4
+   "id": "4"
}
{
  "index": "created",
-   "id": 5
+   "id": "5"
}
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test2 order by id asc;"
––– output –––
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+-----------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+-----------------------------------------------------------------+---------------------------------------+
- | id   | model            | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values                                | additional_info                                                 | vector                              |
+ | id   | model            | color | storage_capacity | release_year | price       | discounted_price | sold | date_added    | product_codes | values                                           | additional_info                                                 | vector                                |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+-----------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+-----------------------------------------------------------------+---------------------------------------+
- |    1 | Updated Model    |              512 | black |         2022 | 1399.989990 |      1299.989990 |    0 | 2661794816 | 10,11,12      | 123456789123456789,987654321987654321 | {"features":["New feature 1","New feature 2"]}                  | 0.700000,0.800000,0.900000,1.000000 |
+ |    1 | Updated Model    | black |              512 |         2022 | 1399.989990 |      1299.989990 |    0 | 1630454400000 | 10,11,12      | [987654321987654321,123456789123456789]          | {"features":["New feature 1","New feature 2"]}                  | [0.700000,0.800000,0.900000,1]        |
- |    2 | Galaxy S21 Ultra |              128 | black |         2021 | 1099.989990 |       999.989990 |    1 | 3141431296 | 4,5,6         | 1234567890123456789                   | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]} | 0.500000,0.400000,0.300000,0.200000 |
+ |    2 | Galaxy S21 Ultra | black |              128 |         2021 | 1099.989990 |       999.989990 |    1 | 1609459200000 | 4,5,6         | [1234567890123456789,9876543210987655168.000000] | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]} | [0.500000,0.400000,0.300000,0.200000] |
- |    4 | iPhone 14        |              256 | black |         2022 |  999.989990 |       899.989990 |    1 | 1661990400 | 19,20,21      | 1234567890123456789                   | {"features":["A16 Bionic","Dynamic Island"]}                    | 0.100000,0.200000,0.300000,0.400000 |
+ |    4 | iPhone 14        | black |              256 |         2022 |  999.989990 |       899.989990 |    1 |    1661990400 | 19,20,21      | [1234567890123456789,9876543210987655168.000000] | {"features":["A16 Bionic","Dynamic Island"]}                    | [0.100000,0.200000,0.300000,0.400000] |
- |    5 | Pixel 7          |              128 | white |         2022 |  699.989990 |       649.989990 |    0 | 1661990400 | 16,17,18      | 223344556677889900,998877665544332211 | {"features":["Tensor G2","120Hz display"]}                      | 0.400000,0.500000,0.600000,0.700000 |
+ |    5 | Pixel 7          | white |              128 |         2022 |  699.989990 |       649.989990 |    0 |    1661990400 | 16,17,18      | [223344556677889900,998877665544332211]          | {"features":["Tensor G2","120Hz display"]}                      | [0.400000,0.500000,0.600000,0.700000] |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+-----------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+-----------------------------------------------------------------+---------------------------------------+
––– input –––
bulk_insert=$(mktemp); echo -e '{"index":{"_index":"test2","_id":6}}\n{"id":6,"model":"OnePlus 10","storage_capacity":256,"color":"blue","release_year":2022,"price":899.99,"discounted_price":849.99,"sold":0,"date_added":1661990400,"product_codes":[22,23,24],"values":[111222333444555666,777888999000111222],"additional_info":{"features":["Snapdragon 8","OxygenOS"]},"vector":[0.2,0.3,0.4,0.5]}\n{"index":{"_index":"test2","_id":7}}\n{"id":7,"model":"Xiaomi 12","storage_capacity":128,"color":"gray","release_year":2022,"price":799.99,"discounted_price":749.99,"sold":1,"date_added":1661990400,"product_codes":[25,26,27],"values":[333444555666777888,999000111222333444],"additional_info":{"features":["MIUI 13","5G"]},"vector":[0.3,0.4,0.5,0.6]}' > "$bulk_insert"; echo $?
––– output –––
OK
––– input –––
curl -s -H 'Content-type: application/x-ndjson' --data-binary @"$bulk_insert" http://localhost:9308/_bulk | jq '.items[] | {index: .index.result, id: .index._id}'
––– output –––
{
  "index": "created",
-   "id": 6
+   "id": "6"
}
{
  "index": "created",
-   "id": 7
+   "id": "7"
}
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test2 order by id asc;"
––– output –––
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+-----------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+-----------------------------------------------------------------+---------------------------------------+
- | id   | model            | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values                                | additional_info                                                 | vector                              |
+ | id   | model            | color | storage_capacity | release_year | price       | discounted_price | sold | date_added    | product_codes | values                                           | additional_info                                                 | vector                                |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+-----------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+-----------------------------------------------------------------+---------------------------------------+
- |    1 | Updated Model    |              512 | black |         2022 | 1399.989990 |      1299.989990 |    0 | 2661794816 | 10,11,12      | 123456789123456789,987654321987654321 | {"features":["New feature 1","New feature 2"]}                  | 0.700000,0.800000,0.900000,1.000000 |
+ |    1 | Updated Model    | black |              512 |         2022 | 1399.989990 |      1299.989990 |    0 | 1630454400000 | 10,11,12      | [987654321987654321,123456789123456789]          | {"features":["New feature 1","New feature 2"]}                  | [0.700000,0.800000,0.900000,1]        |
- |    2 | Galaxy S21 Ultra |              128 | black |         2021 | 1099.989990 |       999.989990 |    1 | 3141431296 | 4,5,6         | 1234567890123456789                   | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]} | 0.500000,0.400000,0.300000,0.200000 |
+ |    2 | Galaxy S21 Ultra | black |              128 |         2021 | 1099.989990 |       999.989990 |    1 | 1609459200000 | 4,5,6         | [1234567890123456789,9876543210987655168.000000] | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]} | [0.500000,0.400000,0.300000,0.200000] |
- |    4 | iPhone 14        |              256 | black |         2022 |  999.989990 |       899.989990 |    1 | 1661990400 | 19,20,21      | 1234567890123456789                   | {"features":["A16 Bionic","Dynamic Island"]}                    | 0.100000,0.200000,0.300000,0.400000 |
+ |    4 | iPhone 14        | black |              256 |         2022 |  999.989990 |       899.989990 |    1 |    1661990400 | 19,20,21      | [1234567890123456789,9876543210987655168.000000] | {"features":["A16 Bionic","Dynamic Island"]}                    | [0.100000,0.200000,0.300000,0.400000] |
- |    5 | Pixel 7          |              128 | white |         2022 |  699.989990 |       649.989990 |    0 | 1661990400 | 16,17,18      | 223344556677889900,998877665544332211 | {"features":["Tensor G2","120Hz display"]}                      | 0.400000,0.500000,0.600000,0.700000 |
+ |    5 | Pixel 7          | white |              128 |         2022 |  699.989990 |       649.989990 |    0 |    1661990400 | 16,17,18      | [223344556677889900,998877665544332211]          | {"features":["Tensor G2","120Hz display"]}                      | [0.400000,0.500000,0.600000,0.700000] |
- |    6 | OnePlus 10       |              256 | blue  |         2022 |  899.989990 |       849.989990 |    0 | 1661990400 | 22,23,24      | 111222333444555666,777888999000111222 | {"features":["Snapdragon 8","OxygenOS"]}                        | 0.200000,0.300000,0.400000,0.500000 |
+ |    6 | OnePlus 10       | blue  |              256 |         2022 |  899.989990 |       849.989990 |    0 |    1661990400 | 22,23,24      | [111222333444555666,777888999000111222]          | {"features":["Snapdragon 8","OxygenOS"]}                        | [0.200000,0.300000,0.400000,0.500000] |
- |    7 | Xiaomi 12        |              128 | gray  |         2022 |  799.989990 |       749.989990 |    1 | 1661990400 | 25,26,27      | 333444555666777888,999000111222333444 | {"features":["MIUI 13","5G"]}                                   | 0.300000,0.400000,0.500000,0.600000 |
+ |    7 | Xiaomi 12        | gray  |              128 |         2022 |  799.989990 |       749.989990 |    1 |    1661990400 | 25,26,27      | [333444555666777888,999000111222333444]          | {"features":["MIUI 13","5G"]}                                   | [0.300000,0.400000,0.500000,0.600000] |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+-----------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+-----------------------------------------------------------------+---------------------------------------+
––– input –––
bulk_update=$(mktemp); echo -e '{"update":{"_index":"test2","_id":6}}\n{"doc":{"price": 799.99, "discounted_price": 749.99}}\n{"update":{"_index":"test2","_id":7}}\n{"doc":{"price": 699.99, "discounted_price": 649.99}}' > "$bulk_update"; echo $?
––– output –––
OK
––– input –––
curl -s -H 'Content-type: application/x-ndjson' --data-binary @"$bulk_update" http://localhost:9308/_bulk | jq '.items[] | {update: .update.result, id: .update._id}'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test2 order by id asc;"
––– output –––
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+-----------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+-----------------------------------------------------------------+---------------------------------------+
- | id   | model            | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values                                | additional_info                                                 | vector                              |
+ | id   | model            | color | storage_capacity | release_year | price       | discounted_price | sold | date_added    | product_codes | values                                           | additional_info                                                 | vector                                |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+-----------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+-----------------------------------------------------------------+---------------------------------------+
- |    1 | Updated Model    |              512 | black |         2022 | 1399.989990 |      1299.989990 |    0 | 2661794816 | 10,11,12      | 123456789123456789,987654321987654321 | {"features":["New feature 1","New feature 2"]}                  | 0.700000,0.800000,0.900000,1.000000 |
+ |    1 | Updated Model    | black |              512 |         2022 | 1399.989990 |      1299.989990 |    0 | 1630454400000 | 10,11,12      | [987654321987654321,123456789123456789]          | {"features":["New feature 1","New feature 2"]}                  | [0.700000,0.800000,0.900000,1]        |
- |    2 | Galaxy S21 Ultra |              128 | black |         2021 | 1099.989990 |       999.989990 |    1 | 3141431296 | 4,5,6         | 1234567890123456789                   | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]} | 0.500000,0.400000,0.300000,0.200000 |
+ |    2 | Galaxy S21 Ultra | black |              128 |         2021 | 1099.989990 |       999.989990 |    1 | 1609459200000 | 4,5,6         | [1234567890123456789,9876543210987655168.000000] | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]} | [0.500000,0.400000,0.300000,0.200000] |
- |    4 | iPhone 14        |              256 | black |         2022 |  999.989990 |       899.989990 |    1 | 1661990400 | 19,20,21      | 1234567890123456789                   | {"features":["A16 Bionic","Dynamic Island"]}                    | 0.100000,0.200000,0.300000,0.400000 |
+ |    4 | iPhone 14        | black |              256 |         2022 |  999.989990 |       899.989990 |    1 |    1661990400 | 19,20,21      | [1234567890123456789,9876543210987655168.000000] | {"features":["A16 Bionic","Dynamic Island"]}                    | [0.100000,0.200000,0.300000,0.400000] |
- |    5 | Pixel 7          |              128 | white |         2022 |  699.989990 |       649.989990 |    0 | 1661990400 | 16,17,18      | 223344556677889900,998877665544332211 | {"features":["Tensor G2","120Hz display"]}                      | 0.400000,0.500000,0.600000,0.700000 |
+ |    5 | Pixel 7          | white |              128 |         2022 |  699.989990 |       649.989990 |    0 |    1661990400 | 16,17,18      | [223344556677889900,998877665544332211]          | {"features":["Tensor G2","120Hz display"]}                      | [0.400000,0.500000,0.600000,0.700000] |
- |    6 | OnePlus 10       |              256 | blue  |         2022 |  799.989990 |       749.989990 |    0 | 1661990400 | 22,23,24      | 111222333444555666,777888999000111222 | {"features":["Snapdragon 8","OxygenOS"]}                        | 0.200000,0.300000,0.400000,0.500000 |
+ |    6 | OnePlus 10       | blue  |              256 |         2022 |  799.989990 |       749.989990 |    0 |    1661990400 | 22,23,24      | [111222333444555666,777888999000111222]          | {"features":["Snapdragon 8","OxygenOS"]}                        | [0.200000,0.300000,0.400000,0.500000] |
- |    7 | Xiaomi 12        |              128 | gray  |         2022 |  699.989990 |       649.989990 |    1 | 1661990400 | 25,26,27      | 333444555666777888,999000111222333444 | {"features":["MIUI 13","5G"]}                                   | 0.300000,0.400000,0.500000,0.600000 |
+ |    7 | Xiaomi 12        | gray  |              128 |         2022 |  699.989990 |       649.989990 |    1 |    1661990400 | 25,26,27      | [333444555666777888,999000111222333444]          | {"features":["MIUI 13","5G"]}                                   | [0.300000,0.400000,0.500000,0.600000] |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+-----------------------------------------------------------------+-------------------------------------+
+ +------+------------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+-----------------------------------------------------------------+---------------------------------------+
––– input –––
bulk_delete=$(mktemp); echo -e '{"delete":{"_index":"test2","_id":2}}\n{"delete":{"_index":"test2","_id":3}}' > "$bulk_delete"; echo $?
––– output –––
OK
––– input –––
curl -s -H 'Content-type: application/x-ndjson' --data-binary @"$bulk_delete" http://localhost:9308/_bulk | jq '.items[] | {delete: .delete.result, id: .delete._id}'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test2 order by id asc;"
––– output –––
- +------+---------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+------------------------------------------------+-------------------------------------+
+ +------+---------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+------------------------------------------------+---------------------------------------+
- | id   | model         | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values                                | additional_info                                | vector                              |
+ | id   | model         | color | storage_capacity | release_year | price       | discounted_price | sold | date_added    | product_codes | values                                           | additional_info                                | vector                                |
- +------+---------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+------------------------------------------------+-------------------------------------+
+ +------+---------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+------------------------------------------------+---------------------------------------+
- |    1 | Updated Model |              512 | black |         2022 | 1399.989990 |      1299.989990 |    0 | 2661794816 | 10,11,12      | 123456789123456789,987654321987654321 | {"features":["New feature 1","New feature 2"]} | 0.700000,0.800000,0.900000,1.000000 |
+ |    1 | Updated Model | black |              512 |         2022 | 1399.989990 |      1299.989990 |    0 | 1630454400000 | 10,11,12      | [987654321987654321,123456789123456789]          | {"features":["New feature 1","New feature 2"]} | [0.700000,0.800000,0.900000,1]        |
- |    4 | iPhone 14     |              256 | black |         2022 |  999.989990 |       899.989990 |    1 | 1661990400 | 19,20,21      | 1234567890123456789                   | {"features":["A16 Bionic","Dynamic Island"]}   | 0.100000,0.200000,0.300000,0.400000 |
+ |    4 | iPhone 14     | black |              256 |         2022 |  999.989990 |       899.989990 |    1 |    1661990400 | 19,20,21      | [1234567890123456789,9876543210987655168.000000] | {"features":["A16 Bionic","Dynamic Island"]}   | [0.100000,0.200000,0.300000,0.400000] |
- |    5 | Pixel 7       |              128 | white |         2022 |  699.989990 |       649.989990 |    0 | 1661990400 | 16,17,18      | 223344556677889900,998877665544332211 | {"features":["Tensor G2","120Hz display"]}     | 0.400000,0.500000,0.600000,0.700000 |
+ |    5 | Pixel 7       | white |              128 |         2022 |  699.989990 |       649.989990 |    0 |    1661990400 | 16,17,18      | [223344556677889900,998877665544332211]          | {"features":["Tensor G2","120Hz display"]}     | [0.400000,0.500000,0.600000,0.700000] |
- |    6 | OnePlus 10    |              256 | blue  |         2022 |  799.989990 |       749.989990 |    0 | 1661990400 | 22,23,24      | 111222333444555666,777888999000111222 | {"features":["Snapdragon 8","OxygenOS"]}       | 0.200000,0.300000,0.400000,0.500000 |
+ |    6 | OnePlus 10    | blue  |              256 |         2022 |  799.989990 |       749.989990 |    0 |    1661990400 | 22,23,24      | [111222333444555666,777888999000111222]          | {"features":["Snapdragon 8","OxygenOS"]}       | [0.200000,0.300000,0.400000,0.500000] |
- |    7 | Xiaomi 12     |              128 | gray  |         2022 |  699.989990 |       649.989990 |    1 | 1661990400 | 25,26,27      | 333444555666777888,999000111222333444 | {"features":["MIUI 13","5G"]}                  | 0.300000,0.400000,0.500000,0.600000 |
+ |    7 | Xiaomi 12     | gray  |              128 |         2022 |  699.989990 |       649.989990 |    1 |    1661990400 | 25,26,27      | [333444555666777888,999000111222333444]          | {"features":["MIUI 13","5G"]}                  | [0.300000,0.400000,0.500000,0.600000] |
- +------+---------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------------------------+------------------------------------------------+-------------------------------------+
+ +------+---------------+-------+------------------+--------------+-------------+------------------+------+---------------+---------------+--------------------------------------------------+------------------------------------------------+---------------------------------------+
––– input –––
bulk_ops=$(mktemp); echo -e '{"delete":{"_index":"test2","_id":1}}\n{"index":{"_index":"test2","_id":2}}\n{"model":"C","storage_capacity":256,"color":"black","release_year":2023,"price":799.99,"discounted_price":749.99,"sold":0,"date_added":1672531200,"product_codes":[10,11,12],"values":[1234567890123456789,9876543210987654321],"additional_info":{"features":["Feature A","Feature B"]},"vector":[0.5,0.6,0.7,0.8]}\n{"index":{"_index":"test2","_id":17}}\n{"model":"Updated B","storage_capacity":128,"color":"blue","release_year":2024,"price":899.99,"discounted_price":849.99,"sold":1,"date_added":1672531200,"product_codes":[40,41,42],"values":[222222222222222222,333333333333333333],"additional_info":{"features":["Feature X","Feature Y"]},"vector":[0.1,0.2,0.3,0.4]}\n{"update":{"_index":"test2","_id":6}}\n{"doc":{"price":749.99,"discounted_price":699.99}}' > "$bulk_ops"; echo $?
––– output –––
OK
––– input –––
curl -s -H 'Content-type: application/x-ndjson' --data-binary @"$bulk_ops" http://localhost:9308/_bulk | jq -c '.items[] | {operation: (to_entries | .[0].key), result: (.[].result?), id: (.[]._id?), status: (.[].status?), error: (.[].error?)}'
––– output –––
- {"operation":"delete","result":"deleted","id":1,"status":201,"error":null}
+ {"operation":"delete","result":"deleted","id":"1","status":201,"error":null}
- {"operation":"index","result":"created","id":2,"status":201,"error":null}
+ {"operation":"index","result":"created","id":"2","status":201,"error":null}
- {"operation":"index","result":"created","id":17,"status":201,"error":null}
+ {"operation":"index","result":"created","id":"17","status":201,"error":null}
- {"operation":"update","result":"updated","id":6,"status":201,"error":null}
+ {"operation":"update","result":"updated","id":"6","status":201,"error":null}
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test2 WHERE id = 4;"
––– output –––
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+---------------------+----------------------------------------------+-------------------------------------+
+ +------+-----------+-------+------------------+--------------+------------+------------------+------+------------+---------------+--------------------------------------------------+----------------------------------------------+---------------------------------------+
- | id   | model     | storage_capacity | color | release_year | price      | discounted_price | sold | date_added | product_codes | values              | additional_info                              | vector                              |
+ | id   | model     | color | storage_capacity | release_year | price      | discounted_price | sold | date_added | product_codes | values                                           | additional_info                              | vector                                |
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+---------------------+----------------------------------------------+-------------------------------------+
+ +------+-----------+-------+------------------+--------------+------------+------------------+------+------------+---------------+--------------------------------------------------+----------------------------------------------+---------------------------------------+
- |    4 | iPhone 14 |              256 | black |         2022 | 999.989990 |       899.989990 |    1 | 1661990400 | 19,20,21      | 1234567890123456789 | {"features":["A16 Bionic","Dynamic Island"]} | 0.100000,0.200000,0.300000,0.400000 |
+ |    4 | iPhone 14 | black |              256 |         2022 | 999.989990 |       899.989990 |    1 | 1661990400 | 19,20,21      | [1234567890123456789,9876543210987655168.000000] | {"features":["A16 Bionic","Dynamic Island"]} | [0.100000,0.200000,0.300000,0.400000] |
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+---------------------+----------------------------------------------+-------------------------------------+
+ +------+-----------+-------+------------------+--------------+------------+------------------+------+------------+---------------+--------------------------------------------------+----------------------------------------------+---------------------------------------+
––– input –––
mysql -h0 -P9306 -e "DELETE FROM test2 WHERE id BETWEEN 11 AND 20;"; echo $?
––– output –––
OK
––– input –––
curl -s -X POST http://localhost:9308/insert -d '{
  "table": "test2",
  "id": 4,
  "doc": {
    "model": "Updated iPhone 14",
    "storage_capacity": 512,
    "color": "black",
    "release_year": 2022,
    "price": 1299.99,
    "discounted_price": 1199.99,
    "sold": 1,
    "date_added": 1661990400,
    "product_codes": [19,20,21],
    "values": [1234567890123456789,9876543210987654321],
    "additional_info": {"features": ["A16 Bionic","Dynamic Island","Improved camera"]},
    "vector": [0.1,0.2,0.3,0.4]
  }
}' | jq -e '.error' && echo "Duplicate ID test passed!" || echo "Duplicate ID test failed!"
––– output –––
{
  "type": "action_request_validation_exception",
  "reason": "duplicate id '4'",
-   "table": "system.test2_s2",
+   "table": "test2"
-   "index": "test2"
+ }
- }
+ Duplicate ID test passed!
- Duplicate ID test passed!
––– input –––
(for i in {1..10}; do curl -s -X POST http://localhost:9308/insert -d '{
  "table": "test2",
  "id": '$((10 + i))',
  "doc": {
    "model": "Device '$i'",
    "storage_capacity": 64,
    "color": "black",
    "release_year": 2023,
    "price": 499.99,
    "discounted_price": 449.99,
    "sold": "0",
    "date_added": 1672531200,
    "product_codes": [1,2,3],
    "values": [1234567890123456789,9876543210987654321],
    "additional_info": {"features": ["Feature 1","Feature 2"]},
    "vector": [0.1,0.2,0.3,0.4]
  }
}' & done; wait) | jq -s 'map(select(.created == true)) | length == 10' > /dev/null && echo "Parallel insert test passed!" || echo "Parallel insert test failed!"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test2 WHERE id BETWEEN 11 AND 20;"
––– output –––
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+---------------------+----------------------------------------+-------------------------------------+
+ +------+-----------+-------+------------------+--------------+------------+------------------+------+------------+---------------+--------------------------------------------------+----------------------------------------+---------------------------------------+
- | id   | model     | storage_capacity | color | release_year | price      | discounted_price | sold | date_added | product_codes | values              | additional_info                        | vector                              |
+ | id   | model     | color | storage_capacity | release_year | price      | discounted_price | sold | date_added | product_codes | values                                           | additional_info                        | vector                                |
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+---------------------+----------------------------------------+-------------------------------------+
+ +------+-----------+-------+------------------+--------------+------------+------------------+------+------------+---------------+--------------------------------------------------+----------------------------------------+---------------------------------------+
- |   12 | Device 2  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
+ |   14 | Device 4  | black |               64 |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | [1234567890123456789,9876543210987655168.000000] | {"features":["Feature 1","Feature 2"]} | [0.100000,0.200000,0.300000,0.400000] |
- |   13 | Device 3  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
+ |   18 | Device 8  | black |               64 |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | [1234567890123456789,9876543210987655168.000000] | {"features":["Feature 1","Feature 2"]} | [0.100000,0.200000,0.300000,0.400000] |
- |   14 | Device 4  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
+ |   13 | Device 3  | black |               64 |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | [1234567890123456789,9876543210987655168.000000] | {"features":["Feature 1","Feature 2"]} | [0.100000,0.200000,0.300000,0.400000] |
- |   15 | Device 5  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
+ |   11 | Device 1  | black |               64 |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | [1234567890123456789,9876543210987655168.000000] | {"features":["Feature 1","Feature 2"]} | [0.100000,0.200000,0.300000,0.400000] |
- |   16 | Device 6  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
+ |   17 | Device 7  | black |               64 |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | [1234567890123456789,9876543210987655168.000000] | {"features":["Feature 1","Feature 2"]} | [0.100000,0.200000,0.300000,0.400000] |
- |   17 | Device 7  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
+ |   19 | Device 9  | black |               64 |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | [1234567890123456789,9876543210987655168.000000] | {"features":["Feature 1","Feature 2"]} | [0.100000,0.200000,0.300000,0.400000] |
- |   18 | Device 8  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
+ |   20 | Device 10 | black |               64 |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | [1234567890123456789,9876543210987655168.000000] | {"features":["Feature 1","Feature 2"]} | [0.100000,0.200000,0.300000,0.400000] |
- |   19 | Device 9  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
+ |   16 | Device 6  | black |               64 |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | [1234567890123456789,9876543210987655168.000000] | {"features":["Feature 1","Feature 2"]} | [0.100000,0.200000,0.300000,0.400000] |
- |   20 | Device 10 |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
+ |   12 | Device 2  | black |               64 |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | [1234567890123456789,9876543210987655168.000000] | {"features":["Feature 1","Feature 2"]} | [0.100000,0.200000,0.300000,0.400000] |
- |   11 | Device 1  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
+ |   15 | Device 5  | black |               64 |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | [1234567890123456789,9876543210987655168.000000] | {"features":["Feature 1","Feature 2"]} | [0.100000,0.200000,0.300000,0.400000] |
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+---------------------+----------------------------------------+-------------------------------------+
+ +------+-----------+-------+------------------+--------------+------------+------------------+------+------------+---------------+--------------------------------------------------+----------------------------------------+---------------------------------------+
test/clt-tests/http-interface/test-inserts.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 –––
apt-get install -y jq > /dev/null; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS test1;"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE test1 (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: error adding table 'test1': knn library not loaded
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test1 VALUES (1, 'iPhone 13 Pro', 256, 'silver', 2021, 1099.99, 989.99, 1, '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
+ 1
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test1 VALUES (2, 'Galaxy S21 Ultra', 128, 'black', 2021, 1199.99, 1099.99, 0, '1609459200000', (4,5,6), (1234567890123456789, 9876543210987654321), '{\"features\": [\"Dynamic AMOLED 2X\", \"Exynos 2100\", \"108MP camera\"]}', (0.5, 0.4, 0.3, 0.2));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
+ 1
––– input –––
curl -s -X POST http://localhost:9308/insert -d '{"table": "test1", "id": 3, "doc": {"model": "Pixel 6", "storage_capacity": 128, "color": "white", "release_year": 2021, "price": 599.99, "discounted_price": 549.99, "sold": false, "date_added": 1630454400000, "product_codes": [7, 8, 9], "values": [987654321987654321, 123456789123456789], "additional_info": {"features": ["Smooth display", "Google Tensor chip", "AI-powered camera"]}, "vector": [0.8, 0.6, 0.4, 0.2]}}' | jq '.created == true'
––– output –––
- true
+ false
––– input –––
mysql -P9306 -h0 -e "SHOW TABLES LIKE 't_s%';"
––– output –––
OK
––– input –––
mysql -P9306 -h0 -e "select * from test1;"
––– output –––
- +------+------------------+------------------+--------+--------------+-------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
- | id   | model            | storage_capacity | color  | release_year | price       | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                                   | vector                              |
- +------+------------------+------------------+--------+--------------+-------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
- |    2 | Galaxy S21 Ultra |              128 | black  |         2021 | 1199.989990 |      1099.989990 |    0 | 3141431296 | 4,5,6         | 1234567890123456789,9223372036854775807 | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}                   | 0.500000,0.400000,0.300000,0.200000 |
- |    3 | Pixel 6          |              128 | white  |         2021 |  599.989990 |       549.989990 |    0 | 2661794816 | 7,8,9         | 123456789123456789,987654321987654321   | {"features":["Smooth display","Google Tensor chip","AI-powered camera"]}          | 0.800000,0.600000,0.400000,0.200000 |
- |    1 | iPhone 13 Pro    |              256 | silver |         2021 | 1099.989990 |       989.989990 |    1 | 2224442480 | 1,2,3         | 523456764345678976,9223372036854775807  | {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]} | 0.773448,0.312478,0.137971,0.459821 |
- +------+------------------+------------------+--------+--------------+-------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
––– input –––
curl -s -X POST http://localhost:9308/replace -d '{"table": "test1", "id": 1, "doc": {"model": "iPhone 13 Pro Max", "storage_capacity": 512, "color": "gold", "release_year": 2021, "price": 1299.99, "discounted_price": 1199.99, "sold": true, "date_added": 1591362342000, "product_codes": [7, 8, 9], "values": [1234567890123456789, 9876543210987654321], "additional_info": {"features": ["ProMotion display", "A15 Bionic chip", "Improved battery life"]}, "vector": [0.9, 0.8, 0.7, 0.6]}}' | jq '.result'
––– output –––
- "updated"
+ null
––– input –––
mysql -P9306 -h0 -e "select * from test1;"
––– output –––
- +------+-------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+-----------------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | id   | model             | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                              | vector                              |
- +------+-------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+-----------------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- |    3 | Pixel 6           |              128 | white |         2021 |  599.989990 |       549.989990 |    0 | 2661794816 | 7,8,9         | 123456789123456789,987654321987654321   | {"features":["Smooth display","Google Tensor chip","AI-powered camera"]}     | 0.800000,0.600000,0.400000,0.200000 |
- |    1 | iPhone 13 Pro Max |              512 | gold  |         2021 | 1299.989990 |      1199.989990 |    1 | 2224442480 | 7,8,9         | 1234567890123456789                     | {"features":["ProMotion display","A15 Bionic chip","Improved battery life"]} | 0.900000,0.800000,0.700000,0.600000 |
- |    2 | Galaxy S21 Ultra  |              128 | black |         2021 | 1199.989990 |      1099.989990 |    0 | 3141431296 | 4,5,6         | 1234567890123456789,9223372036854775807 | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}              | 0.500000,0.400000,0.300000,0.200000 |
- +------+-------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+-----------------------------------------+------------------------------------------------------------------------------+-------------------------------------+
––– input –––
echo -e '{"index":{"_index":"test1","_id":4}}\n{"id":4,"model":"iPhone 14","storage_capacity":256,"color":"black","release_year":2022,"price":999.99,"discounted_price":899.99,"sold":1,"date_added":1661990400,"product_codes":[19,20,21],"values":[1234567890123456789,9876543210987654321],"additional_info":{"features":["A16 Bionic","Dynamic Island"]},"vector":[0.1,0.2,0.3,0.4]}\n{"index":{"_index":"test1","_id":5}}\n{"id":5,"model":"Pixel 7","storage_capacity":128,"color":"white","release_year":2022,"price":699.99,"discounted_price":649.99,"sold":0,"date_added":1661990400,"product_codes":[16,17,18],"values":[223344556677889900,998877665544332211],"additional_info":{"features":["Tensor G2","120Hz display"]},"vector":[0.4,0.5,0.6,0.7]}' > bulk.json; echo $?
––– output –––
OK
––– input –––
curl -s -H 'Content-type: application/x-ndjson' --data-binary @bulk.json http://localhost:9308/_bulk | jq '.items[] | {index: .index.result, id: .index._id}'
––– output –––
{
-   "index": "created",
+   "index": null,
-   "id": "4"
+   "id": 4
}
{
-   "index": "created",
+   "index": null,
-   "id": "5"
+   "id": 5
}
––– input –––
mysql -P9306 -h0 -e "select * from test1;"
––– output –––
- +------+-------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+-----------------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | id   | model             | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                              | vector                              |
- +------+-------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+-----------------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- |    2 | Galaxy S21 Ultra  |              128 | black |         2021 | 1199.989990 |      1099.989990 |    0 | 3141431296 | 4,5,6         | 1234567890123456789,9223372036854775807 | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}              | 0.500000,0.400000,0.300000,0.200000 |
- |    1 | iPhone 13 Pro Max |              512 | gold  |         2021 | 1299.989990 |      1199.989990 |    1 | 2224442480 | 7,8,9         | 1234567890123456789                     | {"features":["ProMotion display","A15 Bionic chip","Improved battery life"]} | 0.900000,0.800000,0.700000,0.600000 |
- |    4 | iPhone 14         |              256 | black |         2022 |  999.989990 |       899.989990 |    1 | 1661990400 | 19,20,21      | 1234567890123456789                     | {"features":["A16 Bionic","Dynamic Island"]}                                 | 0.100000,0.200000,0.300000,0.400000 |
- |    3 | Pixel 6           |              128 | white |         2021 |  599.989990 |       549.989990 |    0 | 2661794816 | 7,8,9         | 123456789123456789,987654321987654321   | {"features":["Smooth display","Google Tensor chip","AI-powered camera"]}     | 0.800000,0.600000,0.400000,0.200000 |
- |    5 | Pixel 7           |              128 | white |         2022 |  699.989990 |       649.989990 |    0 | 1661990400 | 16,17,18      | 223344556677889900,998877665544332211   | {"features":["Tensor G2","120Hz display"]}                                   | 0.400000,0.500000,0.600000,0.700000 |
- +------+-------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+-----------------------------------------+------------------------------------------------------------------------------+-------------------------------------+
––– input –––
curl -s -X POST http://localhost:9308/delete -d '{"table": "test1", "id": 1}' | jq '.result'
––– output –––
- "deleted"
+ "not found"
––– input –––
mysql -P9306 -h0 -e "select * from test1;"
––– output –––
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+-----------------------------------------+--------------------------------------------------------------------------+-------------------------------------+
- | id   | model            | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                          | vector                              |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+-----------------------------------------+--------------------------------------------------------------------------+-------------------------------------+
- |    2 | Galaxy S21 Ultra |              128 | black |         2021 | 1199.989990 |      1099.989990 |    0 | 3141431296 | 4,5,6         | 1234567890123456789,9223372036854775807 | {"features":["Dynamic AMOLED 2X","Exynos 2100","108MP camera"]}          | 0.500000,0.400000,0.300000,0.200000 |
- |    4 | iPhone 14        |              256 | black |         2022 |  999.989990 |       899.989990 |    1 | 1661990400 | 19,20,21      | 1234567890123456789                     | {"features":["A16 Bionic","Dynamic Island"]}                             | 0.100000,0.200000,0.300000,0.400000 |
- |    3 | Pixel 6          |              128 | white |         2021 |  599.989990 |       549.989990 |    0 | 2661794816 | 7,8,9         | 123456789123456789,987654321987654321   | {"features":["Smooth display","Google Tensor chip","AI-powered camera"]} | 0.800000,0.600000,0.400000,0.200000 |
- |    5 | Pixel 7          |              128 | white |         2022 |  699.989990 |       649.989990 |    0 | 1661990400 | 16,17,18      | 223344556677889900,998877665544332211   | {"features":["Tensor G2","120Hz display"]}                               | 0.400000,0.500000,0.600000,0.700000 |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+-----------------------------------------+--------------------------------------------------------------------------+-------------------------------------+
––– input –––
mysql -P9306 -h0 -e "DROP TABLE test1;"; echo $?
––– output –––
OK
––– input –––
mysql -P9306 -h0 -e "show tables;"; echo $?
––– output –––
OK
test/clt-tests/http-interface/sql-mode-raw-endpoint.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 –––
apt-get install jq -y > /dev/null; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE t (id INT, value TEXT, value_attr STRING) min_infix_len = '3' min_prefix_len = '3'; INSERT INTO t VALUES (1, 'example', 'example'), (2, 'test', 'test');"
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "show version" | jq '.[0].data'
––– output –––
[
  {
    "Component": "Daemon",
    "Version": "%{VERSION}"
  },
  {
    "Component": "Columnar",
    "Version": "columnar %{VERSION}"
  },
  {
    "Component": "Secondary",
    "Version": "secondary %{VERSION}"
  },
  {
-     "Component": "Knn",
+     "Component": "Buddy",
-     "Version": "knn %{VERSION}"
+     "Version": "buddy v3.44.2-g97dbd0"
-   },
+   }
-   {
+ ]
-     "Component": "Embeddings",
-     "Version": "embeddings %{VERSION}"
-   },
-   {
-     "Component": "Buddy",
-     "Version": "buddy %{VERSION}"
-   }
- ]
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "show buddy plugins" | jq '.[0].data | .[0:3] | .[] | {Plugin, Type, Info}'
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "select * from t where match('exmaple') option fuzzy=1" | jq '.[0].data'
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "show fields from t" | jq '.[0].data'
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "create table t_copy like t" | jq '.[0] | {total, error, warning}'
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "show full tables" | jq '.[0].data'
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "select * from t limit 1" | jq '.[0].data'
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=select%20count(*)%20from%20t" | jq '.[0].data'
––– output –––
OK

@github-actions
Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/buddy/test-buddy-protocol-validation test/clt-tests/buddy/test-fuzzy-search-non-min-infix-len test/clt-tests/buddy/test-log-level-buddy-sync test/clt-tests/buddy/test-manticore-version-in-telemetry test/clt-tests/buddy/test-show-version test/clt-tests/buddy/test-unserialize-error-absence-kafka-operations test/clt-tests/buddy-plugins/test-enable-disable-buddy-plugin test/clt-tests/buddy-plugins/test-facet-with-option-fuzzy test/clt-tests/buddy-plugins/test-fuzzy-autocomplete-http test/clt-tests/buddy-plugins/test-fuzzy-search-dist-table
✅ OK: 7
❌ Failed: 3
⏳ Duration: 111s
👉 Check Action Results for commit 16643bf

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/buddy-plugins/test-enable-disable-buddy-plugin.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 "SHOW QUERIES\G"|grep "1. row"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DISABLE BUDDY PLUGIN manticoresoftware/buddy-plugin-show"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW QUERIES"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "ENABLE BUDDY PLUGIN manticoresoftware/buddy-plugin-show"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW QUERIES\G"|grep "1. row"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "create table t (id bigint, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2')"
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 't': knn library not loaded
––– input –––
mysql -h0 -P9306 -e "select id, knn_dist() from t where knn ( image_vector, 5, 1 );"
––– output –––
+ ERROR 1064 (42000) at line 1: unknown local table(s) 't' in search request
––– input –––
mysql -h0 -P9306 -e "DISABLE BUDDY PLUGIN manticoresoftware/buddy-plugin-knn"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select id, knn_dist() from t where knn ( image_vector, 5, 1 );"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "ENABLE BUDDY PLUGIN manticoresoftware/buddy-plugin-knn"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select id, knn_dist() from t where knn ( image_vector, 5, 1 );"
––– output –––
+ ERROR 1064 (42000) at line 1: unknown local table(s) 't' in search request
test/clt-tests/buddy/test-show-version.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 "show version\G;"
––– output –––
*************************** 1. row ***************************
Component: Daemon
  Version: %{VERSION}
*************************** 2. row ***************************
Component: Columnar
  Version: columnar %{VERSION}
*************************** 3. row ***************************
Component: Secondary
  Version: secondary %{VERSION}
*************************** 4. row ***************************
- Component: Knn
+ Component: Buddy
-   Version: knn %{VERSION}
+   Version: buddy v3.44.2-g97dbd0
- *************************** 5. row ***************************
- Component: Embeddings
-   Version: embeddings %{VERSION}
- *************************** 6. row ***************************
- Component: Buddy
-   Version: buddy %{VERSION}
test/clt-tests/buddy/test-manticore-version-in-telemetry.rec
––– input –––
apt-get install jq -y > /dev/null; echo $?
––– output –––
OK
––– input –––
sed -i '/data_dir = \/var\/lib\/manticore/a\    buddy_path = manticore-executor -n /usr/share/manticore/modules/manticore-buddy/src/main.php --telemetry-period=5' /etc/manticoresearch/manticore.conf
––– output –––
OK
––– input –––
export SEARCHD_FLAGS="--logdebugvv"
––– output –––
OK
––– 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 –––
timeout 20 bash -c 'grep -m 1 "labels:" <(tail -f /var/log/manticore/searchd.log) | sed "s/.*labels: //" | jq -M .'
––– output –––
{
  "collector": "buddy",
  "os_name": "Linux",
  "os_release_name": "Ubuntu",
  "os_release_version": "%{SEMVER} LTS (#!/[A-Za-z]+\s[A-Za-z]+/!#)",
  "machine_type": "x86_64",
  "machine_id": "#!/[0-9A-Za-z]+/!#",
  "dockerized": "#!/\b(?:unknown|yes)\b/!#",
  "official_docker": "#!/\b(?:no|yes)\b/!#",
  "buddy_version": "%{VERSION}",
  "manticore_version": "%{VERSION}",
  "columnar_version": "%{VERSION}",
  "secondary_version": "%{VERSION}",
-   "knn_version": "%{VERSION}",
+   "manticore_mode": "rt",
-   "embeddings_version": "%{VERSION}",
+   "manticore_binlog_enabled": "yes",
-   "manticore_mode": "#!/[A-Za-z]+/!#",
+   "manticore_auto_optimize_enabled": "yes",
-   "manticore_binlog_enabled": "#!/\b(?:no|yes)\b/!#",
+   "manticore_query_log_format": "sphinxql",
-   "manticore_auto_optimize_enabled": "#!/\b(?:no|yes)\b/!#",
+   "manticore_max_allowed_packet": "134217728",
-   "manticore_query_log_format": "#!/[A-Za-z]+/!#",
+   "manticore_pseudo_sharding_enabled": "yes",
-   "manticore_max_allowed_packet": "%{NUMBER}",
+   "manticore_secondary_indexes_enabled": "yes",
-   "manticore_pseudo_sharding_enabled": "#!/\b(?:no|yes)\b/!#",
+   "manticore_accurate_aggregation_enabled": "no",
-   "manticore_secondary_indexes_enabled": "#!/\b(?:no|yes)\b/!#",
+   "manticore_distinct_precision_threshold": "3500"
-   "manticore_accurate_aggregation_enabled": "#!/\b(?:no|yes)\b/!#",
+ }
-   "manticore_distinct_precision_threshold": "%{NUMBER}"
- }

@github-actions
Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/buddy-plugins/test-fuzzy-search test/clt-tests/buddy-plugins/test-fuzzy-trailing-semicolon test/clt-tests/buddy-plugins/test-inconsistent-comunication-with-buddy test/clt-tests/buddy-plugins/test-prometheus-exporter test/clt-tests/buddy-plugins/test-skipping-plugin-loading test/clt-tests/bugs/1335-test-issue test/clt-tests/bugs/3037-secondary-indexes-bug test/clt-tests/bugs/3247-rt-save-disk-chunk-race test/clt-tests/bugs/3428-test-having-total-found test/clt-tests/bugs/3481-http-update-distributed-table-wrong-cluster-crash
✅ OK: 8
❌ Failed: 3
⏳ Duration: 163s
👉 Check Action Results for commit 16643bf

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/buddy-plugins/test-skipping-plugin-loading.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 "SHOW BUDDY PLUGINS\G;" | grep "manticoresoftware/buddy-plugin-replace"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS tbl;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE tbl (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 'tbl': knn library not loaded
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES;"
––– output –––
- +-------+------+
- | Table | Type |
- +-------+------+
- | tbl   | rt   |
- +-------+------+
––– input –––
./test/clt-tests/scripts/generate-1mln-records.sh 1000
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET model ='iPhone 15 PRO' WHERE id = 101; SELECT * FROM tbl WHERE id = 101\G"
––– output –––
*************************** 1. row ***************************
              id: 101
           model: iPhone 15 PRO
- storage_capacity: 256
+            color: silver
-            color: silver
+             sold: TRUE
-     release_year: 2021
+       date_added: 1591362342000
-            price: 1099.989990
+ storage_capacity: 256
- discounted_price: 989.989990
+     release_year: 2021
-             sold: 1
+            price: 1099.989990
-       date_added: 2224442480
+ discounted_price: 989.989990
   product_codes: 1,2,3
-           values: 523456764345678976,9223372036854775807
+           values: NULL
 additional_info: {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]}
-           vector: 0.773448,0.312478,0.137971,0.459821
+           vector: NULL
––– input –––
stdbuf -oL searchd --stopwait 2>&1 | grep -i 'SIGTERM'
––– output –––
OK
––– input –––
sed -i '/data_dir = \/var\/lib\/manticore/a\    buddy_path = manticore-executor -n /usr/share/manticore/modules/manticore-buddy/src/main.php --log-level=debugv --skip=manticoresoftware/buddy-plugin-replace' /etc/manticoresearch/manticore.conf
––– output –––
OK
––– 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 "REPLACE INTO tbl SET price =15000.99 WHERE id = 117; select * from tbl WHERE id = 117;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW BUDDY PLUGINS\G;" | grep "manticoresoftware/buddy-plugin-replace"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW BUDDY PLUGINS\G;" | grep "manticoresoftware/buddy-plugin-alter-rename-table"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE index2001(f text, s string); insert into index2001 values(01,'abc','string');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE index2001 RENAME new_index2001;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES"
––– output –––
OK
––– input –––
stdbuf -oL searchd --stopwait 2>&1 | grep -i 'SIGTERM'
––– output –––
OK
––– input –––
sed -i '/buddy_path =/c\    buddy_path = manticore-executor -n /usr/share/manticore/modules/manticore-buddy/src/main.php --log-level=debugv --skip=manticoresoftware/buddy-plugin-alter-rename-table --skip=manticoresoftware/buddy-plugin-replace' /etc/manticoresearch/manticore.conf
––– output –––
OK
––– 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 "SHOW BUDDY PLUGINS\G;" | grep "manticoresoftware/buddy-plugin-alter-rename-table"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE new_index2001 RENAME new_index2002;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES"
––– output –––
OK
––– input –––
stdbuf -oL searchd --stopwait 2>&1 | grep -i 'SIGTERM'
––– output –––
OK
––– input –––
sed -i '/buddy_path =/c\    buddy_path = manticore-executor -n /usr/share/manticore/modules/manticore-buddy/src/main.php --log-level=debugv' /etc/manticoresearch/manticore.conf
––– output –––
OK
––– 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 "SHOW BUDDY PLUGINS\G;" | grep "manticoresoftware/buddy-plugin-alter-rename-table"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE new_index2001 RENAME new_index2002;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES"
––– output –––
OK
test/clt-tests/buddy-plugins/test-prometheus-exporter.rec
––– input –––
export SEARCHD_FLAGS="--iostats --cpustats"
––– output –––
OK
––– 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 –––
curl -s 0:9308/metrics > /tmp/exporter_unfiltered_output.txt
––– output –––
OK
––– input –––
cat /tmp/exporter_unfiltered_output.txt | grep -e "^manticore" | cut -d" " -f1 | sed 's/^manticore_//' | sed 's/qcache_thresh_microseconds/qcache_thresh_msec/' | sort > /tmp/exporter_output.txt
––– output –––
OK
––– input –––
searchd --iostats --cpustats --status | cut -d":" -f1 | tail -n +10 | sort > /tmp/searchd_output.txt
––– output –––
OK
––– input –––
ls -1 /tmp | grep -E "^(exporter|searchd).*\.txt$"
––– output –––
OK
––– input –––
cat /tmp/exporter_unfiltered_output.txt | grep "Warning"
––– output –––
OK
––– input –––
while read -r line; do   grep -q "^$line" /tmp/exporter_output.txt || echo "$line"; done < /tmp/searchd_output.txt
––– output –––
+ --------------
––– input –––
echo "new-option" >> /tmp/searchd_output.txt
––– output –––
OK
––– input –––
while read -r line; do   grep -q "^$line" /tmp/exporter_output.txt || echo "$line"; done < /tmp/searchd_output.txt
––– output –––
- new-option
+ --------------
+ new-option
test/clt-tests/buddy-plugins/test-inconsistent-comunication-with-buddy.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 –––
apt-get install jq -y > /dev/null; echo $?
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW TABLES"; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20TABLES"; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW TABLES"; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20TABLES"; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW VARIABLES"; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20VARIABLES"; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW VARIABLES"; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20VARIABLES"; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW META"; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20META"; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW META"; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20META"; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW QUERIES" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20QUERIES" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW QUERIES" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20QUERIES" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW VERSION" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
[
  {
    "total": %{NUMBER},
    "error": "",
    "warning": "",
    "columns": [
      {
        "Component": {
          "type": "string"
        }
      },
      {
        "Version": {
          "type": "string"
        }
      }
    ],
    "data": [
      {
        "Component": "Daemon",
        "Version": "%{VERSION}"
      },
      {
        "Component": "Columnar",
        "Version": "columnar %{VERSION}"
      },
      {
        "Component": "Secondary",
        "Version": "secondary %{VERSION}"
      },
      {
-         "Component": "Knn",
+         "Component": "Buddy",
-         "Version": "knn %{VERSION}"
+         "Version": "buddy v3.44.2-g97dbd0"
-       },
+       }
-       {
+     ]
-         "Component": "Embeddings",
+   }
-         "Version": "embeddings %{VERSION}"
+ ]
-       },
-       {
-         "Component": "Buddy",
-         "Version": "buddy %{VERSION}"
-       }
-     ]
-   }
- ]
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20VERSION" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
[
  {
    "total": %{NUMBER},
    "error": "",
    "warning": "",
    "columns": [
      {
        "Component": {
          "type": "string"
        }
      },
      {
        "Version": {
          "type": "string"
        }
      }
    ],
    "data": [
      {
        "Component": "Daemon",
        "Version": "%{VERSION}"
      },
      {
        "Component": "Columnar",
        "Version": "columnar %{VERSION}"
      },
      {
        "Component": "Secondary",
        "Version": "secondary %{VERSION}"
      },
      {
-         "Component": "Knn",
+         "Component": "Buddy",
-         "Version": "knn %{VERSION}"
+         "Version": "buddy v3.44.2-g97dbd0"
-       },
+       }
-       {
+     ]
-         "Component": "Embeddings",
+   }
-         "Version": "embeddings %{VERSION}"
+ ]
-       },
-       {
-         "Component": "Buddy",
-         "Version": "buddy %{VERSION}"
-       }
-     ]
-   }
- ]
––– input –––
curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW VERSION" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
[
  {
    "total": %{NUMBER},
    "error": "",
    "warning": "",
    "columns": [
      {
        "Component": {
          "type": "string"
        }
      },
      {
        "Version": {
          "type": "string"
        }
      }
    ],
    "data": [
      {
        "Component": "Daemon",
        "Version": "%{VERSION}"
      },
      {
        "Component": "Columnar",
        "Version": "columnar %{VERSION}"
      },
      {
        "Component": "Secondary",
        "Version": "secondary %{VERSION}"
      },
      {
-         "Component": "Knn",
+         "Component": "Buddy",
-         "Version": "knn %{VERSION}"
+         "Version": "buddy v3.44.2-g97dbd0"
-       },
+       }
-       {
+     ]
-         "Component": "Embeddings",
+   }
-         "Version": "embeddings %{VERSION}"
+ ]
-       },
-       {
-         "Component": "Buddy",
-         "Version": "buddy %{VERSION}"
-       }
-     ]
-   }
- ]
––– input –––
curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20VERSION" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
[
  {
    "total": %{NUMBER},
    "error": "",
    "warning": "",
    "columns": [
      {
        "Component": {
          "type": "string"
        }
      },
      {
        "Version": {
          "type": "string"
        }
      }
    ],
    "data": [
      {
        "Component": "Daemon",
        "Version": "%{VERSION}"
      },
      {
        "Component": "Columnar",
        "Version": "columnar %{VERSION}"
      },
      {
        "Component": "Secondary",
        "Version": "secondary %{VERSION}"
      },
      {
-         "Component": "Knn",
+         "Component": "Buddy",
-         "Version": "knn %{VERSION}"
+         "Version": "buddy v3.44.2-g97dbd0"
-       },
+       }
-       {
+     ]
-         "Component": "Embeddings",
+   }
-         "Version": "embeddings %{VERSION}"
+ ]
-       },
-       {
-         "Component": "Buddy",
-         "Version": "buddy %{VERSION}"
-       }
-     ]
-   }
- ]

@github-actions
Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/mysqldump/maria/no-mcl-multi test/clt-tests/mysqldump/maria/no-mcl-multi64 test/clt-tests/mysqldump/maria/pq-table-mysqldump test/clt-tests/mysqldump/maria/random-1m-dump-restore test/clt-tests/performance/concurrent-load-search-stats-validation test/clt-tests/performance/test-json-disk_chunks test/clt-tests/performance/test-optimisation-and-update test/clt-tests/performance/test-show-table-tbl-name-status test/clt-tests/replication/fatal-invalid-port test/clt-tests/replication/test-auto-embeddings-replication
✅ OK: 10
❌ Failed: 1
⏳ Duration: 243s
👉 Check Action Results for commit 16643bf

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/replication/test-auto-embeddings-replication.rec
––– input –––
export INSTANCE=1
––– output –––
OK
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
OK
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore-${INSTANCE}/searchd.log; fi
––– output –––
OK
––– input –––
export INSTANCE=2
––– output –––
OK
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
OK
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore-${INSTANCE}/searchd.log; fi
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "drop table if exists t;"
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "create table t (f text, v float_vector knn_type='hnsw' hnsw_similarity='COSINE' model_name='sentence-transformers/all-MiniLM-L6-v2' from='f');"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 't': CREATE TABLE failed: model_name specified for 'v', but embeddings library is not loaded
+ 1
––– input –––
mysql -h0 -P1306 -e "create cluster c;"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "alter cluster c add t;"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 't'
+ 1
––– input –––
mysql -h0 -P2306 -e "join cluster c at '127.0.0.1:1312';"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "insert into c:t(id,f) values(1,'bread');"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 't' absent
+ 1
––– input –––
mysql -E -h0 -P2306 -e "debug wait c status 2 like 'state' option 'timeout'=30;" | awk '/Value:/{print $2}'
––– output –––
- 2
+ 0
––– input –––
mysql -E -h0 -P2306 -e "select id, f from c:t order by id asc;" | awk '/f:/{print $2}'
––– output –––
- bread
+ ERROR 1064 (42000) at line 1: unknown local table(s) 't' in search request
––– input –––
mysql -h0 -P1306 -e "insert into c:t(id,f, v) values(10,'aaps', (0.1, 0.2));"; echo $?
––– output –––
- ERROR 1064 (42000) at line 1: attribute 'v' has model_name=sentence-transformers/all-MiniLM-L6-v2 specified, but vector contents with 2 values is provided
+ ERROR 1064 (42000) at line 1: table 't' absent
1
––– input –––
mysql -h0 -P1306 -e "insert into c:t(id,f, v) values(11,'not related text presented for testing', (-0.02887810952961445,-0.014508943073451519,0.06253206729888916,0.006139140110462904,0.007788040209561586,-0.029897022992372513,0.004299835301935673,-0.02102580852806568,-0.07824035733938217,-0.04040408879518509,-0.04838048294186592,-0.0078645721077919,0.010616137646138668,0.004826101940125227,-0.062401119619607925,0.07758325338363647,0.0104198744520545,0.0028890324756503105,-0.11988074332475662,-0.09860166907310486,0.025224801152944565,-0.00991450808942318,-0.05856771767139435,0.014609863981604576,0.005707146134227514,0.024516092613339424,0.0820961520075798,0.05104028061032295,-0.014301222749054432,-0.06978834420442581,0.051312025636434555,-0.0773017480969429,0.05717596784234047,0.03005439229309559,-0.06304150074720383,0.06810582429170609,-0.09292984753847122,0.006180487107485533,0.033087845891714096,0.01436525210738182,-0.0019107428379356861,-0.11795717477798462,0.036489419639110565,0.003296283772215247,0.07273916900157928,0.12453976273536682,-0.05751297250390053,-0.019802575930953026,-0.03427072986960411,0.06344299018383026,-0.0916014313697815,-0.013950333930552006,-0.016918571665883064,-0.027785340324044228,-0.06570874154567719,0.04672783613204956,0.016895921900868416,0.026192206889390945,0.00987544097006321,0.0047765751369297504,0.020895836874842644,-0.0705636665225029,-0.022132378071546555,-0.0324690006673336,0.05870749428868294,0.0021685678511857986,-0.043411076068878174,0.07814154028892517,-0.019831260666251183,-0.08912009000778198,-0.04109704867005348,0.05572393164038658,-0.0074473218992352486,0.015599397011101246,0.04969257488846779,-0.003387113567441702,0.022838285192847252,-0.020863434299826622,0.0694182813167572,-0.02072182483971119,-0.08121015131473541,-0.017036229372024536,-0.046413592994213104,0.09961981326341629,0.01960965059697628,-0.05294061452150345,-0.051695119589567184,0.018813325092196465,-0.0276397205889225,-0.034315574914216995,0.00913374125957489,-0.04280592501163483,0.022342398762702942,-0.05029156059026718,-0.03839508444070816,0.059815049171447754,0.013032465241849422,-0.14764592051506042,-0.005115848500281572,0.11305969953536987,-0.08993944525718689,0.08440786600112915,-0.0020546468440443277,-0.03318164497613907,0.04759039729833603,-0.03706233203411102,0.011276835575699806,0.00043600198114290833,0.07980957627296448,-0.15789221227169037,-0.07920952141284943,-0.02279348485171795,0.0539841502904892,-0.0818084329366684,-0.00291087431833148,-0.010869033634662628,0.004449532367289066,0.04457550495862961,-0.007860267534852028,0.023657092824578285,-0.020765071734786034,-0.02642984874546528,0.020103735849261284,0.1111338809132576,0.028429243713617325,-0.0725877657532692,-0.0678577795624733,1.8544020314946612e-33,-0.03472018986940384,-0.06150643527507782,-0.03177795186638832,0.03646891564130783,0.01958777941763401,-0.11167877912521362,0.01035370584577322,-0.0479571558535099,0.01566443033516407,0.008931931108236313,-0.05269512161612511,0.006171927321702242,0.03202659636735916,-0.006528966128826141,0.09422576427459717,-0.012561697512865067,0.04291675239801407,0.09155222773551941,0.02544848434627056,-0.025248372927308083,0.05366683751344681,0.011495773680508137,0.04045502096414566,-0.024824194610118866,-0.019793512299656868,0.03673143684864044,0.04070700332522392,0.02240411750972271,-0.010609647259116173,0.02108629047870636,0.07546887546777725,0.056149739772081375,-0.01266847550868988,0.023099826648831367,0.033572424203157425,0.0018432731740176678,-0.01756606251001358,0.060724057257175446,0.04019973427057266,0.0187228973954916,-0.034152500331401825,-0.034975096583366394,0.05602458491921425,-0.01720142364501953,-0.04200385883450508,-0.005915438756346703,0.04974375665187836,-0.06926773488521576,-0.027901772409677505,0.0007827704539522529,0.04093310236930847,-0.0445101372897625,-0.04872944578528404,-0.002661655191332102,0.08892837166786194,0.12077690660953522,-0.031700246036052704,0.008966736495494843,-0.020614879205822945,-0.04214325174689293,0.09248723089694977,0.012272832915186882,0.03789548575878143,0.0721842497587204,-0.028616590425372124,0.020248470827937126,0.0842500627040863,0.030446691438555717,0.011253142729401588,0.020550614222884178,0.02559511736035347,0.03574708104133606,0.03422650322318077,-0.0746365413069725,0.05465991050004959,0.037171103060245514,0.05248453840613365,0.002069835551083088,-0.008089751936495304,-0.011679762043058872,-0.12151028215885162,-0.008391043171286583,-0.014654085040092468,-0.054292161017656326,0.06412038207054138,-0.05077509954571724,0.0580800399184227,-0.01631723903119564,-0.01568209007382393,0.04950840398669243,-0.09341369569301605,0.023440195247530937,0.09112592786550522,0.00047929398715496063,-0.08850732445716858,-1.9623214127787707e-33,-0.12491357326507568,0.020150018855929375,0.03034389577805996,0.11277838796377182,0.034695543348789215,-0.011876045726239681,-0.06076759099960327,-0.011039776727557182,0.02729235216975212,0.10424460470676422,-0.001800763071514666,-0.008416797965765,0.06515590846538544,0.02585623413324356,-0.05551620572805405,0.07288996875286102,-0.010547428391873837,-0.03874387964606285,-0.00592134241014719,0.08981339633464813,-0.036455925554037094,0.04666841775178909,-0.021836930885910988,-0.016903260722756386,-0.011249814182519913,-0.019797921180725098,-0.017575707286596298,0.0004202927812002599,-0.05519506707787514,0.011089515872299671,0.030541645362973213,-0.02105090580880642,-0.0651649683713913,0.05198892205953598,-0.033706434071063995,0.006662809755653143,-0.026725811883807182,0.006605037488043308,-0.035417590290308,0.11581236124038696,0.011658085510134697,0.027106603607535362,-0.13228893280029297,-0.007210239302366972,-0.026874540373682976,-0.07146837562322617,-0.025904450565576553,0.03189704194664955,0.04362832009792328,-0.05089547485113144,-0.016457589343190193,-0.0020786665845662355,0.034416407346725464,-0.07606993615627289,-0.0384371243417263,0.09190164506435394,-0.0023519210517406464,-0.03578750416636467,0.0174117274582386,0.07065414637327194,-0.05423733592033386,-0.1115489974617958,0.034914083778858185,0.009716940112411976,0.017698979005217552,0.02325839176774025,-0.023224983364343643,0.08413097262382507,-0.05165207386016846,-0.04000084102153778,0.05087630823254585,0.031228039413690567,-0.007687970530241728,0.013114201836287975,0.009889479726552963,-0.06657213717699051,-0.04740755632519722,-0.045509014278650284,-0.016498880460858345,-0.05309320613741875,0.0233579371124506,-0.05407179892063141,0.02378183975815773,0.061486922204494476,0.016216298565268517,0.039252132177352905,0.022517172619700432,-0.013490748591721058,0.02116474136710167,-0.054400794208049774,0.0016664628637954593,0.08511592447757721,0.0061784167774021626,0.026095809414982796,-0.05038367956876755,-1.5553007770563454e-8,0.0017935795476660132,-0.06964796036481857,0.10214224457740784,-0.013182144612073898,0.0788150355219841,0.030127938836812973,-0.09085867553949356,0.06065487489104271,-0.02620915323495865,0.009598396718502045,0.021433483809232712,0.015229065902531147,0.006221206393092871,0.037634145468473434,-0.019239604473114014,0.01714528165757656,0.004608516115695238,0.022722238674759865,0.011902491562068462,0.009837309829890728,0.0965832769870758,0.01768278144299984,0.05329291522502899,-0.042203258723020554,0.04997896030545235,-0.06958130747079849,0.022804096341133118,0.04385494440793991,-0.01289377547800541,0.04677840694785118,-0.03932027146220207,0.06900487095117569,-0.0089718047529459,-0.00459922244772315,0.11239369213581085,0.11475653201341629,0.029179617762565613,-0.05705489590764046,-0.022557003423571587,0.028765123337507248,-0.055568233132362366,0.03479662165045738,-0.10511929541826248,-0.0041320896707475185,0.07684381306171417,0.024079209193587303,0.012334967032074928,-0.13599443435668945,0.01641032285988331,-0.005830815527588129,0.016982978209853172,0.05224009230732918,0.0589921697974205,0.059258945286273956,0.07644383609294891,0.01571839489042759,0.10470645874738693,-0.022268055006861687,0.008824847638607025,0.046184878796339035,-0.0035121834371238947,0.04443963244557381,-0.0010735581163316965,-0.08990925550460815));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 't' absent
+ 1
––– input –––
mysql -E -h0 -P2306 -e "debug wait c status 3 like 'state' option 'timeout'=10;" | awk '/Value:/{print $2}'
––– output –––
- 3
+ 0
––– input –––
mysql -E -h0 -P2306 -e "select id, f from c:t order by id asc;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: unknown local table(s) 't' in search request
- id: 1
-  f: bread
- *************************** 2. row ***************************
- id: 11
-  f: not related text presented for testing
––– input –––
mysql -h0 -P1306 -e "alter cluster c drop t;"
––– output –––
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 't'
––– input –––
mysql -h0 -P1306 -e "drop table t;"
––– output –––
+ ERROR 1064 (42000) at line 1: DROP TABLE failed: unknown table 't'

@github-actions
Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/core/test-truncate-distributed-table test/clt-tests/core/test-unfreeze-defrosts test/clt-tests/core/test-warning-wordlist-size-mismatch test/clt-tests/data-manipulation/test-alter-rename-nightly test/clt-tests/data-manipulation/test-lock-tables-mysqldump-compat test/clt-tests/data-manipulation/test-lock-unlock-tables test/clt-tests/data-manipulation/test-replace-into test/clt-tests/expected-errors/buddy-plugin-backup test/clt-tests/expected-errors/buddy-plugin-empty-string test/clt-tests/expected-errors/buddy-plugin-select
✅ OK: 5
❌ Failed: 5
⏳ Duration: 279s
👉 Check Action Results for commit 16643bf

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/data-manipulation/test-replace-into.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 -v -h0 -P9306 -e "SHOW TABLES; DROP TABLE IF EXISTS tbl; SHOW TABLES; CREATE TABLE tbl (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');"
––– output –––
--------------
SHOW TABLES
--------------
--------------
DROP TABLE IF EXISTS tbl
--------------
--------------
SHOW TABLES
--------------
--------------
CREATE TABLE tbl (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2')
--------------
+ ERROR 1064 (42000) at line 1: error adding table 'tbl': knn library not loaded
––– input –––
chmod +x ./test/clt-tests/scripts/generate-1mln-records.sh
––– output –––
OK
––– input –––
total_iterations=20000 ./test/clt-tests/scripts/generate-1mln-records.sh
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET model ='iPhone 15 PRO' WHERE id = 101; select * from tbl WHERE id = 101;"
––– output –––
- +------+---------------+------------------+--------+--------------+-------------+------------------+------+------------+---------------+----------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------------+--------+------+---------------+------------------+--------------+-------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
- | id   | model         | storage_capacity | color  | release_year | price       | discounted_price | sold | date_added | product_codes | values                                 | additional_info                                                                   | vector                              |
+ | id   | model         | color  | sold | date_added    | storage_capacity | release_year | price       | discounted_price | product_codes | values | additional_info                                                                   | vector |
- +------+---------------+------------------+--------+--------------+-------------+------------------+------+------------+---------------+----------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------------+--------+------+---------------+------------------+--------------+-------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
- |  101 | iPhone 15 PRO |              256 | silver |         2021 | 1099.989990 |       989.989990 |    1 | 2224442480 | 1,2,3         | 523456764345678976,9223372036854775807 | {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]} | 0.773448,0.312478,0.137971,0.459821 |
+ |  101 | iPhone 15 PRO | silver | TRUE | 1591362342000 |              256 |         2021 | 1099.989990 |       989.989990 | 1,2,3         | NULL   | {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]} | NULL   |
- +------+---------------+------------------+--------+--------------+-------------+------------------+------+------------+---------------+----------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------------+--------+------+---------------+------------------+--------------+-------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET values = (623456764345678976, 9223372036854775807) WHERE id = 120; select * from tbl WHERE id = 120;"
––– output –––
- +------+---------+------------------+-------------+--------------+------------+------------------+------+------------+---------------+----------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------+-------------+------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
- | id   | model   | storage_capacity | color       | release_year | price      | discounted_price | sold | date_added | product_codes | values                                 | additional_info                                                                   | vector                              |
+ | id   | model   | color       | sold | date_added    | storage_capacity | release_year | price      | discounted_price | product_codes | values | additional_info                                                                   | vector |
- +------+---------+------------------+-------------+--------------+------------+------------------+------+------------+---------------+----------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------+-------------+------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
- |  120 | LG Wing |              256 | aurora gray |         2020 | 999.989990 |       899.989990 |    1 | 1496660080 | 57,58,59      | 623456764345678976,9223372036854775807 | {"features":["Qualcomm Snapdragon 765G","Swivel display","Triple-camera system"]} | 0.863448,0.402478,0.227971,0.549821 |
+ |  120 | LG Wing | aurora gray | TRUE | 1698008742000 |              256 |         2020 | 999.989990 |       899.989990 | 57,58,59      | NULL   | {"features":["Qualcomm Snapdragon 765G","Swivel display","Triple-camera system"]} | NULL   |
- +------+---------+------------------+-------------+--------------+------------+------------------+------+------------+---------------+----------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------+-------------+------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET product_codes = (53,45,77), values = (92233777368548,92233720368548) WHERE id = 119; select * from tbl WHERE id = 119;"
––– output –––
- +------+---------------------+------------------+-------+--------------+------------+------------------+------+------------+---------------+-------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------------------+-------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
- | id   | model               | storage_capacity | color | release_year | price      | discounted_price | sold | date_added | product_codes | values                        | additional_info                                                                   | vector                              |
+ | id   | model               | color | sold  | date_added    | storage_capacity | release_year | price      | discounted_price | product_codes | values | additional_info                                                                   | vector |
- +------+---------------------+------------------+-------+--------------+------------+------------------+------+------------+---------------+-------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------------------+-------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
- |  119 | BlackBerry Evolve X |               64 | black |         2018 | 599.989990 |       499.989990 |    0 | 3697138672 | 45,53,77      | 92233720368548,92233777368548 | {"features":["Qualcomm Snapdragon 660","5.99-inch display","Dual-camera system"]} | 0.051106,0.948278,0.291892,0.104594 |
+ |  119 | BlackBerry Evolve X | black | FALSE | 1691619286000 |               64 |         2018 | 599.989990 |       499.989990 | 45,53,77      | NULL   | {"features":["Qualcomm Snapdragon 660","5.99-inch display","Dual-camera system"]} | NULL   |
- +------+---------------------+------------------+-------+--------------+------------+------------------+------+------------+---------------+-------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------------------+-------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET price =15000.99 WHERE id = 117; select * from tbl WHERE id = 117;"
––– output –––
- +------+----------------------+------------------+---------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+--------------------------------------------------------------------------------+-------------------------------------+
+ +------+----------------------+---------------+-------+---------------+------------------+--------------+--------------+------------------+---------------+--------+--------------------------------------------------------------------------------+--------+
- | id   | model                | storage_capacity | color         | release_year | price        | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                                | vector                              |
+ | id   | model                | color         | sold  | date_added    | storage_capacity | release_year | price        | discounted_price | product_codes | values | additional_info                                                                | vector |
- +------+----------------------+------------------+---------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+--------------------------------------------------------------------------------+-------------------------------------+
+ +------+----------------------+---------------+-------+---------------+------------------+--------------+--------------+------------------+---------------+--------+--------------------------------------------------------------------------------+--------+
- |  117 | Motorola Edge 20 Pro |              256 | midnight blue |         2021 | 15000.990234 |       599.989990 |    0 | 1501096560 | 48,49,50      | 1123456764345678976,9223372036854775807 | {"features":["Qualcomm Snapdragon 870","OLED display","Triple-camera system"]} | 0.041106,0.938278,0.281892,0.094594 |
+ |  117 | Motorola Edge 20 Pro | midnight blue | FALSE | 1676538342000 |              256 |         2021 | 15000.990234 |       599.989990 | 48,49,50      | NULL   | {"features":["Qualcomm Snapdragon 870","OLED display","Triple-camera system"]} | NULL   |
- +------+----------------------+------------------+---------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+--------------------------------------------------------------------------------+-------------------------------------+
+ +------+----------------------+---------------+-------+---------------+------------------+--------------+--------------+------------------+---------------+--------+--------------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET price =15000.99, discounted_price =445.88 WHERE id = 330; select * from tbl WHERE id = 330;"
––– output –––
- +------+------------------------------+------------------+------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+---------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------------------+------------+------+---------------+------------------+--------------+--------------+------------------+---------------+--------+---------------------------------------------------------------------------+--------+
- | id   | model                        | storage_capacity | color      | release_year | price        | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                           | vector                              |
+ | id   | model                        | color      | sold | date_added    | storage_capacity | release_year | price        | discounted_price | product_codes | values | additional_info                                                           | vector |
- +------+------------------------------+------------------+------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+---------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------------------+------------+------+---------------+------------------+--------------+--------------+------------------+---------------+--------+---------------------------------------------------------------------------+--------+
- |  330 | Motorola Moto G Power (2021) |               64 | flash gray |         2021 | 15000.990234 |       445.880005 |    1 | 1306783344 | 84,85,86      | 2323456764345678976,9223372036854775807 | {"features":["Snapdragon 662","6.6-inch display","Triple-camera system"]} | 0.663448,0.202478,0.027971,0.349821 |
+ |  330 | Motorola Moto G Power (2021) | flash gray | TRUE | 1766538342000 |               64 |         2021 | 15000.990234 |       445.880005 | 84,85,86      | NULL   | {"features":["Snapdragon 662","6.6-inch display","Triple-camera system"]} | NULL   |
- +------+------------------------------+------------------+------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+---------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------------------+------------+------+---------------+------------------+--------------+--------------+------------------+---------------+--------+---------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET vector= (-0.037794, 0.856278, 0.202892, 0.015594) WHERE id = 102; select * from tbl WHERE id = 102;"
––– output –––
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+----------------------------------------+------------------------------------------------------------------------------------+--------------------------------------+
+ +------+-----------+-------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+------------------------------------------------------------------------------------+--------+
- | id   | model     | storage_capacity | color | release_year | price      | discounted_price | sold | date_added | product_codes | values                                 | additional_info                                                                    | vector                               |
+ | id   | model     | color | sold  | date_added    | storage_capacity | release_year | price      | discounted_price | product_codes | values | additional_info                                                                    | vector |
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+----------------------------------------+------------------------------------------------------------------------------------+--------------------------------------+
+ +------+-----------+-------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+------------------------------------------------------------------------------------+--------+
- |  102 | iPhone 13 |              128 | blue  |         2021 | 799.989990 |       719.989990 |    0 | 1820294112 | 4,5,6         | 623456764345678976,9223372036854775807 | {"features":["A15 Bionic chip","Ceramic Shield front cover","Dual-camera system"]} | -0.037794,0.856278,0.202892,0.015594 |
+ |  102 | iPhone 13 | blue  | FALSE | 1625317932000 |              128 |         2021 | 799.989990 |       719.989990 | 4,5,6         | NULL   | {"features":["A15 Bionic chip","Ceramic Shield front cover","Dual-camera system"]} | NULL   |
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+----------------------------------------+------------------------------------------------------------------------------------+--------------------------------------+
+ +------+-----------+-------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+------------------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET price =15000.99, discounted_price =445.88, vector= (-0.037794, 0.856278, 0.202892, 0.015594) WHERE id = 336; select * from tbl WHERE id = 336;"
––– output –––
- +------+----------------------+------------------+-------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+--------------------------------------+
+ +------+----------------------+-------+------+---------------+------------------+--------------+--------------+------------------+---------------+--------+-----------------------------------------------------------------------------+--------+
- | id   | model                | storage_capacity | color | release_year | price        | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                             | vector                               |
+ | id   | model                | color | sold | date_added    | storage_capacity | release_year | price        | discounted_price | product_codes | values | additional_info                                                             | vector |
- +------+----------------------+------------------+-------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+--------------------------------------+
+ +------+----------------------+-------+------+---------------+------------------+--------------+--------------+------------------+---------------+--------+-----------------------------------------------------------------------------+--------+
- |  336 | HTC Wildfire E1 lite |               32 | black |         2021 | 15000.990234 |       445.880005 |    1 | 3438054384 | 102,103,104   | 2923456764345678976,9223372036854775807 | {"features":["MediaTek Helio A20","6.1-inch display","Dual-camera system"]} | -0.037794,0.856278,0.202892,0.015594 |
+ |  336 | HTC Wildfire E1 lite | black | TRUE | 1811619286000 |               32 |         2021 | 15000.990234 |       445.880005 | 102,103,104   | NULL   | {"features":["MediaTek Helio A20","6.1-inch display","Dual-camera system"]} | NULL   |
- +------+----------------------+------------------+-------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+--------------------------------------+
+ +------+----------------------+-------+------+---------------+------------------+--------------+--------------+------------------+---------------+--------+-----------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET model='iPhone 13 Pro Max', color='titan', storage_capacity=1000, release_year=2023, sold=1, date_added=4077861360, product_codes=(30,31,32), values= (9223372444854775807,9223372036812375244), additional_info= '{\"features\":[\"Snapdragon 900\",\"8.0-inch display\",\"Dual-camera new-system\"]}', vector= (-0.037795, 0.856278, 0.202892, -0.015595) WHERE id = 247; select * from tbl WHERE id = 247;"
––– output –––
- +------+-------------------+------------------+-------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+---------------------------------------+
+ ERROR 1064 (42000) at line 1: row 1, column 4: string expected
- | id   | model             | storage_capacity | color | release_year | price      | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                             | vector                                |
- +------+-------------------+------------------+-------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+---------------------------------------+
- |  247 | iPhone 13 Pro Max |             1000 | titan |         2023 | 799.989990 |       699.989990 |    1 | 4077861360 | 30,31,32      | 9223372036812375244,9223372036854775807 | {"features":["Snapdragon 900","8.0-inch display","Dual-camera new-system"]} | -0.037795,0.856278,0.202892,-0.015595 |
- +------+-------------------+------------------+-------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+---------------------------------------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET additional_info= '{\"features\":[\"Snapdragon 900\",\"8.0-inch display\",\"Dual-camera new-system\"]}' WHERE id = 323; select * from tbl WHERE id =323;"
––– output –––
- +------+------------------+------------------+---------------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+---------------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------+--------+
- | id   | model            | storage_capacity | color         | release_year | price      | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                             | vector                              |
+ | id   | model            | color         | sold  | date_added    | storage_capacity | release_year | price      | discounted_price | product_codes | values | additional_info                                                             | vector |
- +------+------------------+------------------+---------------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+---------------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------+--------+
- |  323 | Asus ROG Phone 5 |              256 | phantom black |         2021 | 999.989990 |       899.989990 |    0 | 3632367600 | 66,67,68      | 1723456764345678976,9223372036854775807 | {"features":["Snapdragon 900","8.0-inch display","Dual-camera new-system"]} | 0.071106,0.968278,0.311892,0.124594 |
+ |  323 | Asus ROG Phone 5 | phantom black | FALSE | 1721619286000 |              256 |         2021 | 999.989990 |       899.989990 | 66,67,68      | NULL   | {"features":["Snapdragon 900","8.0-inch display","Dual-camera new-system"]} | NULL   |
- +------+------------------+------------------+---------------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+---------------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "Replace Into tbl Set price =15780.99, discounted_price =335.88 WHERE id = 335; select * from tbl WHERE id = 335;"
––– output –––
- +------+-------------+------------------+--------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+-------------------------------------------------------------------------+---------------------------------------+
+ +------+-------------+--------------+-------+---------------+------------------+--------------+--------------+------------------+---------------+--------+-------------------------------------------------------------------------+--------+
- | id   | model       | storage_capacity | color        | release_year | price        | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                         | vector                                |
+ | id   | model       | color        | sold  | date_added    | storage_capacity | release_year | price        | discounted_price | product_codes | values | additional_info                                                         | vector |
- +------+-------------+------------------+--------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+-------------------------------------------------------------------------+---------------------------------------+
+ +------+-------------+--------------+-------+---------------+------------------+--------------+--------------+------------------+---------------+--------+-------------------------------------------------------------------------+--------+
- |  335 | LG G8 ThinQ |              128 | aurora black |         2019 | 15780.990234 |       335.880005 |    0 | 1194467680 | 99,100,101    | 2823456764345678976,9223372036854775807 | {"features":["Snapdragon 855","6.1-inch display","Dual-camera system"]} | -0.118894,0.778278,0.121892,-0.065406 |
+ |  335 | LG G8 ThinQ | aurora black | FALSE | 1805080732000 |              128 |         2019 | 15780.990234 |       335.880005 | 99,100,101    | NULL   | {"features":["Snapdragon 855","6.1-inch display","Dual-camera system"]} | NULL   |
- +------+-------------+------------------+--------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+-------------------------------------------------------------------------+---------------------------------------+
+ +------+-------------+--------------+-------+---------------+------------------+--------------+--------------+------------------+---------------+--------+-------------------------------------------------------------------------+--------+
––– input –––
curl -s -X  POST "http://localhost:9308/tbl/_update/101" -H "Content-Type: application/json" -d '{"doc": {"model": "new-model", "color": "new-color"}}'; echo $?
––– output –––
OK
––– input –––
start_time=$(date +%s%3N) && for i in {1..5000}; do echo "REPLACE INTO tbl SET color = 'color_$i' WHERE id = ${i}01;"; done > /tmp/replace_dump && mysql -h0 -P9306 < /tmp/replace_dump > /dev/null && end_time=$(date +%s%3N) && export elapsed_time=$((end_time - start_time))
––– output –––
OK
––– input –––
echo $elapsed_time
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select count(*) from tbl WHERE regex (color, 'color_[0-9]+')"
––– output –––
- +----------+
+ ERROR 1064 (42000) at line 1: table tbl: stored fields can't be used in expressions
- | count(*) |
- +----------+
- |     5000 |
- +----------+
––– input –––
start_time2=$(date +%s%3N) && for i in {1..5000}; do echo "REPLACE INTO tbl (id, model, storage_capacity, color, release_year, price, discounted_price, sold, date_added, product_codes, values, additional_info, vector) VALUES (${i}101, 'iPhone 13 Pro', 256, 'silver${i}', 2021, 1099.99, 989.99, 'TRUE', '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; done > /tmp/replace_dump && mysql -h0 -P9306 < /tmp/replace_dump > /dev/null && end_time2=$(date +%s%3N) && export elapsed_time2=$((end_time2 - start_time2))
––– output –––
OK
––– input –––
echo $elapsed_time2
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select count(*) from tbl WHERE regex (color, 'silver[0-9]+')"
––– output –––
- +----------+
+ ERROR 1064 (42000) at line 1: table tbl: stored fields can't be used in expressions
- | count(*) |
- +----------+
- |     5000 |
- +----------+
––– input –––
echo $((elapsed_time / elapsed_time2))
––– output –––
OK
––– input –––
mysql -v -h0 -P9306 -e "SHOW TABLES; DROP TABLE IF EXISTS abc; create table abc(id, t1 text, t2 text indexed); insert into abc VALUES (1, 'abc', 'cde'); desc abc;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO abc SET t1 ='iPhone 15 PRO' WHERE id = 1;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET model ='iPhone 16 PRO MAX' WHERE id > 105;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET model ='iPhone 17 PRO MAX' WHERE id = 'abs';"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET model ='iPhone 18 PRO' WHERE id in (1,2,3);"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET model ='iPhone 18 PRO' WHERE sold = 0;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET id =777 WHERE id = 144; select * from tbl WHERE id = 144;"
––– output –––
- +------+-----------------+------------------+--------------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+--------------------------------------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+------+---------------+------------------+--------------+------------+------------------+---------------+--------+--------------------------------------------------------------------+--------+
- | id   | model           | storage_capacity | color        | release_year | price      | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                    | vector                              |
+ | id   | model           | color        | sold | date_added    | storage_capacity | release_year | price      | discounted_price | product_codes | values | additional_info                                                    | vector |
- +------+-----------------+------------------+--------------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+--------------------------------------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+------+---------------+------------------+--------------+------------+------------------+---------------+--------+--------------------------------------------------------------------+--------+
- |  144 | Sony Xperia XZ3 |               64 | forest green |         2018 | 899.989990 |       799.989990 |    1 | 3308512240 | 126,127,128   | 3723456764345678976,9223372036854775807 | {"features":["Snapdragon 845","6.0-inch display","Single camera"]} | 0.733448,0.272478,0.097971,0.419821 |
+ |  144 | Sony Xperia XZ3 | forest green | TRUE | 1871619286000 |               64 |         2018 | 899.989990 |       799.989990 | 126,127,128   | NULL   | {"features":["Snapdragon 845","6.0-inch display","Single camera"]} | NULL   |
- +------+-----------------+------------------+--------------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+--------------------------------------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+------+---------------+------------------+--------------+------------+------------------+---------------+--------+--------------------------------------------------------------------+--------+
––– input –––
mysql -v -h0 -P9306 -e "SHOW TABLES; DROP TABLE IF EXISTS tbl; DROP TABLE IF EXISTS abc; SHOW TABLES; CREATE TABLE tbl (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2') engine='columnar';"
––– output –––
--------------
SHOW TABLES
--------------
+-------+------+
| Table | Type |
+-------+------+
| abc   | rt   |
| tbl   | rt   |
+-------+------+
--------------
DROP TABLE IF EXISTS tbl
--------------
--------------
DROP TABLE IF EXISTS abc
--------------
--------------
SHOW TABLES
--------------
--------------
CREATE TABLE tbl (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2') engine='columnar'
--------------
+ ERROR 1064 (42000) at line 1: error adding table 'tbl': knn library not loaded
––– input –––
chmod +x ./test/clt-tests/scripts/generate-1mln-records.sh
––– output –––
OK
––– input –––
total_iterations=20000 ./test/clt-tests/scripts/generate-1mln-records.sh
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET model ='iPhone 15 PRO' WHERE id = 101; select * from tbl WHERE id = 101;"
––– output –––
- +------+---------------+------------------+--------+--------------+-------------+------------------+------+------------+---------------+----------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------------+--------+------+---------------+------------------+--------------+-------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
- | id   | model         | storage_capacity | color  | release_year | price       | discounted_price | sold | date_added | product_codes | values                                 | additional_info                                                                   | vector                              |
+ | id   | model         | color  | sold | date_added    | storage_capacity | release_year | price       | discounted_price | product_codes | values | additional_info                                                                   | vector |
- +------+---------------+------------------+--------+--------------+-------------+------------------+------+------------+---------------+----------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------------+--------+------+---------------+------------------+--------------+-------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
- |  101 | iPhone 15 PRO |              256 | silver |         2021 | 1099.989990 |       989.989990 |    1 | 2224442480 | 1,2,3         | 523456764345678976,9223372036854775807 | {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]} | 0.773448,0.312478,0.137971,0.459821 |
+ |  101 | iPhone 15 PRO | silver | TRUE | 1591362342000 |              256 |         2021 | 1099.989990 |       989.989990 | 1,2,3         | NULL   | {"features":["ProMotion display","A15 Bionic chip","Ceramic Shield front cover"]} | NULL   |
- +------+---------------+------------------+--------+--------------+-------------+------------------+------+------------+---------------+----------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------------+--------+------+---------------+------------------+--------------+-------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET values = (623456764345678976, 9223372036854775807) WHERE id = 120; select * from tbl WHERE id = 120;"
––– output –––
- +------+---------+------------------+-------------+--------------+------------+------------------+------+------------+---------------+----------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------+-------------+------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
- | id   | model   | storage_capacity | color       | release_year | price      | discounted_price | sold | date_added | product_codes | values                                 | additional_info                                                                   | vector                              |
+ | id   | model   | color       | sold | date_added    | storage_capacity | release_year | price      | discounted_price | product_codes | values | additional_info                                                                   | vector |
- +------+---------+------------------+-------------+--------------+------------+------------------+------+------------+---------------+----------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------+-------------+------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
- |  120 | LG Wing |              256 | aurora gray |         2020 | 999.989990 |       899.989990 |    1 | 1496660080 | 57,58,59      | 623456764345678976,9223372036854775807 | {"features":["Qualcomm Snapdragon 765G","Swivel display","Triple-camera system"]} | 0.863448,0.402478,0.227971,0.549821 |
+ |  120 | LG Wing | aurora gray | TRUE | 1698008742000 |              256 |         2020 | 999.989990 |       899.989990 | 57,58,59      | NULL   | {"features":["Qualcomm Snapdragon 765G","Swivel display","Triple-camera system"]} | NULL   |
- +------+---------+------------------+-------------+--------------+------------+------------------+------+------------+---------------+----------------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------+-------------+------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET product_codes = (53,45,77), values = (92233777368548,92233720368548) WHERE id = 119; select * from tbl WHERE id = 119;"
––– output –––
- +------+---------------------+------------------+-------+--------------+------------+------------------+------+------------+---------------+-------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------------------+-------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
- | id   | model               | storage_capacity | color | release_year | price      | discounted_price | sold | date_added | product_codes | values                        | additional_info                                                                   | vector                              |
+ | id   | model               | color | sold  | date_added    | storage_capacity | release_year | price      | discounted_price | product_codes | values | additional_info                                                                   | vector |
- +------+---------------------+------------------+-------+--------------+------------+------------------+------+------------+---------------+-------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------------------+-------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
- |  119 | BlackBerry Evolve X |               64 | black |         2018 | 599.989990 |       499.989990 |    0 | 3697138672 | 45,53,77      | 92233720368548,92233777368548 | {"features":["Qualcomm Snapdragon 660","5.99-inch display","Dual-camera system"]} | 0.051106,0.948278,0.291892,0.104594 |
+ |  119 | BlackBerry Evolve X | black | FALSE | 1691619286000 |               64 |         2018 | 599.989990 |       499.989990 | 45,53,77      | NULL   | {"features":["Qualcomm Snapdragon 660","5.99-inch display","Dual-camera system"]} | NULL   |
- +------+---------------------+------------------+-------+--------------+------------+------------------+------+------------+---------------+-------------------------------+-----------------------------------------------------------------------------------+-------------------------------------+
+ +------+---------------------+-------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET price =15000.99 WHERE id = 117; select * from tbl WHERE id = 117;"
––– output –––
- +------+----------------------+------------------+---------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+--------------------------------------------------------------------------------+-------------------------------------+
+ +------+----------------------+---------------+-------+---------------+------------------+--------------+--------------+------------------+---------------+--------+--------------------------------------------------------------------------------+--------+
- | id   | model                | storage_capacity | color         | release_year | price        | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                                | vector                              |
+ | id   | model                | color         | sold  | date_added    | storage_capacity | release_year | price        | discounted_price | product_codes | values | additional_info                                                                | vector |
- +------+----------------------+------------------+---------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+--------------------------------------------------------------------------------+-------------------------------------+
+ +------+----------------------+---------------+-------+---------------+------------------+--------------+--------------+------------------+---------------+--------+--------------------------------------------------------------------------------+--------+
- |  117 | Motorola Edge 20 Pro |              256 | midnight blue |         2021 | 15000.990234 |       599.989990 |    0 | 1501096560 | 48,49,50      | 1123456764345678976,9223372036854775807 | {"features":["Qualcomm Snapdragon 870","OLED display","Triple-camera system"]} | 0.041106,0.938278,0.281892,0.094594 |
+ |  117 | Motorola Edge 20 Pro | midnight blue | FALSE | 1676538342000 |              256 |         2021 | 15000.990234 |       599.989990 | 48,49,50      | NULL   | {"features":["Qualcomm Snapdragon 870","OLED display","Triple-camera system"]} | NULL   |
- +------+----------------------+------------------+---------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+--------------------------------------------------------------------------------+-------------------------------------+
+ +------+----------------------+---------------+-------+---------------+------------------+--------------+--------------+------------------+---------------+--------+--------------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET price =15000.99, discounted_price =445.88 WHERE id = 330; select * from tbl WHERE id = 330;"
––– output –––
- +------+------------------------------+------------------+------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+---------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------------------+------------+------+---------------+------------------+--------------+--------------+------------------+---------------+--------+---------------------------------------------------------------------------+--------+
- | id   | model                        | storage_capacity | color      | release_year | price        | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                           | vector                              |
+ | id   | model                        | color      | sold | date_added    | storage_capacity | release_year | price        | discounted_price | product_codes | values | additional_info                                                           | vector |
- +------+------------------------------+------------------+------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+---------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------------------+------------+------+---------------+------------------+--------------+--------------+------------------+---------------+--------+---------------------------------------------------------------------------+--------+
- |  330 | Motorola Moto G Power (2021) |               64 | flash gray |         2021 | 15000.990234 |       445.880005 |    1 | 1306783344 | 84,85,86      | 2323456764345678976,9223372036854775807 | {"features":["Snapdragon 662","6.6-inch display","Triple-camera system"]} | 0.663448,0.202478,0.027971,0.349821 |
+ |  330 | Motorola Moto G Power (2021) | flash gray | TRUE | 1766538342000 |               64 |         2021 | 15000.990234 |       445.880005 | 84,85,86      | NULL   | {"features":["Snapdragon 662","6.6-inch display","Triple-camera system"]} | NULL   |
- +------+------------------------------+------------------+------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+---------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------------------+------------+------+---------------+------------------+--------------+--------------+------------------+---------------+--------+---------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET vector= (-0.037794, 0.856278, 0.202892, 0.015594) WHERE id = 102; select * from tbl WHERE id = 102;"
––– output –––
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+----------------------------------------+------------------------------------------------------------------------------------+--------------------------------------+
+ +------+-----------+-------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+------------------------------------------------------------------------------------+--------+
- | id   | model     | storage_capacity | color | release_year | price      | discounted_price | sold | date_added | product_codes | values                                 | additional_info                                                                    | vector                               |
+ | id   | model     | color | sold  | date_added    | storage_capacity | release_year | price      | discounted_price | product_codes | values | additional_info                                                                    | vector |
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+----------------------------------------+------------------------------------------------------------------------------------+--------------------------------------+
+ +------+-----------+-------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+------------------------------------------------------------------------------------+--------+
- |  102 | iPhone 13 |              128 | blue  |         2021 | 799.989990 |       719.989990 |    0 | 1820294112 | 4,5,6         | 623456764345678976,9223372036854775807 | {"features":["A15 Bionic chip","Ceramic Shield front cover","Dual-camera system"]} | -0.037794,0.856278,0.202892,0.015594 |
+ |  102 | iPhone 13 | blue  | FALSE | 1625317932000 |              128 |         2021 | 799.989990 |       719.989990 | 4,5,6         | NULL   | {"features":["A15 Bionic chip","Ceramic Shield front cover","Dual-camera system"]} | NULL   |
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+----------------------------------------+------------------------------------------------------------------------------------+--------------------------------------+
+ +------+-----------+-------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+------------------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET price =15000.99, discounted_price =445.88, vector= (-0.037794, 0.856278, 0.202892, 0.015594) WHERE id = 336; select * from tbl WHERE id = 336;"
––– output –––
- +------+----------------------+------------------+-------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+--------------------------------------+
+ +------+----------------------+-------+------+---------------+------------------+--------------+--------------+------------------+---------------+--------+-----------------------------------------------------------------------------+--------+
- | id   | model                | storage_capacity | color | release_year | price        | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                             | vector                               |
+ | id   | model                | color | sold | date_added    | storage_capacity | release_year | price        | discounted_price | product_codes | values | additional_info                                                             | vector |
- +------+----------------------+------------------+-------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+--------------------------------------+
+ +------+----------------------+-------+------+---------------+------------------+--------------+--------------+------------------+---------------+--------+-----------------------------------------------------------------------------+--------+
- |  336 | HTC Wildfire E1 lite |               32 | black |         2021 | 15000.990234 |       445.880005 |    1 | 3438054384 | 102,103,104   | 2923456764345678976,9223372036854775807 | {"features":["MediaTek Helio A20","6.1-inch display","Dual-camera system"]} | -0.037794,0.856278,0.202892,0.015594 |
+ |  336 | HTC Wildfire E1 lite | black | TRUE | 1811619286000 |               32 |         2021 | 15000.990234 |       445.880005 | 102,103,104   | NULL   | {"features":["MediaTek Helio A20","6.1-inch display","Dual-camera system"]} | NULL   |
- +------+----------------------+------------------+-------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+--------------------------------------+
+ +------+----------------------+-------+------+---------------+------------------+--------------+--------------+------------------+---------------+--------+-----------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET model='iPhone 13 Pro Max', color='titan', storage_capacity=1000, release_year=2023, sold=1, date_added=4077861360, product_codes=(30,31,32), values= (9223372444854775807,9223372036812375244), additional_info= '{\"features\":[\"Snapdragon 900\",\"8.0-inch display\",\"Dual-camera new-system\"]}', vector= (-0.037795, 0.856278, 0.202892, -0.015595) WHERE id = 247; select * from tbl WHERE id = 247;"
––– output –––
- +------+-------------------+------------------+-------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+---------------------------------------+
+ ERROR 1064 (42000) at line 1: row 1, column 4: string expected
- | id   | model             | storage_capacity | color | release_year | price      | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                             | vector                                |
- +------+-------------------+------------------+-------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+---------------------------------------+
- |  247 | iPhone 13 Pro Max |             1000 | titan |         2023 | 799.989990 |       699.989990 |    1 | 4077861360 | 30,31,32      | 9223372036812375244,9223372036854775807 | {"features":["Snapdragon 900","8.0-inch display","Dual-camera new-system"]} | -0.037795,0.856278,0.202892,-0.015595 |
- +------+-------------------+------------------+-------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+---------------------------------------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET additional_info= '{\"features\":[\"Snapdragon 900\",\"8.0-inch display\",\"Dual-camera new-system\"]}' WHERE id = 323; select * from tbl WHERE id =323;"
––– output –––
- +------+------------------+------------------+---------------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+---------------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------+--------+
- | id   | model            | storage_capacity | color         | release_year | price      | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                             | vector                              |
+ | id   | model            | color         | sold  | date_added    | storage_capacity | release_year | price      | discounted_price | product_codes | values | additional_info                                                             | vector |
- +------+------------------+------------------+---------------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+---------------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------+--------+
- |  323 | Asus ROG Phone 5 |              256 | phantom black |         2021 | 999.989990 |       899.989990 |    0 | 3632367600 | 66,67,68      | 1723456764345678976,9223372036854775807 | {"features":["Snapdragon 900","8.0-inch display","Dual-camera new-system"]} | 0.071106,0.968278,0.311892,0.124594 |
+ |  323 | Asus ROG Phone 5 | phantom black | FALSE | 1721619286000 |              256 |         2021 | 999.989990 |       899.989990 | 66,67,68      | NULL   | {"features":["Snapdragon 900","8.0-inch display","Dual-camera new-system"]} | NULL   |
- +------+------------------+------------------+---------------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+-----------------------------------------------------------------------------+-------------------------------------+
+ +------+------------------+---------------+-------+---------------+------------------+--------------+------------+------------------+---------------+--------+-----------------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "Replace Into tbl Set price =15780.99, discounted_price =335.88 WHERE id = 335; select * from tbl WHERE id = 335;"
––– output –––
- +------+-------------+------------------+--------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+-------------------------------------------------------------------------+---------------------------------------+
+ +------+-------------+--------------+-------+---------------+------------------+--------------+--------------+------------------+---------------+--------+-------------------------------------------------------------------------+--------+
- | id   | model       | storage_capacity | color        | release_year | price        | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                         | vector                                |
+ | id   | model       | color        | sold  | date_added    | storage_capacity | release_year | price        | discounted_price | product_codes | values | additional_info                                                         | vector |
- +------+-------------+------------------+--------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+-------------------------------------------------------------------------+---------------------------------------+
+ +------+-------------+--------------+-------+---------------+------------------+--------------+--------------+------------------+---------------+--------+-------------------------------------------------------------------------+--------+
- |  335 | LG G8 ThinQ |              128 | aurora black |         2019 | 15780.990234 |       335.880005 |    0 | 1194467680 | 99,100,101    | 2823456764345678976,9223372036854775807 | {"features":["Snapdragon 855","6.1-inch display","Dual-camera system"]} | -0.118894,0.778278,0.121892,-0.065406 |
+ |  335 | LG G8 ThinQ | aurora black | FALSE | 1805080732000 |              128 |         2019 | 15780.990234 |       335.880005 | 99,100,101    | NULL   | {"features":["Snapdragon 855","6.1-inch display","Dual-camera system"]} | NULL   |
- +------+-------------+------------------+--------------+--------------+--------------+------------------+------+------------+---------------+-----------------------------------------+-------------------------------------------------------------------------+---------------------------------------+
+ +------+-------------+--------------+-------+---------------+------------------+--------------+--------------+------------------+---------------+--------+-------------------------------------------------------------------------+--------+
––– input –––
curl -s -X  POST "http://localhost:9308/tbl/_update/101" -H "Content-Type: application/json" -d '{"doc": {"model": "new-model", "color": "new-color"}}'; echo $?
––– output –––
OK
––– input –––
start_time=$(date +%s%3N) && for i in {1..5000}; do echo "REPLACE INTO tbl SET color = 'color_$i' WHERE id = ${i}01;"; done > /tmp/replace_dump && mysql -h0 -P9306 < /tmp/replace_dump > /dev/null && end_time=$(date +%s%3N) && export elapsed_time=$((end_time - start_time))
––– output –––
OK
––– input –––
echo $elapsed_time
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select count(*) from tbl WHERE regex (color, 'color_[0-9]+')"
––– output –––
- +----------+
+ ERROR 1064 (42000) at line 1: table tbl: stored fields can't be used in expressions
- | count(*) |
- +----------+
- |     5000 |
- +----------+
––– input –––
start_time2=$(date +%s%3N) && for i in {1..5000}; do echo "REPLACE INTO tbl (id, model, storage_capacity, color, release_year, price, discounted_price, sold, date_added, product_codes, values, additional_info, vector) VALUES (${i}101, 'iPhone 13 Pro', 256, 'silver${i}', 2021, 1099.99, 989.99, 'TRUE', '1591362342000', (1,2,3), (523456764345678976, 98765409877866654098, 1109876543450987650987), '{\"features\": [\"ProMotion display\", \"A15 Bionic chip\", \"Ceramic Shield front cover\"]}', (0.773448, 0.312478, 0.137971, 0.459821));"; done > /tmp/replace_dump && mysql -h0 -P9306 < /tmp/replace_dump > /dev/null && end_time2=$(date +%s%3N) && export elapsed_time2=$((end_time2 - start_time2))
––– output –––
OK
––– input –––
echo $elapsed_time2
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select count(*) from tbl WHERE regex (color, 'silver[0-9]+')"
––– output –––
- +----------+
+ ERROR 1064 (42000) at line 1: table tbl: stored fields can't be used in expressions
- | count(*) |
- +----------+
- |     5000 |
- +----------+
––– input –––
echo $((elapsed_time / elapsed_time2))
––– output –––
OK
––– input –––
mysql -v -h0 -P9306 -e "SHOW TABLES; create table abc(id, t1 text, t2 text indexed) engine='columnar'; insert into abc VALUES (1, 'abc', 'cde'); desc abc;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO abc SET t1 ='iPhone 15 PRO' WHERE id = 1;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET model ='iPhone 16 PRO MAX' WHERE id > 105;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET model ='iPhone 17 PRO MAX' WHERE id = 'abs';"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET model ='iPhone 18 PRO' WHERE id in (1,2,3);"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET model ='iPhone 18 PRO' WHERE sold = 0;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET id =777 WHERE id = 144; select * from tbl WHERE id = 144;"
––– output –––
- +------+-----------------+------------------+--------------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+--------------------------------------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+------+---------------+------------------+--------------+------------+------------------+---------------+--------+--------------------------------------------------------------------+--------+
- | id   | model           | storage_capacity | color        | release_year | price      | discounted_price | sold | date_added | product_codes | values                                  | additional_info                                                    | vector                              |
+ | id   | model           | color        | sold | date_added    | storage_capacity | release_year | price      | discounted_price | product_codes | values | additional_info                                                    | vector |
- +------+-----------------+------------------+--------------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+--------------------------------------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+------+---------------+------------------+--------------+------------+------------------+---------------+--------+--------------------------------------------------------------------+--------+
- |  144 | Sony Xperia XZ3 |               64 | forest green |         2018 | 899.989990 |       799.989990 |    1 | 3308512240 | 126,127,128   | 3723456764345678976,9223372036854775807 | {"features":["Snapdragon 845","6.0-inch display","Single camera"]} | 0.733448,0.272478,0.097971,0.419821 |
+ |  144 | Sony Xperia XZ3 | forest green | TRUE | 1871619286000 |               64 |         2018 | 899.989990 |       799.989990 | 126,127,128   | NULL   | {"features":["Snapdragon 845","6.0-inch display","Single camera"]} | NULL   |
- +------+-----------------+------------------+--------------+--------------+------------+------------------+------+------------+---------------+-----------------------------------------+--------------------------------------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+------+---------------+------------------+--------------+------------+------------------+---------------+--------+--------------------------------------------------------------------+--------+
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET model = 'Sony Xperia X\'Z3' WHERE id = 144; select * from tbl WHERE id = 144\G"
––– output –––
*************************** 1. row ***************************
              id: 144
           model: Sony Xperia X'Z3
- storage_capacity: 64
+            color: forest green
-            color: forest green
+             sold: TRUE
-     release_year: 2018
+       date_added: 1871619286000
-            price: 899.989990
+ storage_capacity: 64
- discounted_price: 799.989990
+     release_year: 2018
-             sold: 1
+            price: 899.989990
-       date_added: 3308512240
+ discounted_price: 799.989990
   product_codes: 126,127,128
-           values: 3723456764345678976,9223372036854775807
+           values: NULL
 additional_info: {"features":["Snapdragon 845","6.0-inch display","Single camera"]}
-           vector: 0.733448,0.272478,0.097971,0.419821
+           vector: NULL
––– input –––
mysql -h0 -P9306 -e "REPLACE INTO tbl SET release_year = 2019 WHERE id = 144; select * from tbl WHERE id = 144\G"
––– output –––
*************************** 1. row ***************************
              id: 144
           model: Sony Xperia X'Z3
- storage_capacity: 64
+            color: forest green
-            color: forest green
+             sold: TRUE
-     release_year: 2019
+       date_added: 1871619286000
-            price: 899.989990
+ storage_capacity: 64
- discounted_price: 799.989990
+     release_year: 2019
-             sold: 1
+            price: 899.989990
-       date_added: 3308512240
+ discounted_price: 799.989990
   product_codes: 126,127,128
-           values: 3723456764345678976,9223372036854775807
+           values: NULL
 additional_info: {"features":["Snapdragon 845","6.0-inch display","Single camera"]}
-           vector: 0.733448,0.272478,0.097971,0.419821
+           vector: NULL
test/clt-tests/expected-errors/buddy-plugin-select.rec
––– input –––
apt-get -y remove 'manticore-buddy' > /dev/null; echo $?
––– output –––
OK
––– input –––
stdbuf -oL searchd
––– output –––
- Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) (embeddings %{VERSION})
+ Manticore 0.0.0 16643bfc1@26041116 (columnar 13.0.0 e60b083@26032708) (secondary 13.0.0 e60b083@26032708)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
- [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+ [Sat Apr 11 16:28:42.001 2026] [35] WARNING: Error initializing knn index: daemon requires knn library v13 (trying to load v12)
- starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) (embeddings %{VERSION})' ...
+ [Sat Apr 11 16:28:42.033 2026] [35] using config file '/etc/manticoresearch/manticore.conf' (269 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '0.0.0 16643bfc1@26041116 (columnar 13.0.0 e60b083@26032708) (secondary 13.0.0 e60b083@26032708)' ...
- listening on %{IPADDR}:9306 for mysql
+ listening on 127.0.0.1:9312 for sphinx and http(s)
- listening on %{IPADDR}:9308 for sphinx and http(s)
+ listening on 127.0.0.1:9306 for mysql
+ listening on 127.0.0.1:9308 for sphinx and http(s)
––– input –––
mysql -h0 -P9306 -e 'CREATE TABLE test (id BIGINT, name TEXT, date TIMESTAMP);'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SELECT * FROM manticore.test;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SELECT * FROM `manticore`.test;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SELECT * FROM `Manticore`.test;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SELECT * FROM information_schema.files;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SELECT * FROM information_schema.tables;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SELECT * FROM information_schema.triggers;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SELECT * FROM information_schema.column_statistics;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SELECT * FROM information_schema.columns;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test WHERE id = '1';"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test WHERE id IN ('1');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COALESCE(name, '') = '' FROM test;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM test WHERE CONTAINS(text_field, 'NEAR((word1, word2), 3)');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT DISTINCT TABLE_SCHEMA from information_schema.TABLES;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT DATE_ADD(DATE(date), INTERVAL (HOUR(date) * 60 * 60 + MINUTE(date) * 60 + SECOND(date)) SECOND) AS date FROM test;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT DATE_ADD(DATE(date), INTERVAL (HOUR(date) * 60 * 60 + MINUTE(date) * 60 + SECOND(date)) SECOND) FROM test;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT DATE_ADD(DATE(date), INTERVAL (HOUR(date)*60 + MINUTE(date)) MINUTE) AS date FROM test;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT DATE_ADD(DATE(date), INTERVAL (HOUR(date)*60*60 + MINUTE(date)*60 + SECOND(date)) SECOND) FROM test;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT DATE_ADD(DATE(date), INTERVAL HOUR(date) HOUR) AS date FROM test;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT DATE_ADD(DATE(date), INTERVAL HOUR(date) HOUR) FROM test;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT DATE(date) AS date FROM test;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT DATE(date) FROM test;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SELECT DATE(DATE_SUB(date, INTERVAL DAYOFMONTH(date)-1 DAY)) AS date FROM test;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SELECT DATE(DATE_SUB(date, INTERVAL DAYOFMONTH(date)-1 DAY)) FROM test;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SELECT DATE(DATE_SUB(date, INTERVAL DAYOFYEAR(date)-1 DAY)) AS date FROM test;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SELECT DATE(DATE_SUB(date, INTERVAL DAYOFYEAR(date)-1 DAY)) FROM test;'
––– output –––
OK
test/clt-tests/data-manipulation/test-alter-rename-nightly.rec
––– input –––
stdbuf -oL searchd; if timeout 10 grep -qm1 'accepting' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Started'; else echo 'Timeout or failed!'; fi
––– output –––
- Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) (embeddings %{VERSION})
+ Manticore 0.0.0 16643bfc1@26041116 (columnar 13.0.0 e60b083@26032708) (secondary 13.0.0 e60b083@26032708)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
- [#!/[0-9a-zA-Z\:\.\s]+/!#] [#!/[0-9]+/!#] using config file '/etc/manticoresearch/manticore.conf' (%{NUMBER} chars)...
+ [Sat Apr 11 16:25:25.544 2026] [19] WARNING: Error initializing knn index: daemon requires knn library v13 (trying to load v12)
- starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) (embeddings %{VERSION})' ...
+ [Sat Apr 11 16:25:25.576 2026] [19] using config file '/etc/manticoresearch/manticore.conf' (269 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '0.0.0 16643bfc1@26041116 (columnar 13.0.0 e60b083@26032708) (secondary 13.0.0 e60b083@26032708)' ...
- listening on %{IPADDR}:9306 for mysql
+ listening on 127.0.0.1:9312 for sphinx and http(s)
- listening on %{IPADDR}:9308 for sphinx and http(s)
+ listening on 127.0.0.1:9306 for mysql
- Started
+ listening on 127.0.0.1:9308 for sphinx and http(s)
+ Started
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE index2001(f text, s string); insert into index2001 values(01,'abc','string');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE index2002(f text, s string); insert into index2002 values(02,'def','string');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE index2003(f text, s string); insert into index2003 values(03,'ghi','string');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE index2004(f text, s string); insert into index2004 values(04,'jkl','string');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE index2001 RENAME new_index2001;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE index2002 RENAME new_index2002;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE index2003 RENAME new_index2003;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE index2004 RENAME new_index2004;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE index2006(f text, s string); insert into index2006 values(3,'ghi','string');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE index2007(f text, s string); insert into index2007 values(4,'jkl','string');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE dist_table type='distributed' local='index2006' local='index2007';"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES; DESC dist_table"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE dist_table RENAME new_dist_table;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE TABLE products(title text, meta json) type='pq';"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE products RENAME new_products;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE nonexistent RENAME new_nonexistent;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "ALTER TABLE invalid-name RENAME new_invalid_name;"
––– output –––
OK
––– input –––
for i in $(seq 1 1000); do mysql -h0 -P9306 -e "CREATE TABLE index${i}(f text, s string); insert into index${i} values(${i}, 'value${i}', 'string');"; done
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES" | awk 'NR==1{print $0; next} {print $0 | "sort"}'
––– output –––
OK
––– input –––
for i in $(seq 1 1000); do mysql -h0 -P9306 -e "ALTER TABLE index${i} RENAME new_index${i};"; done
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW TABLES" | awk 'NR==1{print $0; next} {print $0 | "sort"}'
––– output –––
OK
test/clt-tests/expected-errors/buddy-plugin-backup.rec
––– input –––
apt-get -y remove 'manticore-buddy' > /dev/null; echo $?
––– output –––
OK
––– input –––
stdbuf -oL searchd
––– output –––
- Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) (embeddings %{VERSION})
+ Manticore 0.0.0 16643bfc1@26041116 (columnar 13.0.0 e60b083@26032708) (secondary 13.0.0 e60b083@26032708)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
- [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+ [Sat Apr 11 16:28:36.527 2026] [35] WARNING: Error initializing knn index: daemon requires knn library v13 (trying to load v12)
- starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) (embeddings %{VERSION})' ...
+ [Sat Apr 11 16:28:36.560 2026] [35] using config file '/etc/manticoresearch/manticore.conf' (269 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '0.0.0 16643bfc1@26041116 (columnar 13.0.0 e60b083@26032708) (secondary 13.0.0 e60b083@26032708)' ...
- listening on %{IPADDR}:9306 for mysql
+ listening on 127.0.0.1:9312 for sphinx and http(s)
- listening on %{IPADDR}:9308 for sphinx and http(s)
+ listening on 127.0.0.1:9306 for mysql
+ listening on 127.0.0.1:9308 for sphinx and http(s)
––– input –––
mysql -h0 -P9306 -e 'CREATE TABLE test (id BIGINT, name TEXT, date TIMESTAMP);'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'BACKUP TABLES users, posts TO '/backup/location';'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'BACKUP TABLES users, posts TO '/backup/location' OPTIONS compress=true, async=false;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'BACKUP TABLES TO '/backup/location' OPTIONS compress=true, async=false;'
––– output –––
OK
test/clt-tests/expected-errors/buddy-plugin-empty-string.rec
––– input –––
apt-get -y remove 'manticore-buddy' > /dev/null; echo $?
––– output –––
OK
––– input –––
stdbuf -oL searchd
––– output –––
- Manticore %{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) (embeddings %{VERSION})
+ Manticore 0.0.0 16643bfc1@26041116 (columnar 13.0.0 e60b083@26032708) (secondary 13.0.0 e60b083@26032708)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-%{YEAR}, Manticore Software LTD (https://manticoresearch.com)
- [#!/[0-9a-zA-Z\:\.\s]+/!#] [%{NUMBER}] using config file '%{PATH}' (%{NUMBER} chars)...
+ [Sat Apr 11 16:28:39.280 2026] [35] WARNING: Error initializing knn index: daemon requires knn library v13 (trying to load v12)
- starting daemon version '%{VERSION} (columnar %{VERSION}) (secondary %{VERSION}) (knn %{VERSION}) (embeddings %{VERSION})' ...
+ [Sat Apr 11 16:28:39.312 2026] [35] using config file '/etc/manticoresearch/manticore.conf' (269 chars)...
- listening on %{IPADDR}:9312 for sphinx and http(s)
+ starting daemon version '0.0.0 16643bfc1@26041116 (columnar 13.0.0 e60b083@26032708) (secondary 13.0.0 e60b083@26032708)' ...
- listening on %{IPADDR}:9306 for mysql
+ listening on 127.0.0.1:9312 for sphinx and http(s)
- listening on %{IPADDR}:9308 for sphinx and http(s)
+ listening on 127.0.0.1:9306 for mysql
+ listening on 127.0.0.1:9308 for sphinx and http(s)
––– input –––
mysql -h0 -P9306 -e 'CREATE TABLE test (id BIGINT, name TEXT, date TIMESTAMP);'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SET @saved_cs_client = @@character_set_client;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e 'SET character_set_client = utf8mb4;'
––– output –––
OK

@github-actions
Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/replication/test-cluster-creation-without-replication test/clt-tests/replication/test-exit-cluster-3-nodes test/clt-tests/replication/test-exit-cluster-restart-survivor test/clt-tests/replication/test-exit-cluster-shared-node-multicluster test/clt-tests/replication/test-exit-cluster test/clt-tests/replication/test-generation-of-document-auto-id-in-replication test/clt-tests/replication/test-ist-recovery-after-node-crash test/clt-tests/replication/test-lock-tables-replicated test/clt-tests/replication/test-replication-with-mysqldump test/clt-tests/replication/test-replication
✅ OK: 12
❌ Failed: 2
⏳ Duration: 280s
👉 Check Action Results for commit 16643bf

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/replication/test-replication-with-mysqldump.rec
––– input –––
export INSTANCE=1
––– output –––
OK
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
OK
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore-${INSTANCE}/searchd.log; fi
––– output –––
OK
––– input –––
export INSTANCE=2
––– output –––
OK
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
OK
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore-${INSTANCE}/searchd.log; fi
––– output –––
OK
––– input –––
export INSTANCE=3
––– output –––
OK
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
OK
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore-${INSTANCE}/searchd.log; fi
––– output –––
OK
––– input –––
export CLUSTER_NAME=c
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
OK
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt
––– output –––
OK
––– input –––
echo 'cat => feline' > /tmp/exceptions.txt
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl1 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' exceptions='/tmp/exceptions.txt' rt_mem_limit='256M';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: error adding table 'tbl1': knn library not loaded
+ 1
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
-         Value: engine = columnar
- exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_0.txt
- morphology = stem_en
- stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_0.txt
- rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl1 VALUES (1, 'The cat runs', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
+ 1
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"
––– output –––
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl1'
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
OK
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
OK
––– input –––
echo '=> faster' > /tmp/wordforms.txt
––– output –––
OK
––– input –––
mysql -h0 -P2306 -e "CREATE TABLE tbl2 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' wordforms='/tmp/wordforms.txt' rt_mem_limit='512M';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: error adding table 'tbl2': knn library not loaded
+ 1
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
-         Value: engine = rowwise
- morphology = stem_ru
- wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
- rt_mem_limit = 536870912
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (1, 'Текст на русском', 84, 2.71, '{\"ключ\":\"значение\"}', (4,5,6), 'строка', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
+ 1
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (2, 'Прыжок', 19, 1.62, '{\"движение\":\"прыжок\",\"число\":3}', (7,8,9), 'пример', 1, '2024-06-10 15:45:00', (345678901234567890, 567890123456789012), (0.8, 0.7, 0.6, 0.5));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
+ 1
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"
––– output –––
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl2'
––– input –––
mysql -h0 -P3306 -e "CREATE TABLE tbl3 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' rt_mem_limit='512M';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: error adding table 'tbl3': knn library not loaded
+ 1
––– input –––
mysql -h0 -P3306 -e "SHOW TABLE tbl3 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
-         Value: engine = rowwise
- rt_mem_limit = 536870912
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Plain example', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER c ADD tbl3;"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
- +-------------------+----------------+
+ +-------------------+-------+
- | Counter           | Value          |
+ | Counter           | Value |
- +-------------------+----------------+
+ +-------------------+-------+
- | cluster_c_indexes | tbl1,tbl2,tbl3 |
+ | cluster_c_indexes | tbl3  |
- +-------------------+----------------+
+ +-------------------+-------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+ Data from c:tbl1 on port 2306:
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ Data from c:tbl1 on port 3306:
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 3306:
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- | id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+ Data from c:tbl2 on port 2306:
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- |    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+ Data from c:tbl2 on port 3306:
- |    2 | Прыжок                         |   19 | 1.620000 | {"движение":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl2 on port 2306:
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- |    2 | Прыжок                         |   19 | 1.620000 | {"движение":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl2 on port 3306:
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- |    2 | Прыжок                         |   19 | 1.620000 | {"движение":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
- | id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+ | id   | f             | s            | d                   | a    | b        | j               | m     | e    | v                                     | fv   |
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
- |    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ |    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3 |    1 | 123456789012345678,987654321098765432 | NULL |
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
Data from c:tbl3 on port 2306:
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
- | id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+ | id   | f             | s            | d                   | a    | b        | j               | m     | e    | v                                     | fv   |
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
- |    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ |    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3 |    1 | 123456789012345678,987654321098765432 | NULL |
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
Data from c:tbl3 on port 3306:
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
- | id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+ | id   | f             | s            | d                   | a    | b        | j               | m     | e    | v                                     | fv   |
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
- |    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ |    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3 |    1 | 123456789012345678,987654321098765432 | NULL |
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO c:tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
+ 1
––– input –––
mysqldump --skip-lock-tables -etc --column-statistics=0 --replace -u cluster -h0 -P1306 --skip-comments manticore c:tbl1 | mysql -h0 -P1306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't find table: "c:tbl1"
+ 0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+ Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do mysql -h0 -P$port -e "SET GLOBAL cluster_user = 'new_username';"; done
––– output –––
OK
––– input –––
for port in 1306 2306 3306; do timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW VARIABLES LIKE 'cluster_user';\" | grep -q '| cluster_user  | new_username |'; do sleep 1; done" && echo "Port $port: cluster_user is new_username." || { echo "Port $port: cluster_user is not new_username."; exit 1; }; done
––– output –––
OK
––– input –––
mysql -h0 -P2306 -e "DELETE FROM c:tbl2 WHERE id = 2;"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: unknown table 'tbl2' in delete request
+ 1
––– input –––
mysql -h0 -P3306 -e "INSERT INTO c:tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'New plain entry', 50, 5.5, '{\"new\":\"entry\"}', (10,11,12), 'new_string', 0, '2025-03-02 10:00:00', (111222333444555666, 777888999000111222), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
OK
––– input –––
mysqldump -etc --skip-lock-tables --column-statistics=0 --replace --net-buffer-length=16M -u new_username -h0 -P2306 --skip-comments manticore c:tbl1 c:tbl2 c:tbl3 | mysql -h0 -P3306; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't find table: "c:tbl1"
+ 0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+ Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- | id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+ Data from c:tbl2 on port 2306:
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- |    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+ Data from c:tbl2 on port 3306:
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- Data from c:tbl2 on port 2306:
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl2 on port 3306:
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl3 on port 1306:
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
- | id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+ | id   | f               | s            | d                   | a    | b        | j               | m        | e    | v                                     | fv   |
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
- |    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ |    1 | Plain example   | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3    |    1 | 123456789012345678,987654321098765432 | NULL |
- |    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+ |    2 | New plain entry | new_string   | 2025-03-02 10:00:00 |   50 | 5.500000 | {"new":"entry"} | 10,11,12 |    0 | 111222333444555666,777888999000111222 | NULL |
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
Data from c:tbl3 on port 2306:
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
- | id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+ | id   | f               | s            | d                   | a    | b        | j               | m        | e    | v                                     | fv   |
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
- |    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ |    1 | Plain example   | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3    |    1 | 123456789012345678,987654321098765432 | NULL |
- |    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+ |    2 | New plain entry | new_string   | 2025-03-02 10:00:00 |   50 | 5.500000 | {"new":"entry"} | 10,11,12 |    0 | 111222333444555666,777888999000111222 | NULL |
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
Data from c:tbl3 on port 3306:
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
- | id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+ | id   | f               | s            | d                   | a    | b        | j               | m        | e    | v                                     | fv   |
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
- |    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ |    1 | Plain example   | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3    |    1 | 123456789012345678,987654321098765432 | NULL |
- |    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+ |    2 | New plain entry | new_string   | 2025-03-02 10:00:00 |   50 | 5.500000 | {"new":"entry"} | 10,11,12 |    0 | 111222333444555666,777888999000111222 | NULL |
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c DROP tbl1;"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl1'
+ 1
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
- +-------------------+-----------+
+ +-------------------+-------+
- | Counter           | Value     |
+ | Counter           | Value |
- +-------------------+-----------+
+ +-------------------+-------+
- | cluster_c_indexes | tbl2,tbl3 |
+ | cluster_c_indexes | tbl3  |
- +-------------------+-----------+
+ +-------------------+-------+
––– input –––
echo 'new, stop, words' > /tmp/new_stopwords.txt; echo $?
––– output –––
OK
––– input –––
echo 'dog => canine' > /tmp/new_exceptions.txt; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "ALTER TABLE tbl1 stopwords='/tmp/new_stopwords.txt' exceptions='/tmp/new_exceptions.txt';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'tbl1' is not found, or not real-time
+ 1
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
-         Value: engine = columnar
- exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_1.txt
- morphology = stem_en
- stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_1.txt
- rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
+ 1
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl1'
+ 1
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+ Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE c:tbl1 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
-         Value: engine = columnar
- exceptions = /var/log/manticore-2/tbl1/exceptions_chunk0_1.txt
- morphology = stem_en
- stopwords = /var/log/manticore-2/tbl1/stopwords_chunk0_1.txt
- rt_mem_limit = 268435456
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('new runs');"; done
––– output –––
Data from c:tbl1 on port 1306:
- +------+---------------------+----------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f                   | highlight()                |
+ Data from c:tbl1 on port 2306:
- +------+---------------------+----------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | Updated feline runs | Updated feline <b>runs</b> |
+ Data from c:tbl1 on port 3306:
- +------+---------------------+----------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+---------------------+----------------------------+
- | id   | f                   | highlight()                |
- +------+---------------------+----------------------------+
- |    1 | Updated feline runs | Updated feline <b>runs</b> |
- +------+---------------------+----------------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------------+----------------------------+
- | id   | f                   | highlight()                |
- +------+---------------------+----------------------------+
- |    1 | Updated feline runs | Updated feline <b>runs</b> |
- +------+---------------------+----------------------------+
––– input –––
mysql -h0 -P1306 -e "INSERT INTO c:tbl1 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'The dog barks', 10, 2.5, '{\"animal\":\"dog\"}', (4,5), 'bark', 1, '2025-01-01 10:00:00', (111222333444555, 666777888999000), (0.5, 0.6, 0.7, 0.8));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'tbl1' absent
+ 1
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('canine');"; done
––– output –––
Data from c:tbl1 on port 1306:
- +------+---------------+----------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f             | highlight()          |
+ Data from c:tbl1 on port 2306:
- +------+---------------+----------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    2 | The dog barks | The <b>dog</b> barks |
+ Data from c:tbl1 on port 3306:
- +------+---------------+----------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+---------------+----------------------+
- | id   | f             | highlight()          |
- +------+---------------+----------------------+
- |    2 | The dog barks | The <b>dog</b> barks |
- +------+---------------+----------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------+----------------------+
- | id   | f             | highlight()          |
- +------+---------------+----------------------+
- |    2 | The dog barks | The <b>dog</b> barks |
- +------+---------------+----------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl1 on port 1306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+ Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ Data from c:tbl1 on port 3306:
- |    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- |    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- |    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c DROP tbl2;"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl2'
+ 1
––– input –––
mysql -h0 -P2306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
- +-------------------+-----------+
+ +-------------------+-------+
- | Counter           | Value     |
+ | Counter           | Value |
- +-------------------+-----------+
+ +-------------------+-------+
- | cluster_c_indexes | tbl3,tbl1 |
+ | cluster_c_indexes | tbl3  |
- +-------------------+-----------+
+ +-------------------+-------+
––– input –––
ls /usr/share/manticore/ru.pak
––– output –––
OK
––– input –––
mysql -h0 -P2306 -e "ALTER TABLE tbl2 morphology='lemmatize_ru';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'tbl2' is not found, or not real-time
+ 1
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
-         Value: engine = rowwise
- morphology = lemmatize_ru
- wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
- rt_mem_limit = 536870912
––– input –––
mysqldump -etc --column-statistics=0 --replace -u new_username -h0 -P2306 --skip-comments manticore tbl2 | mysql -P2306 -h0; echo $?
––– output –––
-- Warning: version string returned by server is incorrect.
- 0
+ mysqldump: Couldn't find table: "tbl2"
+ 0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl2'
+ 1
––– input –––
mysql -h0 -P2306 -e "INSERT INTO c:tbl2 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Кот прыжки делает', 5, 1.1, '{\"движение\":\"прыжки\"}', (10,11), 'кот', 1, '2025-03-11 12:00:00', (111111111, 222222222), (0.9, 0.8, 0.7, 0.6));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'tbl2' absent
+ 1
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl2 WHERE MATCH('прыжок');"; done
––– output –––
Data from c:tbl2 on port 1306:
- +------+----------------------------------+-----------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- | id   | f                                | highlight()                             |
+ Data from c:tbl2 on port 2306:
- +------+----------------------------------+-----------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- |    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+ Data from c:tbl2 on port 3306:
- +------+----------------------------------+-----------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- Data from c:tbl2 on port 2306:
- +------+----------------------------------+-----------------------------------------+
- | id   | f                                | highlight()                             |
- +------+----------------------------------+-----------------------------------------+
- |    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
- +------+----------------------------------+-----------------------------------------+
- Data from c:tbl2 on port 3306:
- +------+----------------------------------+-----------------------------------------+
- | id   | f                                | highlight()                             |
- +------+----------------------------------+-----------------------------------------+
- |    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
- +------+----------------------------------+-----------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
Data from c:tbl2 on port 1306:
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- | id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+ Data from c:tbl2 on port 2306:
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- |    1 | Текст на русском                 |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+ Data from c:tbl2 on port 3306:
- |    2 | Кот прыжки делает                |    5 | 1.100000 | {"движение":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl2 on port 2306:
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Текст на русском                 |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- |    2 | Кот прыжки делает                |    5 | 1.100000 | {"движение":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl2 on port 3306:
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Текст на русском                 |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- |    2 | Кот прыжки делает                |    5 | 1.100000 | {"движение":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
rm -f /tmp/stopwords.txt /tmp/exceptions.txt /tmp/wordforms.txt /var/lib/manticore/tbl3.conf dump.sql
––– output –––
OK

@github-actions
Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/sharding/functional/functional-sharding-and-cluster-negative test/clt-tests/sharding/functional/functional-sharding-positive test/clt-tests/sharding/functional/test-dist-table-shards-5000 test/clt-tests/sharding/replication/create-table-1-node-10-shards test/clt-tests/sharding/replication/create-table-2-nodes-4-shards test/clt-tests/sharding/replication/create-table-3-nodes-6-shards test/clt-tests/sharding/replication/create-table-5-nodes-60-shards test/clt-tests/sharding/replication/test-data-manipulation test/clt-tests/sharding/replication/test-distributed-inserts-with-replication test/clt-tests/sharding/replication/test-multi-node-sharding-and-replication
✅ OK: 9
❌ Failed: 1
⏳ Duration: 274s
👉 Check Action Results for commit 16643bf

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/sharding/replication/test-distributed-inserts-with-replication.rec
––– input –––
apt-get install -y jq > /dev/null; echo $?
––– output –––
OK
––– input –––
export INSTANCE=1
––– output –––
OK
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
OK
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore-${INSTANCE}/searchd.log;fi
––– output –––
OK
––– input –––
export INSTANCE=2
––– output –––
OK
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
OK
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore-${INSTANCE}/searchd.log;fi
––– output –––
OK
––– input –––
export CLUSTER_NAME=replication
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "CREATE CLUSTER ${CLUSTER_NAME}"
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
OK
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "JOIN CLUSTER ${CLUSTER_NAME} AT '127.0.0.1:1312'"; done;
––– output –––
OK
––– input –––
mysql -h0 -P${INSTANCE}306 -e "SHOW STATUS LIKE 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
OK
––– input –––
for port in 1306 2306; do echo "Checking status for port $port:"; timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW STATUS LIKE 'cluster_replication_node_state'\G\" | grep -q 'Value: synced'; do sleep 1; done" && echo "Port $port: Node is synced." || echo "Port $port: Node is not synced (Value: closed or other)."; done
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "DROP TABLE IF EXISTS test2;"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE replication:test2 (id BIGINT, model TEXT, storage_capacity INTEGER, color STRING, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') SHARDS='3' RF='2';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Waiting timeout exceeded.
+ 1
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_replication_node_state'\G"
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "SHOW TABLES FROM SYSTEM\G"
––– output –––
*************************** 1. row ***************************
Table: system.sharding_queue
 Type: rt
*************************** 2. row ***************************
Table: system.sharding_state
 Type: rt
*************************** 3. row ***************************
Table: system.sharding_table
 Type: rt
- *************************** 4. row ***************************
- Table: system.test2_s0
-  Type: rt
- *************************** 5. row ***************************
- Table: system.test2_s1
-  Type: rt
- *************************** 6. row ***************************
- Table: system.test2_s2
-  Type: rt
––– input –––
mysql -h0 -P2306 -e "SHOW TABLES FROM SYSTEM\G"
––– output –––
*************************** 1. row ***************************
Table: system.sharding_queue
 Type: rt
*************************** 2. row ***************************
Table: system.sharding_state
 Type: rt
*************************** 3. row ***************************
Table: system.sharding_table
 Type: rt
- *************************** 4. row ***************************
- Table: system.test2_s0
-  Type: rt
- *************************** 5. row ***************************
- Table: system.test2_s1
-  Type: rt
- *************************** 6. row ***************************
- Table: system.test2_s2
-  Type: rt
––– input –––
mysql -P1306 -h0 -e "SHOW TABLES;"
––– output –––
- +-------+-------------+
- | Table | Type        |
- +-------+-------------+
- | test2 | distributed |
- +-------+-------------+
––– input –––
mysql -P2306 -h0 -e "SHOW TABLES;"
––– output –––
OK
––– input –––
mysql -P1306 -h0 -e "DESCRIBE test2;"
––– output –––
- +------------------+--------------+----------------+
+ ERROR 1064 (42000) at line 1: no such table 'test2'
- | Field            | Type         | Properties     |
- +------------------+--------------+----------------+
- | id               | bigint       |                |
- | model            | text         | indexed stored |
- | storage_capacity | uint         |                |
- | color            | string       |                |
- | release_year     | uint         |                |
- | price            | float        |                |
- | discounted_price | float        |                |
- | sold             | bool         |                |
- | date_added       | timestamp    |                |
- | product_codes    | mva          |                |
- | values           | mva64        |                |
- | additional_info  | json         |                |
- | vector           | float_vector | knn            |
- +------------------+--------------+----------------+
––– input –––
curl -s -X POST http://localhost:1308/insert -d '{"cluster": "replication", "table": "test2", "id": 1, "doc": {"model": "iPhone 13 Pro", "storage_capacity": 256, "color": "silver", "release_year": 2021, "price": 1099.99, "discounted_price": 989.99, "sold": 1, "date_added": 1591362342000, "product_codes": [1,2,3], "values": [523456764345678976], "additional_info": {"features": ["ProMotion display", "A15 Bionic chip"]}, "vector": [0.773448,0.312478,0.137971,0.459821]}}' | jq '.result'
––– output –––
- "created"
+ null
––– input –––
curl -s -X POST http://localhost:1308/insert -d '{"cluster": "replication", "table": "test2", "id": 2, "doc": {"model": "Galaxy S21 Ultra", "storage_capacity": 128, "color": "black", "release_year": 2021, "price": 1199.99, "discounted_price": 1099.99, "sold": 1, "date_added": 1609459200000, "product_codes": [4,5,6], "values": [1234567890123456789], "additional_info": {"features": ["Dynamic AMOLED 2X", "Exynos 2100"]}, "vector": [0.5,0.4,0.3,0.2]}}' | jq '.result'
––– output –––
- "created"
+ null
––– input –––
curl -s -X POST http://localhost:1308/insert -d '{"cluster": "replication", "table": "test2", "id": 3, "doc": {"model": "Pixel 6", "storage_capacity": 128, "color": "white", "release_year": 2021, "price": 599.99, "discounted_price": 549.99, "sold": false, "date_added": 1630454400000, "product_codes": [7,8,9], "values": [987654321987654321], "additional_info": {"features": ["Smooth display", "Google Tensor chip"]}, "vector": [0.8,0.6,0.4,0.2]}}' | jq '.result'
––– output –––
- "created"
+ null
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM test2 ORDER BY id ASC;"
––– output –––
- +------+------------------+------------------+--------+--------------+-------------+------------------+------+------------+---------------+---------------------+------------------------------------------------------+-------------------------------------+
- | id   | model            | storage_capacity | color  | release_year | price       | discounted_price | sold | date_added | product_codes | values              | additional_info                                      | vector                              |
- +------+------------------+------------------+--------+--------------+-------------+------------------+------+------------+---------------+---------------------+------------------------------------------------------+-------------------------------------+
- |    1 | iPhone 13 Pro    |              256 | silver |         2021 | 1099.989990 |       989.989990 |    1 | 2224442480 | 1,2,3         | 523456764345678976  | {"features":["ProMotion display","A15 Bionic chip"]} | 0.773448,0.312478,0.137971,0.459821 |
- |    2 | Galaxy S21 Ultra |              128 | black  |         2021 | 1199.989990 |      1099.989990 |    1 | 3141431296 | 4,5,6         | 1234567890123456789 | {"features":["Dynamic AMOLED 2X","Exynos 2100"]}     | 0.500000,0.400000,0.300000,0.200000 |
- |    3 | Pixel 6          |              128 | white  |         2021 |  599.989990 |       549.989990 |    0 | 2661794816 | 7,8,9         | 987654321987654321  | {"features":["Smooth display","Google Tensor chip"]} | 0.800000,0.600000,0.400000,0.200000 |
- +------+------------------+------------------+--------+--------------+-------------+------------------+------+------------+---------------+---------------------+------------------------------------------------------+-------------------------------------+
––– input –––
curl -s -X POST http://localhost:1308/replace -d '{"cluster": "replication", "table": "test2", "id": 1, "doc": {"model": "Updated Model", "storage_capacity": 512, "color": "black", "release_year": 2022, "price": 1399.99, "discounted_price": 1299.99, "sold": false, "date_added": 1630454400000, "product_codes": [10,11,12], "values": [987654321987654321], "additional_info": {"features": ["New feature 1", "New feature 2"]}, "vector": [0.7,0.8,0.9,1.0]}}' | jq '.result'
––– output –––
- "updated"
+ null
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM test2 ORDER BY id ASC;"
––– output –––
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------+------------------------------------------------------+-------------------------------------+
- | id   | model            | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values              | additional_info                                      | vector                              |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------+------------------------------------------------------+-------------------------------------+
- |    1 | Updated Model    |              512 | black |         2022 | 1399.989990 |      1299.989990 |    0 | 2661794816 | 10,11,12      | 987654321987654321  | {"features":["New feature 1","New feature 2"]}       | 0.700000,0.800000,0.900000,1.000000 |
- |    2 | Galaxy S21 Ultra |              128 | black |         2021 | 1199.989990 |      1099.989990 |    1 | 3141431296 | 4,5,6         | 1234567890123456789 | {"features":["Dynamic AMOLED 2X","Exynos 2100"]}     | 0.500000,0.400000,0.300000,0.200000 |
- |    3 | Pixel 6          |              128 | white |         2021 |  599.989990 |       549.989990 |    0 | 2661794816 | 7,8,9         | 987654321987654321  | {"features":["Smooth display","Google Tensor chip"]} | 0.800000,0.600000,0.400000,0.200000 |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------+------------------------------------------------------+-------------------------------------+
––– input –––
curl -s -X POST http://localhost:1308/update -d '{"cluster": "replication", "table": "test2", "id": 2, "doc": {"price": 1099.99, "discounted_price": 999.99}}' | jq '.result'
––– output –––
- "updated"
+ null
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM test2 ORDER BY id ASC;"
––– output –––
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------+------------------------------------------------------+-------------------------------------+
- | id   | model            | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values              | additional_info                                      | vector                              |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------+------------------------------------------------------+-------------------------------------+
- |    1 | Updated Model    |              512 | black |         2022 | 1399.989990 |      1299.989990 |    0 | 2661794816 | 10,11,12      | 987654321987654321  | {"features":["New feature 1","New feature 2"]}       | 0.700000,0.800000,0.900000,1.000000 |
- |    2 | Galaxy S21 Ultra |              128 | black |         2021 | 1099.989990 |       999.989990 |    1 | 3141431296 | 4,5,6         | 1234567890123456789 | {"features":["Dynamic AMOLED 2X","Exynos 2100"]}     | 0.500000,0.400000,0.300000,0.200000 |
- |    3 | Pixel 6          |              128 | white |         2021 |  599.989990 |       549.989990 |    0 | 2661794816 | 7,8,9         | 987654321987654321  | {"features":["Smooth display","Google Tensor chip"]} | 0.800000,0.600000,0.400000,0.200000 |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------+------------------------------------------------------+-------------------------------------+
––– input –––
curl -s -X POST http://localhost:1308/update -d '{"cluster": "replication", "table": "test2", "id": 2, "doc": {"price": 1099.99, "discounted_price": 999.99}}' | jq '.result'
––– output –––
- "updated"
+ null
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM test2 ORDER BY id ASC;"
––– output –––
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------+------------------------------------------------------+-------------------------------------+
- | id   | model            | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values              | additional_info                                      | vector                              |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------+------------------------------------------------------+-------------------------------------+
- |    1 | Updated Model    |              512 | black |         2022 | 1399.989990 |      1299.989990 |    0 | 2661794816 | 10,11,12      | 987654321987654321  | {"features":["New feature 1","New feature 2"]}       | 0.700000,0.800000,0.900000,1.000000 |
- |    2 | Galaxy S21 Ultra |              128 | black |         2021 | 1099.989990 |       999.989990 |    1 | 3141431296 | 4,5,6         | 1234567890123456789 | {"features":["Dynamic AMOLED 2X","Exynos 2100"]}     | 0.500000,0.400000,0.300000,0.200000 |
- |    3 | Pixel 6          |              128 | white |         2021 |  599.989990 |       549.989990 |    0 | 2661794816 | 7,8,9         | 987654321987654321  | {"features":["Smooth display","Google Tensor chip"]} | 0.800000,0.600000,0.400000,0.200000 |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------+------------------------------------------------------+-------------------------------------+
––– input –––
curl -s -X POST http://localhost:1308/delete -d '{"cluster": "replication", "table": "test2", "id": 3}' | jq '.result'
––– output –––
- "deleted"
+ null
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM test2 ORDER BY id ASC;"
––– output –––
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------+--------------------------------------------------+-------------------------------------+
- | id   | model            | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values              | additional_info                                  | vector                              |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------+--------------------------------------------------+-------------------------------------+
- |    1 | Updated Model    |              512 | black |         2022 | 1399.989990 |      1299.989990 |    0 | 2661794816 | 10,11,12      | 987654321987654321  | {"features":["New feature 1","New feature 2"]}   | 0.700000,0.800000,0.900000,1.000000 |
- |    2 | Galaxy S21 Ultra |              128 | black |         2021 | 1099.989990 |       999.989990 |    1 | 3141431296 | 4,5,6         | 1234567890123456789 | {"features":["Dynamic AMOLED 2X","Exynos 2100"]} | 0.500000,0.400000,0.300000,0.200000 |
- +------+------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------+--------------------------------------------------+-------------------------------------+
––– input –––
curl -s -X POST http://localhost:1308/delete -d '{"cluster": "replication", "table": "test2", "id": 3}' | jq '.result'
––– output –––
- "not found"
+ null
––– input –––
curl -s -X POST http://localhost:1308/insert -d '{"cluster": "replication", "table": "test2", "id": 4, "doc": {"model": "Updated iPhone 14", "storage_capacity": 512, "color": "black", "release_year": 2022, "price": 1299.99, "discounted_price": 1199.99, "sold": 1, "date_added": 1661990400, "product_codes": [19,20,21], "values": [1234567890123456789],"additional_info": {"features": ["A16 Bionic","Dynamic Island","Improved camera"]},"vector": [0.1,0.2,0.3,0.4]}}' | jq -e '.error' && echo "Duplicate ID test passed!" || echo "Duplicate ID test failed!"
––– output –––
- null
+ {
- Duplicate ID test failed!
+   "type": "action_request_validation_exception",
+   "reason": "table 'test2' is not in any cluster, use just 'test2'",
+   "table": "test2"
+ }
+ Duplicate ID test passed!
––– input –––
(for i in {1..10}; do curl -s -X POST http://localhost:1308/insert -d '{"cluster": "replication", "table": "test2", "id": '$((10 + $i))', "doc": {"model": "Device '$i'", "storage_capacity": 64, "color": "black", "release_year": 2023, "price": 499.99, "discounted_price": 449.99, "sold": 0, "date_added": 1672531200, "product_codes": [1,2,3], "values": [1234567890123456789], "additional_info": {"features": ["Feature 1","Feature 2"]}, "vector": [0.1,0.2,0.3,0.4]}}' & done; wait) | jq -s 'map(select(.created == true)) | length == 10' > /dev/null && echo "Parallel insert test passed!" || echo "Parallel insert test failed!"
––– output –––
OK
––– input –––
sleep 2; mysql -h0 -P1306 -e "SELECT * FROM test2 ORDER BY id ASC;"
––– output –––
- +------+-------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------+----------------------------------------------------------------+-------------------------------------+
- | id   | model             | storage_capacity | color | release_year | price       | discounted_price | sold | date_added | product_codes | values              | additional_info                                                | vector                              |
- +------+-------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------+----------------------------------------------------------------+-------------------------------------+
- |    1 | Updated Model     |              512 | black |         2022 | 1399.989990 |      1299.989990 |    0 | 2661794816 | 10,11,12      | 987654321987654321  | {"features":["New feature 1","New feature 2"]}                 | 0.700000,0.800000,0.900000,1.000000 |
- |    2 | Galaxy S21 Ultra  |              128 | black |         2021 | 1099.989990 |       999.989990 |    1 | 3141431296 | 4,5,6         | 1234567890123456789 | {"features":["Dynamic AMOLED 2X","Exynos 2100"]}               | 0.500000,0.400000,0.300000,0.200000 |
- |    4 | Updated iPhone 14 |              512 | black |         2022 | 1299.989990 |      1199.989990 |    1 | 1661990400 | 19,20,21      | 1234567890123456789 | {"features":["A16 Bionic","Dynamic Island","Improved camera"]} | 0.100000,0.200000,0.300000,0.400000 |
- |   11 | Device 1          |               64 | black |         2023 |  499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]}                         | 0.100000,0.200000,0.300000,0.400000 |
- |   12 | Device 2          |               64 | black |         2023 |  499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]}                         | 0.100000,0.200000,0.300000,0.400000 |
- |   13 | Device 3          |               64 | black |         2023 |  499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]}                         | 0.100000,0.200000,0.300000,0.400000 |
- |   14 | Device 4          |               64 | black |         2023 |  499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]}                         | 0.100000,0.200000,0.300000,0.400000 |
- |   15 | Device 5          |               64 | black |         2023 |  499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]}                         | 0.100000,0.200000,0.300000,0.400000 |
- |   16 | Device 6          |               64 | black |         2023 |  499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]}                         | 0.100000,0.200000,0.300000,0.400000 |
- |   17 | Device 7          |               64 | black |         2023 |  499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]}                         | 0.100000,0.200000,0.300000,0.400000 |
- |   18 | Device 8          |               64 | black |         2023 |  499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]}                         | 0.100000,0.200000,0.300000,0.400000 |
- |   19 | Device 9          |               64 | black |         2023 |  499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]}                         | 0.100000,0.200000,0.300000,0.400000 |
- |   20 | Device 10         |               64 | black |         2023 |  499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]}                         | 0.100000,0.200000,0.300000,0.400000 |
- +------+-------------------+------------------+-------+--------------+-------------+------------------+------+------------+---------------+---------------------+----------------------------------------------------------------+-------------------------------------+
––– input –––
sleep 2; mysql -h0 -P1306 -e "SELECT * FROM test2 WHERE id BETWEEN 11 AND 20 ORDER BY id ASC;"
––– output –––
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+---------------------+----------------------------------------+-------------------------------------+
- | id   | model     | storage_capacity | color | release_year | price      | discounted_price | sold | date_added | product_codes | values              | additional_info                        | vector                              |
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+---------------------+----------------------------------------+-------------------------------------+
- |   11 | Device 1  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
- |   12 | Device 2  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
- |   13 | Device 3  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
- |   14 | Device 4  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
- |   15 | Device 5  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
- |   16 | Device 6  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
- |   17 | Device 7  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
- |   18 | Device 8  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
- |   19 | Device 9  |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
- |   20 | Device 10 |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+---------------------+----------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P1306 -e "SELECT * FROM test2 WHERE id = 20;"
––– output –––
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+---------------------+----------------------------------------+-------------------------------------+
- | id   | model     | storage_capacity | color | release_year | price      | discounted_price | sold | date_added | product_codes | values              | additional_info                        | vector                              |
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+---------------------+----------------------------------------+-------------------------------------+
- |   20 | Device 10 |               64 | black |         2023 | 499.989990 |       449.989990 |    0 | 1672531200 | 1,2,3         | 1234567890123456789 | {"features":["Feature 1","Feature 2"]} | 0.100000,0.200000,0.300000,0.400000 |
- +------+-----------+------------------+-------+--------------+------------+------------------+------+------------+---------------+---------------------+----------------------------------------+-------------------------------------+
––– input –––
rm -f bulk.json bulk_insert.json bulk_update.json bulk_delete.json bulk_operations.json; if [[ ! -f bulk.json && ! -f bulk_insert.json && ! -f bulk_update.json && ! -f bulk_delete.json && ! -f bulk_operations.json ]]; then echo "All temporary files deleted successfully."; else echo "Error: Some temporary files were not deleted."; fi
––– output –––
OK

@github-actions
Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/bugs/3489-fuzzy-option-alias-bug test/clt-tests/bugs/3602-knn-dist-attribute-error test/clt-tests/bugs/3832-fuzzy-cli-json-multiquery test/clt-tests/bugs/3844-max-ft-field-crash test/clt-tests/bugs/3847-conflict-handling-verification test/clt-tests/bugs/4009-qcache-secondaryindex-bug test/clt-tests/bugs/4176-attach-rt-externals test/clt-tests/bugs/4176-rename-rt-externals test/clt-tests/bugs/4375-max-query-time test/clt-tests/bugs/4395-optimize-cutoff-handoff
✅ OK: 9
❌ Failed: 1
⏳ Duration: 281s
👉 Check Action Results for commit 16643bf

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/bugs/3602-knn-dist-attribute-error.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 'drop table if exists companysearch;'
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "create table companysearch(f text, \`embeddings\` float_vector knn_type='hnsw' knn_dims='2' hnsw_similarity='l2');"
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 'companysearch': knn library not loaded
––– input –––
mysql -h0 -P9306 -e "insert into companysearch values(1, 'web', (0,0));"
––– output –––
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
––– input –––
mysql -h0 -P9306 -e "SELECT * FROM companysearch WHERE knn(embeddings, 5, (1,1)) AND MATCH('web')  OPTION ranker=expr('knn_dist()');"
––– output –––
- ERROR 1064 (42000) at line 1: table companysearch: KNN_DIST() attribute not available in this context
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'companysearch' in search request

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.

3 participants