[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: sql.el MariaDB support
Re: sql.el MariaDB support
Sun, 10 Jun 2018 20:26:49 -0400
On June 7, 2018 4:48 AM, Robert Cochran <address@hidden> wrote:
> ... I made a copy of the MySQL entry and
> modified it to fit MariaDB. I then made most all of the MariaDB
> variables defvaralias-es of the MySQL ones. `sql-comint-mariadb' just calls
> MariaDB is almost no different than MySQL except for the prompt.
I had to move the mariadb defvaraliases before the mysql defvar because that is
the order expected.
> So my first attempt is attached below. Doubtless I've done at least a
> handful of things wrong, but I can just fix them as we go.
> A couple of things I've been thinking about that might be wrong/need
> 1. Should we try to support a configuration where the MariaDB and MySQL
> configuration options differ (aka making MariaDB variables not mere
> aliases for the MySQL ones)? Simple-minded me thinks not, that there
> wouldn't really be a point in doing that since MariaDB is supposed to be
> able to drop-in replace MySQL. But I'm asking anyways.
This is obviously the potential gotcha here, but if you are flipping between
you have enough other problems that I don't think Emacs will be you biggest. :)
> 2. Will it be problematic that the MariaDB entry doesn't have a
> :prompt-length? The MariaDB prompt contains the current database, so
> there's no real knowing ahead of time how long the prompt will
> be. Looking at how it's used, it appears that query text on continuation
> lines will be messed up. Maybe it would be close enough to have
> :prompt-length be (length "MariaDB > ") - everything except the
> database name?
That's a hold-over from the original and I'm not sure it has any impact today.
me know if you have any problems...
> 3) To that end, is it okay that my regexp for matching the database name
> is pretty loose? I figured on the first pass that being a little
> generous with the match criterion is acceptable, but I wouldn't be
> surprised if that wasn't good enough for a final solution.
Keeping it loose is okay, anchoring it to the start of the line thru the "> "
really all that's needed.
> Well, here goes. Hopefully this won't need tons of rework cycles.
I had to rearrange the declarations a bit and correct a couple of
issues, but it looks fine. I went ahead and committed the code and gave you
> > I'd also encourage you to update the shared font-lock settings to get it
> > up-to-date with the latest features. It's been a very long time since I used
> > MySQL so there is some bit-rot there.
> I'm probably not your guy on this one. I'm avery casual user, so I'd
> honestly have no idea where to even start with that. Sorry. :(
I took care of this. Basically the font-lock variables have long lists of
functions, and data types that are converted at build time to a massive regexp.
I updated the lists from the MySQL and MariaDB documentation. Let me know if
you find any of the highlighting to be distracting or seeming incorrect.
serious increase in complexity of the matching, there will always be some odd
> ~Robert Cochran
Thank you very much, I greatly appreciate your contribution.
address@hidden // FSF and EFF member // GNU Emacs sql.el maintainer