You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit ec2cd3b
Browse filesBrowse the repository at this point in the historyBrowse files
the grid shows MariaDB, and the engine cards match 1.0.0 again (#80)
MariaDB has no driver of its own: the MySQL provider serves it, so it was
missing from the hexagon grid. It now has a card of its own, copied from
docs/providers/mysql.md section 1.1, with a new `via: 'mysql'` field that shows
it without counting it, the same way the embedded LibreDB store is shown. The
count stays forty-one, /databases names it beside the SQL counter, and its
REFERENCE line points at the MySQL provider doc.
Every card was then checked against the 1.0.0 tag. Agent mode runs statements
on seven type-ids there (PostgreSQL, MySQL and so MariaDB, SQLite, DuckDB, SQL
Server, MongoDB and Kubernetes), but the cards, the FAQ, the feature limit and
llms-full.txt still named the first four. MySQL, MongoDB and Kubernetes now
say agent mode runs there, and Couchbase names the current set. The MCP limit
says which engines run a query there and which do not.
Other cards that no longer matched their provider doc:
- Elasticsearch and OpenSearch said "no ER diagrams"; the diagram is offered,
there are just no foreign keys to draw. They now name the real absences.
- DuckDB: admins are confined to the database file on a seed a standard user
can reach.
- SQL Server: the agent also reports the estimated plan it admitted with.
- Snowflake: PUT and GET were in no source; the card states the absence of
bound parameters and multi-request transactions instead.
- SNMP: a Set PDU exists and the valve refuses it; the transport names port 161.
- MySQL: the stated limit is the open transaction a released pooled
connection keeps.
The FAQ said fifty-four named engines; it is sixty-eight, as on the grid.
desc: 'Pooled connections with information_schema introspection, EXPLAIN plans and performance_schema-backed monitoring.',
69
+
desc: 'Pooled connections with information_schema introspection, EXPLAIN plans, performance_schema-backed monitoring and agent mode under a principal verified to hold nothing past SELECT and SHOW VIEW.',
65
70
tr: 'mysql2 pool · 3306',
66
-
not: 'Agent mode is unavailable, as on every engine but PostgreSQL, SQLite, DuckDB and SQL Server.',
71
+
not: 'A transaction a script leaves open is not ended when its pooled connection is released, so it holds its row locks until the connection is reused or the pool closes. The one reliable check reads performance_schema, which is off by default on MariaDB.',
72
+
},
73
+
{
74
+
id: 'mariadb',
75
+
name: 'MariaDB',
76
+
cat: 'SQL',
77
+
logo: '/engines/mariadb.svg',
78
+
via: 'mysql',
79
+
desc: "Connects through the MySQL driver and was measured against a live server. The overview shows MariaDB's own build string, EXPLAIN FORMAT=JSON plans are drawn as a tree, and agent mode runs under a principal verified to hold nothing past SELECT and SHOW VIEW.",
80
+
tr: 'mysql2 pool \u00b7 3306',
81
+
not: 'performance_schema is off by default on MariaDB, so cache hit ratio, queries per second and slow queries stay empty until the server runs with performance_schema=ON.',
desc: 'Pooled connections with sys.* catalog introspection, DMV-backed monitoring and agent mode under a least-privilege read-only profile.',
83
98
tr: 'mssql pool · 1433',
84
-
not: "The editor has no Explain action: SQL Server's estimated plan is a session mode that a statement prefix cannot express. Only agent mode reads a plan, to admit a statement.",
99
+
not: "The editor has no Explain action: SQL Server's estimated plan is a session mode that a statement prefix cannot express. Only agent mode reads an estimated plan, to admit a statement and as the plan it reports.",
desc: 'In-process analytics with full EXPLAIN support and agent mode. Admins can query Parquet and CSV files directly; every other role is confined to the database file.',
133
+
desc: 'In-process analytics with full EXPLAIN support and agent mode. Admins can query Parquet and CSV files on their own connections; every other role, and any seed a standard user can reach, is confined to the database file.',
119
134
tr: 'file · embedded',
120
135
not: 'Single-writer by design: no sessions to list, so health shows storage, not connections.',
desc: 'Document browsing, aggregation pipelines and index introspection over the native driver.',
178
+
desc: 'Document browsing, aggregation pipelines, index introspection and agent mode over the native driver, bounded by a user proven read-only at open.',
164
179
tr: 'driver · 27017',
165
180
not: 'No SQL translation layer is faked — queries here are MongoDB queries.',
desc: 'SQL++ queries with bucket, scope and collection introspection over the documented REST surfaces.',
173
188
tr: 'http · 8091',
174
-
not: 'Agent mode is unavailable, as on every engine but PostgreSQL, SQLite, DuckDB and SQL Server.',
189
+
not: 'No agent execution: agent mode sends statements only on PostgreSQL, MySQL (and MariaDB), SQLite, DuckDB, SQL Server, MongoDB and Kubernetes. Plan mode and Operate still open here.',
desc: 'The same query-and-browse surface as Elasticsearch, against OpenSearch clusters.',
264
279
tr: 'http · 9200',
265
-
not: 'Search engines are query-and-browse: no row editing, no ER diagrams.',
280
+
not: 'Query-and-browse: no row editing, no EXPLAIN and no foreign keys. DELETE is in the plugin grammar but off by default, and every other write is refused.',
desc: 'The SQL API v2 with Studio\u2019s own client and no Snowflake driver: every statement is one asynchronous request, signed with a key-pair JWT or a programmatic access token.',
318
333
tr: 'SQL API v2 \u00b7 https',
319
-
not: 'No driver, so driver-only features such as PUT and GET file transfer are absent.',
334
+
not: 'No driver and no bound parameters, and a transaction lives only inside one EXECUTE IMMEDIATE block.',
desc: 'A read-only view of SNMP agents, speaking SNMPv2c over UDP, with the MIB walk presented as a tree.',
408
-
tr: 'SNMPv2c over UDP',
409
-
not: 'It writes nothing, ever: no SET is implemented.',
423
+
tr: 'SNMPv2c over UDP \u00b7 161',
424
+
not: 'It writes nothing, ever: no command sends a Set, and the valve refuses one before the socket.',
410
425
},
411
426
{
412
427
id: 'kubernetes',
413
428
name: 'Kubernetes',
414
429
cat: 'Platform',
415
430
logo: '/engines/kubernetes.svg',
416
-
desc: 'A read-only browser and a kubectl-subset console for one cluster, over the API server\u2019s REST API and with no driver.',
431
+
desc: 'A read-only browser and a kubectl-subset console for one cluster, over the API server\u2019s REST API and with no driver. Agent mode runs every workflow as kubectl reads.',
417
432
tr: 'API server REST \u00b7 6443',
418
-
not: 'Read-only whatever the connection says: no request it can send changes the cluster.',
433
+
not: 'Read-only whatever the connection says: no request it can send changes the cluster. No MCP.',
Copy file name to clipboardExpand all lines: src/data/faq.ts
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ export const faq = [
10
10
},
11
11
{
12
12
q: 'Which databases are supported?',
13
-
a: 'Forty-one engines: PostgreSQL, MySQL, Oracle, Db2 LUW, SQL Server, SQLite, libSQL, DuckDB, MongoDB, Redis, Couchbase, Firestore, ClickHouse, Apache Druid, Elasticsearch, OpenSearch, Trino, BigQuery, Databend, Snowflake, Apache Spark, Apache Cassandra, Prometheus, Apache Kafka, etcd, Neo4j, Milvus, Qdrant, InfluxDB (InfluxQL), InfluxDB 3 (SQL), Oxia, S3-compatible object storage, Kubernetes, MQTT, RabbitMQ, OPC UA, MTConnect, Modbus, NETCONF, SNMP and Sparkplug B — relational, document, key-value, wide-column, graph, vector, analytical, search, time-series, streaming and federated query. Twenty-seven more, such as MariaDB, TiDB, CockroachDB, Valkey and ScyllaDB, speak one of those wire protocols and connect through the same drivers, each measured against a live instance, so the drivers reach fifty-four named engines in all. LibreDB itself, the embedded store the playground runs on, is in the list on /databases but not in either count: those count the engines you point Studio at, not the one it carries.',
13
+
a: 'Forty-one engines: PostgreSQL, MySQL, Oracle, Db2 LUW, SQL Server, SQLite, libSQL, DuckDB, MongoDB, Redis, Couchbase, Firestore, ClickHouse, Apache Druid, Elasticsearch, OpenSearch, Trino, BigQuery, Databend, Snowflake, Apache Spark, Apache Cassandra, Prometheus, Apache Kafka, etcd, Neo4j, Milvus, Qdrant, InfluxDB (InfluxQL), InfluxDB 3 (SQL), Oxia, S3-compatible object storage, Kubernetes, MQTT, RabbitMQ, OPC UA, MTConnect, Modbus, NETCONF, SNMP and Sparkplug B — relational, document, key-value, wide-column, graph, vector, analytical, search, time-series, streaming and federated query. Twenty-seven more, such as MariaDB, TiDB, CockroachDB, Valkey and ScyllaDB, speak one of those wire protocols and connect through the same drivers, each measured against a live instance, so the drivers reach sixty-eight named engines in all. LibreDB itself, the embedded store the playground runs on, is in the list on /databases but not in either count: those count the engines you point Studio at, not the one it carries.',
14
14
},
15
15
{
16
16
q: 'Is anything held back from the open-source build?',
@@ -30,7 +30,7 @@ export const faq = [
30
30
},
31
31
{
32
32
q: 'What does the database agent do?',
33
-
a: 'You state an objective; the agent runs read-only, budgeted SQL and writes a report where every claim cites a result. It runs statements on PostgreSQL, SQLite, DuckDB and SQL Server; plan mode, which runs nothing, opens on every connection.',
33
+
a: 'You state an objective; the agent runs read-only, budgeted queries and writes a report where every claim cites a result. It runs statements on PostgreSQL, MySQL (and MariaDB), SQLite, DuckDB, SQL Server, MongoDB and Kubernetes; plan mode, which runs nothing, and the Operate workflow open on every connection.',
body: 'You state an objective and press Start. The run drafts SQL, reads what comes back, and composes a report in which every claim cites the result it came from. It never starts itself and never executes what it recommends. It stays out of your editor unless you opt in: an Analyze run opened with auto-execute, after a consent step, places its answer’s statement in your editor and runs it there, under the same database-enforced read-only boundary.',
93
93
points: [
94
94
'Five workflows: Investigate, Optimize, Assess, Analyze, which answers a question about the data rather than about the database, and Operate, which sends no SQL at all and reads the engine’s own reporting interface',
95
-
'Read-only enforced by the database, not by a parser: a read-only transaction on PostgreSQL, PRAGMA query_only re-asserted per statement on SQLite, a READ_ONLY handle plus an SQL guard on DuckDB, and on SQL Server a principal verified unable to write and a transaction always rolled back',
95
+
'Read-only enforced below the parser: a read-only transaction on PostgreSQL, PRAGMA query_only re-asserted per statement on SQLite, a READ_ONLY handle plus an SQL guard on DuckDB, on SQL Server a principal verified unable to write and a transaction always rolled back, on MySQL and MariaDB a principal verified to hold nothing past SELECT and SHOW VIEW behind START TRANSACTION READ ONLY, on MongoDB a user proven read-only at open plus a command fence, and on Kubernetes a request allowlist plus the identity\u2019s own RBAC',
96
96
'Every statement passes a policy decision, an audit event and budget accounting before the driver is touched',
97
97
'Bounded and metered on screen: 18 to 45 statements and a 6 to 15 minute deadline depending on workflow, 200 rows per read',
98
98
'Evidence or nothing — a claim with no citation cannot be composed',
99
99
'The run states its own verdict: “Run answered” or “Run did not answer”',
100
100
'An MCP endpoint, off by default, lets an AI client of your own read schemas and run bounded read-only SQL through Studio while the credentials stay on the server',
101
101
],
102
102
limit:
103
-
'Agent mode reads PostgreSQL, SQLite, DuckDB and SQL Server only, because the read-only profile is database-native and exists only where a provider implements it. On any other engine an agent run that sends statements is refused when it is started; the same four engines are the only ones where the MCP endpoint runs a query. Plan mode opens on every connection — it is toolless, runs nothing, and drafts a statement for you to run yourself. The embedded @libredb/studio package carries no agent surface at all.',
103
+
'Agent mode sends statements on PostgreSQL, MySQL (and MariaDB), SQLite, DuckDB, SQL Server, MongoDB and Kubernetes only, because each needs a read-only boundary its provider proves. On any other engine a run that sends statements is refused when it is started, and Operate still runs. The MCP endpoint runs queries on PostgreSQL, MySQL (and MariaDB), SQLite, DuckDB and SQL Server; MongoDB gets schema reads only, and Kubernetes is not offered. Plan mode opens on every connection: it is toolless, runs nothing, and drafts a statement for you to run yourself. The embedded @libredb/studio package carries no agent surface at all.',
0 commit comments