-
Notifications
You must be signed in to change notification settings - Fork 7
Feat/2983 auth permissions #597
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
# Conflicts: # composer.lock
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request implements a comprehensive authentication plugin for Manticore Search, adding support for user management and permissions through SQL-like commands. The implementation includes handlers for creating/dropping users, granting/revoking permissions, showing permissions, and setting passwords, along with comprehensive test coverage.
- Authentication plugin implementation with full CRUD operations for users and permissions
- Comprehensive test suite with unit tests, integration tests, and helper utilities
- Hash generation system for secure password and token storage
Reviewed Changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/init.php | Adds auth plugin to the list of available plugins |
| src/Plugin/Auth/*.php | Core authentication plugin implementation with handlers for user management, permissions, and password operations |
| test/src/Trait/AuthTestTrait.php | Test trait providing mock utilities for authentication testing |
| test/src/Helper/AuthTestHelpers.php | Helper class for creating test response objects |
| test/Plugin/Auth/*.php | Comprehensive test suite covering all authentication functionality |
| phpstan.neon | Updates PHPStan configuration to specify PHP version |
Comments suppressed due to low confidence (1)
src/Plugin/Auth/UserHandler.php:1
- The method
processRequest()lacks documentation explaining its core functionality of routing between create and drop user operations based on payload type. Consider adding a docblock that describes the method's role in request processing.
<?php declare(strict_types=1);
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
# Conflicts: # composer.lock
clt❌ CLT tests in Failed tests:🔧 Edit failed tests in UI: 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 –––
OK
––– input –––
curl -s "http://localhost:9308/cli_json?show%20buddy%20plugins"
––– output –––
- [{"total":27,"error":"","warning":"","columns":[{"Package":{"type":"string"}},{"Plugin":{"type":"string"}},{"Version":{"type":"string"}},{"Type":{"type":"string"}},{"Info":{"type":"string"}}],"data":[{"Package":"manticoresoftware/buddy-plugin-empty-string","Plugin":"empty-string","Version":"%{VERSION}","Type":"core","Info":"Handles empty queries, which can occur when trimming comments or dealing with specific SQL protocol instructions in comments that are not supported"},{"Package":"manticoresoftware/buddy-plugin-backup","Plugin":"backup","Version":"%{VERSION}","Type":"core","Info":"BACKUP sql statement"},{"Package":"manticoresoftware/buddy-plugin-emulate-elastic","Plugin":"emulate-elastic","Version":"%{VERSION}","Type":"core","Info":"Emulates some Elastic queries and generates responses as if they were made by ES"},{"Package":"manticoresoftware/buddy-plugin-fuzzy","Plugin":"fuzzy","Version":"%{VERSION}","Type":"core","Info":"Fuzzy search plugin. It helps to find the best match for a given query."},{"Package":"manticoresoftware/buddy-plugin-create-table","Plugin":"create-table","Version":"%{VERSION}","Type":"core","Info":"Enables tables copying; handles CREATE TABLE statements with MySQL options not supported by Manticore"},{"Package":"manticoresoftware/buddy-plugin-create-cluster","Plugin":"create-cluster","Version":"%{VERSION}","Type":"core","Info":"Enable CREATE CLUSTER IF NOT EXISTS statements"},{"Package":"manticoresoftware/buddy-plugin-drop","Plugin":"drop","Version":"%{VERSION}","Type":"core","Info":"Handles DROP statements with MySQL options not supported by Manticore"},{"Package":"manticoresoftware/buddy-plugin-insert","Plugin":"insert","Version":"%{VERSION}","Type":"core","Info":"Auto schema support. When an insert operation is performed and the table does not exist, it creates it with data types auto-detection"},{"Package":"manticoresoftware/buddy-plugin-alias","Plugin":"alias","Version":"%{VERSION}","Type":"core","Info":""},{"Package":"manticoresoftware/buddy-plugin-select","Plugin":"select","Version":"%{VERSION}","Type":"core","Info":"Various SELECTs handlers needed for mysqldump and other software support, mostly aiming to work similarly to MySQL"},{"Package":"manticoresoftware/buddy-plugin-show","Plugin":"show","Version":"%{VERSION}","Type":"core","Info":"Various \"show\" queries handlers, for example, `show queries`, `show fields`, `show full tables`, etc"},{"Package":"manticoresoftware/buddy-plugin-plugin","Plugin":"plugin","Version":"%{VERSION}","Type":"core","Info":"Core logic for plugin support and helpers. Also handles `create buddy plugin`, `delete buddy plugin`, and `show buddy plugins`"},{"Package":"manticoresoftware/buddy-plugin-test","Plugin":"test","Version":"%{VERSION}","Type":"core","Info":"Test plugin, used exclusively for tests"},{"Package":"manticoresoftware/buddy-plugin-alter-column","Plugin":"alter-column","Version":"%{VERSION}","Type":"core","Info":"Enables adding/dropping table fields(columns)"},{"Package":"manticoresoftware/buddy-plugin-alter-distributed-table","Plugin":"alter-distributed-table","Version":"%{VERSION}","Type":"core","Info":"Enables alter for distributed tables"},{"Package":"manticoresoftware/buddy-plugin-alter-rename-table","Plugin":"alter-rename-table","Version":"%{VERSION}","Type":"core","Info":"Enables alter table rename"},{"Package":"manticoresoftware/buddy-plugin-modify-table","Plugin":"modify-table","Version":"%{VERSION}","Type":"core","Info":"Assists in standardizing options in create and alter table statements to show option=1 for integers."},{"Package":"manticoresoftware/buddy-plugin-knn","Plugin":"knn","Version":"%{VERSION}","Type":"core","Info":"Enables KNN by document id"},{"Package":"manticoresoftware/buddy-plugin-replace","Plugin":"replace","Version":"%{VERSION}","Type":"core","Info":"Enables partial replaces"},{"Package":"manticoresoftware/buddy-plugin-queue","Plugin":"queue","Version":"%{VERSION}","Type":"core","Info":""},{"Package":"manticoresoftware/buddy-plugin-sharding","Plugin":"sharding","Version":"%{VERSION}","Type":"core","Info":"Enables sharded tables."},{"Package":"manticoresoftware/buddy-plugin-update","Plugin":"update","Version":"%{VERSION}","Type":"core","Info":"Handles UPDATE statements sent by MySQL tools making possible for them to update full-text fields"},{"Package":"manticoresoftware/buddy-plugin-autocomplete","Plugin":"autocomplete","Version":"%{VERSION}","Type":"core","Info":"Autocomplete plugin that offers suggestions based on the starting query"},{"Package":"manticoresoftware/buddy-plugin-cli-table","Plugin":"cli-table","Version":"%{VERSION}","Type":"core","Info":"/cli endpoint based on /cli_json - outputs query result as a table"},{"Package":"manticoresoftware/buddy-plugin-distributed-insert","Plugin":"distributed-insert","Version":"%{VERSION}","Type":"core","Info":"The plugin enables data insertion into distributed sharded tables."},{"Package":"manticoresoftware/buddy-plugin-truncate","Plugin":"truncate","Version":"%{VERSION}","Type":"core","Info":"Handles TRUNCATE statements on distributed tables"},{"Package":"manticoresoftware/buddy-plugin-metrics","Plugin":"metrics","Version":"%{VERSION}","Type":"core","Info":"Returns Prometheus metrics"}]}]
+ [{"total":28,"error":"","warning":"","columns":[{"Package":{"type":"string"}},{"Plugin":{"type":"string"}},{"Version":{"type":"string"}},{"Type":{"type":"string"}},{"Info":{"type":"string"}}],"data":[{"Package":"manticoresoftware/buddy-plugin-empty-string","Plugin":"empty-string","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Handles empty queries, which can occur when trimming comments or dealing with specific SQL protocol instructions in comments that are not supported"},{"Package":"manticoresoftware/buddy-plugin-backup","Plugin":"backup","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"BACKUP sql statement"},{"Package":"manticoresoftware/buddy-plugin-emulate-elastic","Plugin":"emulate-elastic","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Emulates some Elastic queries and generates responses as if they were made by ES"},{"Package":"manticoresoftware/buddy-plugin-fuzzy","Plugin":"fuzzy","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Fuzzy search plugin. It helps to find the best match for a given query."},{"Package":"manticoresoftware/buddy-plugin-create-table","Plugin":"create-table","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Enables tables copying; handles CREATE TABLE statements with MySQL options not supported by Manticore"},{"Package":"manticoresoftware/buddy-plugin-create-cluster","Plugin":"create-cluster","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Enable CREATE CLUSTER IF NOT EXISTS statements"},{"Package":"manticoresoftware/buddy-plugin-drop","Plugin":"drop","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Handles DROP statements with MySQL options not supported by Manticore"},{"Package":"manticoresoftware/buddy-plugin-insert","Plugin":"insert","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Auto schema support. When an insert operation is performed and the table does not exist, it creates it with data types auto-detection"},{"Package":"manticoresoftware/buddy-plugin-alias","Plugin":"alias","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":""},{"Package":"manticoresoftware/buddy-plugin-select","Plugin":"select","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Various SELECTs handlers needed for mysqldump and other software support, mostly aiming to work similarly to MySQL"},{"Package":"manticoresoftware/buddy-plugin-show","Plugin":"show","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Various \"show\" queries handlers, for example, `show queries`, `show fields`, `show full tables`, etc"},{"Package":"manticoresoftware/buddy-plugin-plugin","Plugin":"plugin","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Core logic for plugin support and helpers. Also handles `create buddy plugin`, `delete buddy plugin`, and `show buddy plugins`"},{"Package":"manticoresoftware/buddy-plugin-test","Plugin":"test","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Test plugin, used exclusively for tests"},{"Package":"manticoresoftware/buddy-plugin-alter-column","Plugin":"alter-column","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Enables adding/dropping table fields(columns)"},{"Package":"manticoresoftware/buddy-plugin-alter-distributed-table","Plugin":"alter-distributed-table","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Enables alter for distributed tables"},{"Package":"manticoresoftware/buddy-plugin-alter-rename-table","Plugin":"alter-rename-table","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Enables alter table rename"},{"Package":"manticoresoftware/buddy-plugin-auth","Plugin":"auth","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Handles commands related to Authentication"},{"Package":"manticoresoftware/buddy-plugin-modify-table","Plugin":"modify-table","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Assists in standardizing options in create and alter table statements to show option=1 for integers."},{"Package":"manticoresoftware/buddy-plugin-knn","Plugin":"knn","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Enables KNN by document id"},{"Package":"manticoresoftware/buddy-plugin-replace","Plugin":"replace","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Enables partial replaces"},{"Package":"manticoresoftware/buddy-plugin-queue","Plugin":"queue","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":""},{"Package":"manticoresoftware/buddy-plugin-sharding","Plugin":"sharding","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Enables sharded tables."},{"Package":"manticoresoftware/buddy-plugin-update","Plugin":"update","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Handles UPDATE statements sent by MySQL tools making possible for them to update full-text fields"},{"Package":"manticoresoftware/buddy-plugin-autocomplete","Plugin":"autocomplete","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Autocomplete plugin that offers suggestions based on the starting query"},{"Package":"manticoresoftware/buddy-plugin-cli-table","Plugin":"cli-table","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"/cli endpoint based on /cli_json - outputs query result as a table"},{"Package":"manticoresoftware/buddy-plugin-distributed-insert","Plugin":"distributed-insert","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"The plugin enables data insertion into distributed sharded tables."},{"Package":"manticoresoftware/buddy-plugin-truncate","Plugin":"truncate","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Handles TRUNCATE statements on distributed tables"},{"Package":"manticoresoftware/buddy-plugin-metrics","Plugin":"metrics","Version":"3.39.1-18-g8ba2d8","Type":"core","Info":"Returns Prometheus metrics"}]}]
––– 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 |
🐳 Docker Images PushedBuddy Test-Kit Images:
Base image used: These images contain the buddy code from this PR and can be used for testing. Built from commit: 8ba2d87 |
clt❌ CLT tests in Failed tests:🔧 Edit failed tests in UI: 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 –––
OK
––– input –––
curl -s "http://localhost:9308/cli_json?show%20buddy%20plugins"
––– output –––
- [{"total":27,"error":"","warning":"","columns":[{"Package":{"type":"string"}},{"Plugin":{"type":"string"}},{"Version":{"type":"string"}},{"Type":{"type":"string"}},{"Info":{"type":"string"}}],"data":[{"Package":"manticoresoftware/buddy-plugin-empty-string","Plugin":"empty-string","Version":"%{VERSION}","Type":"core","Info":"Handles empty queries, which can occur when trimming comments or dealing with specific SQL protocol instructions in comments that are not supported"},{"Package":"manticoresoftware/buddy-plugin-backup","Plugin":"backup","Version":"%{VERSION}","Type":"core","Info":"BACKUP sql statement"},{"Package":"manticoresoftware/buddy-plugin-emulate-elastic","Plugin":"emulate-elastic","Version":"%{VERSION}","Type":"core","Info":"Emulates some Elastic queries and generates responses as if they were made by ES"},{"Package":"manticoresoftware/buddy-plugin-fuzzy","Plugin":"fuzzy","Version":"%{VERSION}","Type":"core","Info":"Fuzzy search plugin. It helps to find the best match for a given query."},{"Package":"manticoresoftware/buddy-plugin-create-table","Plugin":"create-table","Version":"%{VERSION}","Type":"core","Info":"Enables tables copying; handles CREATE TABLE statements with MySQL options not supported by Manticore"},{"Package":"manticoresoftware/buddy-plugin-create-cluster","Plugin":"create-cluster","Version":"%{VERSION}","Type":"core","Info":"Enable CREATE CLUSTER IF NOT EXISTS statements"},{"Package":"manticoresoftware/buddy-plugin-drop","Plugin":"drop","Version":"%{VERSION}","Type":"core","Info":"Handles DROP statements with MySQL options not supported by Manticore"},{"Package":"manticoresoftware/buddy-plugin-insert","Plugin":"insert","Version":"%{VERSION}","Type":"core","Info":"Auto schema support. When an insert operation is performed and the table does not exist, it creates it with data types auto-detection"},{"Package":"manticoresoftware/buddy-plugin-alias","Plugin":"alias","Version":"%{VERSION}","Type":"core","Info":""},{"Package":"manticoresoftware/buddy-plugin-select","Plugin":"select","Version":"%{VERSION}","Type":"core","Info":"Various SELECTs handlers needed for mysqldump and other software support, mostly aiming to work similarly to MySQL"},{"Package":"manticoresoftware/buddy-plugin-show","Plugin":"show","Version":"%{VERSION}","Type":"core","Info":"Various \"show\" queries handlers, for example, `show queries`, `show fields`, `show full tables`, etc"},{"Package":"manticoresoftware/buddy-plugin-plugin","Plugin":"plugin","Version":"%{VERSION}","Type":"core","Info":"Core logic for plugin support and helpers. Also handles `create buddy plugin`, `delete buddy plugin`, and `show buddy plugins`"},{"Package":"manticoresoftware/buddy-plugin-test","Plugin":"test","Version":"%{VERSION}","Type":"core","Info":"Test plugin, used exclusively for tests"},{"Package":"manticoresoftware/buddy-plugin-alter-column","Plugin":"alter-column","Version":"%{VERSION}","Type":"core","Info":"Enables adding/dropping table fields(columns)"},{"Package":"manticoresoftware/buddy-plugin-alter-distributed-table","Plugin":"alter-distributed-table","Version":"%{VERSION}","Type":"core","Info":"Enables alter for distributed tables"},{"Package":"manticoresoftware/buddy-plugin-alter-rename-table","Plugin":"alter-rename-table","Version":"%{VERSION}","Type":"core","Info":"Enables alter table rename"},{"Package":"manticoresoftware/buddy-plugin-modify-table","Plugin":"modify-table","Version":"%{VERSION}","Type":"core","Info":"Assists in standardizing options in create and alter table statements to show option=1 for integers."},{"Package":"manticoresoftware/buddy-plugin-knn","Plugin":"knn","Version":"%{VERSION}","Type":"core","Info":"Enables KNN by document id"},{"Package":"manticoresoftware/buddy-plugin-replace","Plugin":"replace","Version":"%{VERSION}","Type":"core","Info":"Enables partial replaces"},{"Package":"manticoresoftware/buddy-plugin-queue","Plugin":"queue","Version":"%{VERSION}","Type":"core","Info":""},{"Package":"manticoresoftware/buddy-plugin-sharding","Plugin":"sharding","Version":"%{VERSION}","Type":"core","Info":"Enables sharded tables."},{"Package":"manticoresoftware/buddy-plugin-update","Plugin":"update","Version":"%{VERSION}","Type":"core","Info":"Handles UPDATE statements sent by MySQL tools making possible for them to update full-text fields"},{"Package":"manticoresoftware/buddy-plugin-autocomplete","Plugin":"autocomplete","Version":"%{VERSION}","Type":"core","Info":"Autocomplete plugin that offers suggestions based on the starting query"},{"Package":"manticoresoftware/buddy-plugin-cli-table","Plugin":"cli-table","Version":"%{VERSION}","Type":"core","Info":"/cli endpoint based on /cli_json - outputs query result as a table"},{"Package":"manticoresoftware/buddy-plugin-distributed-insert","Plugin":"distributed-insert","Version":"%{VERSION}","Type":"core","Info":"The plugin enables data insertion into distributed sharded tables."},{"Package":"manticoresoftware/buddy-plugin-truncate","Plugin":"truncate","Version":"%{VERSION}","Type":"core","Info":"Handles TRUNCATE statements on distributed tables"},{"Package":"manticoresoftware/buddy-plugin-metrics","Plugin":"metrics","Version":"%{VERSION}","Type":"core","Info":"Returns Prometheus metrics"}]}]
+ [{"total":28,"error":"","warning":"","columns":[{"Package":{"type":"string"}},{"Plugin":{"type":"string"}},{"Version":{"type":"string"}},{"Type":{"type":"string"}},{"Info":{"type":"string"}}],"data":[{"Package":"manticoresoftware/buddy-plugin-empty-string","Plugin":"empty-string","Version":"3.39.1-19-g120920","Type":"core","Info":"Handles empty queries, which can occur when trimming comments or dealing with specific SQL protocol instructions in comments that are not supported"},{"Package":"manticoresoftware/buddy-plugin-backup","Plugin":"backup","Version":"3.39.1-19-g120920","Type":"core","Info":"BACKUP sql statement"},{"Package":"manticoresoftware/buddy-plugin-emulate-elastic","Plugin":"emulate-elastic","Version":"3.39.1-19-g120920","Type":"core","Info":"Emulates some Elastic queries and generates responses as if they were made by ES"},{"Package":"manticoresoftware/buddy-plugin-fuzzy","Plugin":"fuzzy","Version":"3.39.1-19-g120920","Type":"core","Info":"Fuzzy search plugin. It helps to find the best match for a given query."},{"Package":"manticoresoftware/buddy-plugin-create-table","Plugin":"create-table","Version":"3.39.1-19-g120920","Type":"core","Info":"Enables tables copying; handles CREATE TABLE statements with MySQL options not supported by Manticore"},{"Package":"manticoresoftware/buddy-plugin-create-cluster","Plugin":"create-cluster","Version":"3.39.1-19-g120920","Type":"core","Info":"Enable CREATE CLUSTER IF NOT EXISTS statements"},{"Package":"manticoresoftware/buddy-plugin-drop","Plugin":"drop","Version":"3.39.1-19-g120920","Type":"core","Info":"Handles DROP statements with MySQL options not supported by Manticore"},{"Package":"manticoresoftware/buddy-plugin-insert","Plugin":"insert","Version":"3.39.1-19-g120920","Type":"core","Info":"Auto schema support. When an insert operation is performed and the table does not exist, it creates it with data types auto-detection"},{"Package":"manticoresoftware/buddy-plugin-alias","Plugin":"alias","Version":"3.39.1-19-g120920","Type":"core","Info":""},{"Package":"manticoresoftware/buddy-plugin-select","Plugin":"select","Version":"3.39.1-19-g120920","Type":"core","Info":"Various SELECTs handlers needed for mysqldump and other software support, mostly aiming to work similarly to MySQL"},{"Package":"manticoresoftware/buddy-plugin-show","Plugin":"show","Version":"3.39.1-19-g120920","Type":"core","Info":"Various \"show\" queries handlers, for example, `show queries`, `show fields`, `show full tables`, etc"},{"Package":"manticoresoftware/buddy-plugin-plugin","Plugin":"plugin","Version":"3.39.1-19-g120920","Type":"core","Info":"Core logic for plugin support and helpers. Also handles `create buddy plugin`, `delete buddy plugin`, and `show buddy plugins`"},{"Package":"manticoresoftware/buddy-plugin-test","Plugin":"test","Version":"3.39.1-19-g120920","Type":"core","Info":"Test plugin, used exclusively for tests"},{"Package":"manticoresoftware/buddy-plugin-alter-column","Plugin":"alter-column","Version":"3.39.1-19-g120920","Type":"core","Info":"Enables adding/dropping table fields(columns)"},{"Package":"manticoresoftware/buddy-plugin-alter-distributed-table","Plugin":"alter-distributed-table","Version":"3.39.1-19-g120920","Type":"core","Info":"Enables alter for distributed tables"},{"Package":"manticoresoftware/buddy-plugin-alter-rename-table","Plugin":"alter-rename-table","Version":"3.39.1-19-g120920","Type":"core","Info":"Enables alter table rename"},{"Package":"manticoresoftware/buddy-plugin-auth","Plugin":"auth","Version":"3.39.1-19-g120920","Type":"core","Info":"Handles commands related to Authentication"},{"Package":"manticoresoftware/buddy-plugin-modify-table","Plugin":"modify-table","Version":"3.39.1-19-g120920","Type":"core","Info":"Assists in standardizing options in create and alter table statements to show option=1 for integers."},{"Package":"manticoresoftware/buddy-plugin-knn","Plugin":"knn","Version":"3.39.1-19-g120920","Type":"core","Info":"Enables KNN by document id"},{"Package":"manticoresoftware/buddy-plugin-replace","Plugin":"replace","Version":"3.39.1-19-g120920","Type":"core","Info":"Enables partial replaces"},{"Package":"manticoresoftware/buddy-plugin-queue","Plugin":"queue","Version":"3.39.1-19-g120920","Type":"core","Info":""},{"Package":"manticoresoftware/buddy-plugin-sharding","Plugin":"sharding","Version":"3.39.1-19-g120920","Type":"core","Info":"Enables sharded tables."},{"Package":"manticoresoftware/buddy-plugin-update","Plugin":"update","Version":"3.39.1-19-g120920","Type":"core","Info":"Handles UPDATE statements sent by MySQL tools making possible for them to update full-text fields"},{"Package":"manticoresoftware/buddy-plugin-autocomplete","Plugin":"autocomplete","Version":"3.39.1-19-g120920","Type":"core","Info":"Autocomplete plugin that offers suggestions based on the starting query"},{"Package":"manticoresoftware/buddy-plugin-cli-table","Plugin":"cli-table","Version":"3.39.1-19-g120920","Type":"core","Info":"/cli endpoint based on /cli_json - outputs query result as a table"},{"Package":"manticoresoftware/buddy-plugin-distributed-insert","Plugin":"distributed-insert","Version":"3.39.1-19-g120920","Type":"core","Info":"The plugin enables data insertion into distributed sharded tables."},{"Package":"manticoresoftware/buddy-plugin-truncate","Plugin":"truncate","Version":"3.39.1-19-g120920","Type":"core","Info":"Handles TRUNCATE statements on distributed tables"},{"Package":"manticoresoftware/buddy-plugin-metrics","Plugin":"metrics","Version":"3.39.1-19-g120920","Type":"core","Info":"Returns Prometheus metrics"}]}]
––– 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 |
🐳 Docker Images PushedBuddy Test-Kit Images:
Base image used: These images contain the buddy code from this PR and can be used for testing. Built from commit: 1209204 |
No description provided.