MCPcopy Index your code
hub / github.com/databendlabs/opensrv

github.com/databendlabs/opensrv @v0.10.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.10.0 ↗ · + Follow
902 symbols 2,257 edges 104 files 91 documented · 10%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

OpenSrv

Build Status

Async bindings for emulating database servers. Currently, support for ClickHouse and MySQL/MariaDB is provided.

Status

OpenSrv is in alpha stage, the goal is to provide high performance and highly reliable service compatibility for Databend and others. Welcome any feedback at Discussions!

Examples

You may be looking for:

Projects

  • Databend: A powerful cloud data warehouse. Built for elasticity and efficiency. Free and open. Also available in the cloud: https://app.databend.com
  • GreptimeDB: An open-source, cloud-native, distributed time-series database.
  • CeresDB: A high-performance, distributed, cloud native time-series database that can handle both time-series and analytics workloads.

Contributing

Check out the CONTRIBUTING.md guide for more details on getting started with contributing to this project.

Getting help

Submit issues for bug report or asking questions in discussion.

License

Licensed under Apache License, Version 2.0.

Extension points exported contracts — how you extend this code

AsyncMysqlShim (Interface)
Implementors of this async-trait can be used to drive a MySQL-compatible database backend. [6 implementers]
mysql/src/lib.rs
Marshal (Interface)
(no doc) [18 implementers]
components/micromarshal/src/marshal.rs
FromSql (Interface)
(no doc) [13 implementers]
clickhouse/src/types/from_sql.rs
ToMysqlValue (Interface)
Implementors of this trait can be sent as a single resultset value to a MySQL/MariaDB client. [20 implementers]
mysql/src/value/encode.rs
Unmarshal (Interface)
(no doc) [18 implementers]
components/micromarshal/src/unmarshal.rs
StatBuffer (Interface)
(no doc) [11 implementers]
clickhouse/src/types/stat_buffer.rs
StatBuffer (Interface)
(no doc) [16 implementers]
components/micromarshal/tests/it/statbuffer.rs
ColumnFrom (Interface)
(no doc) [31 implementers]
clickhouse/src/types/column/mod.rs

Core symbols most depended-on inside this repo

to_string
called by 73
clickhouse/src/types/mod.rs
clone
called by 59
clickhouse/src/types/block/mod.rs
clone
called by 52
clickhouse/src/types/column/mod.rs
iter
called by 51
clickhouse/src/types/column/mod.rs
as_bytes
called by 39
clickhouse/src/types/value_ref.rs
len
called by 36
mysql/src/packet_reader.rs
start
called by 27
mysql/src/resultset.rs
len
called by 27
clickhouse/src/types/block/row.rs

Shape

Method 483
Function 263
Class 108
Interface 26
Enum 22

Languages

Rust100%

Modules by API surface

mysql/tests/it/async.rs37 symbols
clickhouse/src/lib.rs35 symbols
clickhouse/src/types/block/mod.rs32 symbols
mysql/src/packet_reader.rs30 symbols
clickhouse/src/types/options.rs27 symbols
clickhouse/src/types/column/mod.rs27 symbols
clickhouse/tests/it/types/column/factory.rs26 symbols
mysql/src/resultset.rs23 symbols
clickhouse/src/types/column/iter.rs23 symbols
mysql/src/writers.rs21 symbols
mysql/src/lib.rs20 symbols
components/micromarshal/tests/it/main.rs19 symbols

Datastores touched

(mysql)Database · 1 repos
initial_dbDatabase · 1 repos

For agents

$ claude mcp add opensrv \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact