Database Tools compatibility with MemCP: Difference between revisions

From MemCP
Jump to navigation Jump to search
(Refresh MemCP documentation: accuracy, operational guidance, performance profile and maintained API reference)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
== PHPMyAdmin ==
<!-- Copyright (C) 2026 Carl-Philip Haensch -->
no support yet. Read more under: [[Contributing]]
<!-- SPDX-License-Identifier: GPL-3.0-or-later -->
= Database Tools compatibility with MemCP =


== DBeaver ==
MemCP speaks the MySQL wire protocol over TCP and a Unix socket. Compatibility depends on both SQL behavior and the metadata queries issued by a particular client version.
Support for:


* List Databases
{| class="wikitable"
* List Tables
! Tool !! Connection !! Current status !! Notes
* SQL Queries
|-
| MySQL CLI || MySQL protocol || Supported || Core SQL, prepared statements, SHOW metadata, and process control
|-
| PDO MySQL || MySQL protocol || Supported || Use the MySQL PDO driver
|-
| DBeaver || MySQL driver || Supported with limitations || Retest schema editing and metadata against the concrete release
|-
| PHPMyAdmin || MySQL driver || Compatibility target || Do not claim a version supported without a dated test run
|-
| VS Code SQLTools || MySQL/MariaDB driver || Supported with limitations || No dedicated MemCP extension is required
|}


* View Tables
MemCP implements prepared statements, selected <code>INFORMATION_SCHEMA</code> relations, SHOW metadata, processlist, TCP, and a Unix socket. It does not claim byte-for-byte MySQL server behavior. Record the MemCP commit, client version, connection mode, and failed metadata query when reporting incompatibility.


== VSCode SQLTools ==
== Connecting a tool ==
In the moment, you have to use the MySQL / MariaDB connector. A own MemCP connector could be using the REST API, too.


Support for:
Select a MySQL or MariaDB driver, use the configured host and MySQL port (3307 in the documentation examples), and authenticate with a least-privilege MemCP user. Disable driver features that require an unsupported server capability rather than assuming the connection failure is network-related. For the command line:


* List Databases
<pre>
* List Tables
mysql --protocol=TCP -h 127.0.0.1 -P 3307 -u app_user -p myapp
* View Tables
</pre>
* SQL Queries
 
When a GUI opens a connection but fails while browsing schemas, capture its first failing metadata statement and reproduce that SQL through the CLI. Tool compatibility often depends on those discovery queries rather than ordinary SELECT/INSERT behavior.
 
''Matrix reviewed against MemCP commit <code>c42e19eba</code> on 27 August 2026; individual GUI versions still require concrete verification.''

Latest revision as of 12:13, 28 August 2026

Database Tools compatibility with MemCP

MemCP speaks the MySQL wire protocol over TCP and a Unix socket. Compatibility depends on both SQL behavior and the metadata queries issued by a particular client version.

Tool Connection Current status Notes
MySQL CLI MySQL protocol Supported Core SQL, prepared statements, SHOW metadata, and process control
PDO MySQL MySQL protocol Supported Use the MySQL PDO driver
DBeaver MySQL driver Supported with limitations Retest schema editing and metadata against the concrete release
PHPMyAdmin MySQL driver Compatibility target Do not claim a version supported without a dated test run
VS Code SQLTools MySQL/MariaDB driver Supported with limitations No dedicated MemCP extension is required

MemCP implements prepared statements, selected INFORMATION_SCHEMA relations, SHOW metadata, processlist, TCP, and a Unix socket. It does not claim byte-for-byte MySQL server behavior. Record the MemCP commit, client version, connection mode, and failed metadata query when reporting incompatibility.

Connecting a tool

Select a MySQL or MariaDB driver, use the configured host and MySQL port (3307 in the documentation examples), and authenticate with a least-privilege MemCP user. Disable driver features that require an unsupported server capability rather than assuming the connection failure is network-related. For the command line:

mysql --protocol=TCP -h 127.0.0.1 -P 3307 -u app_user -p myapp

When a GUI opens a connection but fails while browsing schemas, capture its first failing metadata statement and reproduce that SQL through the CLI. Tool compatibility often depends on those discovery queries rather than ordinary SELECT/INSERT behavior.

Matrix reviewed against MemCP commit c42e19eba on 27 August 2026; individual GUI versions still require concrete verification.