Is MariaDB 10.1 compatible with Doctrine 2.5? - symfony

I'm starting a new PHP project with Symfony 3 and Doctrine 2 and I would like to use MariaDB 10.1 (or 10.0) instead of MySQL 5.7, but i cannot find if Doctrine (ORM) 2.5 supports MariaDB 10.1 and, if not, if there's any plan to support it in the future.
Does anyone know more? Known incompatibilities, future plans, etc.

For all intents and purposes, MariaDB 10 is identical to MySQL 5.6, so you should be good to go.
https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/
MySQL 5.5 is compatible with MariaDB 5.5 and also in practice with MariaDB 10.0. What this means is that:
Data and table definition files (.frm) files are binary compatible.
See note below for an incompatibility with views!
All client APIs,
protocols and structs are identical.
All filenames, binaries, paths,
ports, sockets, and etc... should be the same.
All MySQL connectors
(PHP, Perl, Python, Java, .NET, MyODBC, Ruby, MySQL C connector etc)
work unchanged with MariaDB. There are some installation issues with
PHP5 that you should be aware of (a bug in how the old PHP5 client
checks library compatibility).
The mysql-client package also works
with MariaDB server.
The shared client library is binary compatible
with MySQL's client library.
This means that for most cases, you can just uninstall MySQL and install MariaDB and you are good to go.
Just beware that since Maria DB 10.0, not all features in MySQL 5.6 are available. A detailed comparison between MariaDB 10.1 and MySQL 5.7 can be found here:
https://mariadb.com/kb/en/mariadb/system-variable-differences-between-mariadb-101-and-mysql-57/

Related

Is there an ODBC Driver for MariaDB in IBM PASE?

As part of the open-source software on PASE for i, MariaDB is available in the ibm repository. However, it seems like the MariaDB Connector/ODBC is not available.
Following the Building MariaDB Connector/ODBC From the Git Repository instructions does not work, since it appears that PASE is not supported. Forking it and modifying the source + build toolchain to work in PASE seems like a potential (but unattractive) option.
Is there a MySQL ODBC driver that can be used instead? Have I missed an available package? I also noticed that Zend / Seiden / etc have discussed using PHP with MySQL / MariaDB on PASE for i, how is PHP connecting to MariaDB in that case?
IBM does not currently provide an ODBC interface for connecting to MariaDB. Most high level languages provide a MySQL/MariaDB interface which does not require the client libraries (eg. PyMySQL).

How do I install pglogical extension on Windows machine?

I need to migrate an enterprise production database from a Windows source machine running Postgres 9.5 to an Ubuntu destination machine running Postgres 11.6 with < 15 mins downtime. I plan to do this with pglogical, which requires the extension being loaded on both source and destination. I am having trouble with the source side because it is Windows.
I have very little Postgres-Windows experience and can neither find any helpful literature on the specific situation nor can I figure out for myself how to presumably install from source.
I've dug and dug and so far the only answer I've been able to find is "ugh... Windows". It seems like the only way to build from source is using Visual Studio, which I don't have or know how to use.
Sources:
https://www.2ndquadrant.com/en/blog/compiling-postgresql-extensions-visual-studio-windows/
https://postgrespro.ru/list/thread-id/1835275
Alex, the 2ndQuadrant article you link to in your own comment solves this. A few of the project or build options noted there have moved a little bit in the newer VisualStudio Community editions, so I can see where you got hung-up.
Just for kicks I compiled 32-bit DLL on my oldest Windows instance. I included the /Release path so you can grab my DLL & see if it works for you. It's (a) 32-bit because I'm assuming worst-case for an old v9.5 install, and (b) targets Postgres 9.6 because that's what I had installed. Unless there were major API changes though, it should connect to v9.5 without any issues:
https://github.com/mbijon/winpglogical/tree/master
If you find you need a version that entirely matches Postgres 9.5, grab my solution files & VS Community 20xx. Load the project & update the Additional Include Directories in Project Config to target your v9.5 paths. That should be all that's needed to link v9.5 Postgres libs.

Snowflake Linux ODBC Driver

