infiniflow / infiniflow/infinity
[Feature]: HTTP API
Open
@Ami11111 is already working on this.
Since Sep 29, 2024.
feature request
- Dominant language
- C++
- Stars
- 4.7k
- Forks
- 445
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 7
Description
Database:
- list databases: '/databases' GET
- create database: '/databases/{db_name}' POST
- drop database: '/databases/{db_name}' DELETE
- show database: '/databases/{db_name}' GET
Table:
- list tables: '/databases/{db_name}/tables' GET
- create table: '/databases/{db_name}/tables/{table_name}' POST
- drop table: '/databases/{db_name}/tables/{table_name}' DELETE
- show table: '/databases/{db_name}/tables/{table_name}' GET
- export table: '/databases/{db_name}/table/{table_name}' GET
- show table columns '/databases/{db_name}/tables/{table_name}/columns' GET
- alter add column '/databases/{db_name}/tables/{table_name}/columns' POST
- alter drop column '/databases/{db_name}/tables/{table_name}/columns' DELETE
- list table segments '/databases/{db_name}/tables/{table_name}/segments' GET
- show table segment '/databases/{db_name}/tables/{table_name}/segments/{segment_id}' GET
- list table blocks '/databases/{db_name}/tables/{table_name}/segments/{segment_id}/blocks' GET
- show table block '/databases/{db_name}/tables/{table_name}/segments/{segment_id}/blocks/{block_id}' GET
- show table block column '/databases/{db_name}/tables/{table_name}/segments/{segment_id}/blocks/{block_id}/{column_id}' GET
Insert / Delete / Update
- import: '/databases/{db_name}/tables/{table_name}' PUT
- insert: '/databases/{db_name}/tables/{table_name}/docs' POST
- delete: '/databases/{db_name}/tables/{table_name}/docs' DELETE
- update: '/databases/{db_name}/tables/{table_name}/docs' PUT
Select / Explain
- select/search: '/databases/{db_name}/tables/{table_name}/docs' GET
- explain: '/databases/{db_name}/tables/{table_name}/query' GET
Index
- list indexes: '/databases/{db_name}/tables/{table_name}/indexes' GET
- show index: '/databases/{db_name}/tables/{table_name}/indexes/{index_name}' GET
- show index segment: '/databases/{db_name}/tables/{table_name}/indexes/{index_name}/segment/{segment_id}' GET
- show index chunk of segment: '/databases/{db_name}/tables/{table_name}/indexes/{index_name}/segment/{segment_id}/chunk/{chunk_id}' GET
- drop index: '/databases/{db_name}/tables/{table_name}/indexes/{index_name}' DELETE
- create index: '/databases/{db_name}/tables/{table_name}/indexes/{index_name}' POST
- optimize index: '/databases/{db_name}/tables/{table_name}/indexes/{index_name}' PUT
Config
- list config: '/configs' GET
- show config: '/configs/{config_name}' GET
- set config: '/configs/{config_name}' POST
Variable
- list global variables: '/variables/global' GET
- show global variable: '/variables/global/{variable_name}' GET
- set global variables: '/variables/global' SET
- list session variables: '/variables/session' GET
- show session variable: '/variables/session/{variable_name}' GET
- set session variables: '/variables/session' SET
Instance operation and metrics
- show buffer: '/instance/buffer' GET #1996
- show profiles: '/instance/profiles' GET #1996
- show memindex: '/instance/memindex' GET #1996
- show queries: '/instance/queries' GET #1996
- show query: '/instance/queries/{query_id}' GET
- show transactions: '/instance/transactions' GET
- show transaction: '/instance/transactions/{transaction_id}' GET
- show logs: '/instance/logs' GET
- show delta checkpoint: '/instance/delta_checkpoint' GET
- show global checkpoint: '/instance/global_checkpoint' GET
- show objects: '/instance/objects' GET
- show object: '/instance/objects/{object_name}' GET
- show files in object: '/instance/files' GET
- show memory: '/instance/memory' GET
- show memory objects: '/instance/memory/objects' GET
- show memory allocation: '/instance/memory/allocation' GET
- force global checkpoint: '/instance/flush' POST
- compact table: '/instance/table/compact' POST
Cluster admin
- set node role: '/admin/node/current' POST
- list node variables: '/admin/variables' GET
- list node configs: '/admin/configs' GET
- show node variable: '/admin/variables/{var_name}' GET
- list nodes: '/admin/nodes' GET
- show node: '/admin/node/{node_name}' GET
- show current node: '/admin/node/current' GET
- remove node: '/admin/node/{node_name}' DELETE
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.