Posts

MySQL Workbench to DBeaver Transition

Image
 First, there were the MySQL Query Browser and the MySQL Administrator, collectively known as the MySQL GUI Tool Bundle. But they were given End-of-Life status in 2009. Next was MySQL Workbench, but that tool is now EOL as well. MySQL Workbench provides a warning if you try to use it with later versions of MySQL.  You could still run Workbench, but it will grumble if you try to use it with any version other than 5.6, 5.7, or 8.0. Heck, it warns you that 8.4 may be a bit sketchy. On, and you need an older version for MySQL 5.5 and earlier.   Many people swore by Workbench as the tool for checking on system status, wiring queries, and making backups. Others swore at it. Yes, it had quirks. But Workbench did a lot of this right.  There is a free, open-source database tool you should consider as a replacement. DBeaver Community Edition  is also a database tool, but it supports many databases, not just MySQL. It uses JDBC connectors. DBeaver is an IDE that offers sma...

Github And DBeaver

Image
  Hopefully, you are regularly using both  DBeaver  and  GitHub . But did you know that you can link them together? If you are running DBeaver Community, you will have to install some software that is built into the Pro versions.  1. Install Git Extension (Community Edition)   Go to  Help  ->  Install New Software . In the "Work with" field, enter:  https://dbeaver.io/update/git/latest/ . Check the box for  DBeaver Git Support , click  Next , and follow the prompts to finish and restart DBeaver.   2. Configure GitHub Authentication   GitHub requires a  Personal Access Token (PAT)  rather than your standard account password for DBeaver's connection:   Generate Token:  On GitHub, go to  Settings  ->  Developer Settings  ->  Personal access tokens  ->  Tokens (classic) . Permissions:  Select all  repo  scopes and  read:org  under...

Writing My Own Extension For Village SQL Part II

Image
 Writing my own extension for Village SQL has been a learning experience. Extensions are a big part of the PostgreSQL ecosystem, and the idea of bringing them to the MySQL ecosystem is a source of hope for the 'most popular database'.   The Good News I was able to build my extension, vsql_cube, and get it into the server! Yeah!       mysql> select * from information_schema.extensions; +----------------+-------------------+ | EXTENSION_NAME | EXTENSION_VERSION | +----------------+-------------------+ | vsql_complex   | 0.0.1             | | vsql_cube      | 1.0.0             | | vsql_simple    | 0.0.1             | +----------------+-------------------+ 3 rows in set (0.01 sec) The Bad News My extension does not work.  mysql> select vsql_simple(5); ERROR 1305 (42000): FUNCTION demo.vsql_simple does not ex...

Writing My Own Extension for Village SQL Part I

Since my previous post on Village SQL, life has been filled with too many other things. But finally I was able this past weekend to circle back and try to write my own extension. The Village SQL TL;DR -> MySQL with PostgreSQL like extensions.   The  documentation on writing new extensions seems complete, but I have run into issues that are probably caused by me, and not the docs.   Starting with a bad joke  I heard a joke about a husband who was sent to the store by a long suffering wife because she said a recipe needed five cubed potatoes.  So he bought one hundred and twenty five potatoes!  That made me think a first extension that cubes an integer might be a good idea. But there are problems I haven't written anything serious in C/C++ in a very long time. I asked Grok to create the code for me. #include <villagesql/extension.h> #include <cstdint>   // for int64_t (optional but recommended) // Cube implementation - corre...

Village SQL - A MySQL Fork With Easy Extensions

 I was happy to see a new MySQL fork appear. Village SQL  bills itself as 'A drop-in replacement for MySQL with extensions for the agentic AI era'. Mainstream Oracle MySQL does have Plug-ins, but I have found them less easy to develop and use than other implementations, such as PostgreSQL extensions. So how does it work? Head over to  https://github.com/villagesql/villagesql-server and follow the directions to clone and build the code. You will see detailed instructions for Linux and Mac builds. I followed the directions, let the make run overnight (slow hampsters in my testbed Ubuntu laptop).   The instructions were complete and easy to follow. First Run $ ~/build/villagesql/bin/mysql -u root -h 127.0.0.1 Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 10 Server version: 8.4.6-villagesql0.0.1-dev Source distribution Copyright (c) 2000, 2025, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corp...