Does anyone know if the latest Snowflake ODBC driver for Linux (v2.19.16) is compatible with RHEL 6.8?
Snowflake customers have had success using the Snowflake ODBC driver on RHEL. I would say the best thing to do is to test. As per the documentation, what is currently officially supported is CentOS 6 or higher. CentOS is very close to being RHEL without the branding and support. In particular, the library versions are the same, so binaries that work on one will work on the other.
https://docs.snowflake.net/manuals/user-guide/odbc.html#odbc-driver

Does Qt require additinal SQLite packages/libraries to be installed?

I have an idea of storing the configuration of a Qt application in a SQLite database, but I am worrying a bit that Qt SQLite driver may require some additional packages/libraries/dependencies on different OS like Ubuntu, CentOS, Windows, Android etc...
If so, I wonder if anyone knows what exactly should I install and how to ensure that Qt 5.5 prebuilt version, for example, supports SQLite?
The SQLite 3 library is compiled into Qt (if you have enabled it), so you do not need to install anything else.

AS400 iSeries Client Access multiple versions

We are running an AS400 v5r2 and I have iSeries Client access installed. Since v5r2 does not support a x64 ODBC driver does anyone know how I can either install two versions (v5r4 supports x64) of iSeries Client Access on the same box or just install the x64 odbc driver from the more recent version without uninstalling all of v5r2 components.
Installing two versions of Client Access is probably not going to work, since both register their ODBC drivers with the same name, so only one would be available at a given time.
OTOH the PC side of V5R4 Client Access would probably work without problem with a V5R2 OS/400; perhaps even 6.1 iSeries Access, too. So you can upgrade the x64 box and check whether everything is working. FYI, I had problems with the first versions of 6.1 iSeries Access when running on x64 boxes, later versions were a bit better; also, I do not remember that V5R4 Client Access had a 64-bit variant at all.
Do not forget that on a x64 PC, there are two different ODBC drivers, one for 32-bit applications (stored on C:\WINDOWS\SysWOW64\cwbodbc.dll and that you can manage with the 32-bit administradorC:\WINDOWS\SysWOW64\odbcad32.exe), and another one for 64-bit applications (stored on C:\WINDOWS\System32\cwbodbc.dll and that you can manage with the 64-bit administrador C:\WINDOWS\System32\odbcad32.exe.) Unless your application is recompiled for 64-bit, what you are interested in is the former one, and if V5R2 Client Access runs flawlessly on that PC, everything is fine. Some applications like Office 2010 come in two flavours, but precisely for compatibility reasons like ODBC, it is still recommended to run the 32-bit variant even on 64-bit workstations.
1) V5R2 is very dead. You aren't going to get a lot of help when it comes to supporting an OS this old.
2) V5R4 is also dead.
3) Generally speaking, IBM intends that Client Access will work for operating systems two levels back and two levels ahead, so you could try using a V5R4 ODBC driver against a V5R2 DB2. The issue is going to be getting a V5R4 version of Client Access.
4) If you have questions about admin issues like this, Server Fault is probably the better choice.
EDIT: Add details of Client Access installation
Client Access has two logical pieces, a server side component and a client side component. Both pieces are available in the IFS, in the QIBM directory tree. If you have an already-working setup of Client Access on the server side, you can install the client side one of two ways:
1) Map a network drive to the IFS and run setup from there. This obviously won't be helpful to you because the V5R2 software doesn't support x64. If you are still under software maintenance, you could order a newer version of Client Access and install it on the server, and then use the newer version to install the needed ODBC driver.
2) Use the IBM-supplied CD to install the client component directly on the client. This allows you to install a different client version than the one on the server. Not generally recommended but in the case where you're migrating away from an unsupported machine, it's probably not a big worry. If your company ordered V5R4 at any time, you have the Client Access CDs.
The key thing for you is that you don't need to install the full Access product if all you need is the ODBC driver.
The biggest problem facing you is the age of the software. IBM stopped supporting V5R4 in Sep 2013. You aren't going to be able to place an order for it with IBM. You might be able to order V6R1 but the ODBC driver may not work with V5R2 - you'd have to try it. See the IBM i Access web site for details, but it's not downloadable.
If you can use OLEDB, try IBM's FTP site.

Resources