Skip to content

qorelanguage/module-mysql

Repository files navigation

mysql module for Qore
by David Nichols

Requires qore 0.8.6+ and mysql 4.1+ headers and libraries for the full driver feature set

With MySQL 4.1+ you can get transaction support and the module will use the more efficient prepared statement interface.

The driver supports the following features (depending on the MySQL client library version):
* is thread-safe
* stored procedure execution with binding and retrieving values (5 and newer)
* transaction management is supported (4.1 and newer)
* transparent character encoding conversion is supported if necessary
* the "optimal-numbers" option is set by default as of module version 2.2
* supports a server timezone setting for correctly handling date/time value
  when communicating with a DB server in another time zone
* the prepared statement API is support (SQLStatement class)

The driver's name is "mysql" and the Datasource type constant is SQL::DSMySQL
ex: my Datasource $db(DSMySQL);
ex: my Datasource $db("mysql:user/pass@db%hostname:3306");

The mysql module is stable and has been extensively tested.

Documentation: docs/mysql-module-doc.html

test/example script: test/db-test.q

LICENSE
-------
The source code is released under the LGPL 2.1 and GPL 2.1 licenses.  The GPL license must be used when linking with mysql libraries and the LGPL license is used with MariaDB.
the binary module is automatically tagged with the license type, and a module tagged with a GPL license cannot be loaded by the Qore binary initialized in LGPL (or MIT) mode;
it can only be loaded if the Qore library is initialized in GPL mode.
See COPYING.LGPL and COPYING.GPL for details on the open-source licenses.


BUILD AND INSTALL
-----------------

If your mysql/mariadb installation is in a non-standard location, set one of the following environment variables before running configure:
* MYSQL_DIR: the main mysql/mariadb directory (include and lib subdirs must be present)
* MYSQL_INCLUDES: the directory containing the mysql/mariadb header files
* MYSQL_LIBS: the directory containing the mysql/mariadb libraries

configure
make
sudo make install

The configure script will find out where your qore module directory is found and set this for the install directory.

BUILD FROM GIT
--------------

reconf.sh
configure
make
sudo make install