Continuent.org logo

Continuent.org :: Carob

C++ API and Sequoia ODBC driver

monpasor
WHAT IT IS
Alternative library for MySQL API C client, using Carob to benefit from clustering. So, native mysql client programs can use the Sequoia clustering solution without changing any line of code in the application.

HOW TO USE IT
Install the debian or rpm package and you are ready with the first step. Now you can try one of the following steps:
  • Preload the libmysequoia library
    LD_PRELOAD=/usr/lib/libmysequoia.so your_programe
  • If libmysqlclient is linked statically then you must recompile the sources of the application. It's easy just replace every ocurence of mysql_config with mysequoia_config after that
    ./configure && make && make install
The steps needed to recompile PHP5:
./configure --with-mysqli=shared,/usr/bin/mysequoia_config ...
make
make install

SEQUOIA CONFIGURATION
In the config directory you can find some sample configuration file for Sequoia. This files must be copied to $SEQUOIA_HOME/config directory. The JDBC driver must be downloaded from the MySQL site and the JAR file copied to $SEQUOIA_HOME/drivers directory.
Note for developers: before the make check you must start the Sequoia controller using the configuration files from the config directory.

APT-GET AND YUM REPOSITORIES
Include the following lines in your /etc/apt/sources.list file for apt-get:
For Debian Sarge 3.1
deb http://carob.continuent.org/repo/${arch}/debian/ binary/
deb-src http://carob.continuent.org/repo/${arch}/debian/ source/
Include the following lines in your /etc/yum.repos.d/Continuent.repo for yum:
For Redhat Enterprise Linux 3, Redhat Enterprise Linux 4, Suse Linux Enterprise Server 9 and Suse Linux Enterprise Server 10
[continuent]
name=Continuent
baseurl=http://carob.continuent.org/repo/${arch}/${distro}
gpgcheck=0
Where:
* ${distro} is one of rhel3, rhel4, sles9 or sles10
* ${arch} is i386 or x86_64
The packages are compiled with the MySQL 5.0 and MySQL 4.1 header files (libmysequoia.so.15 and libmysequoia.so.14)

DEPENDENCIES
iconv is included in glibc. So all Linux systems for instance already have it.

For developers 4 more dependencies (the last 3 are optional):

CURRENT LIMITATIONS
The following MySQL API C functions are not implemented (in fact they are dummy functions)
  • mysql_ping
  • mysql_debug
  • mysql_shutdown
  • mysql_list_processes
  • mysql_stat
  • mysql_thread_id
  • mysql_kill
Please note that Sequoia does not implement the whole MySQL SQL dialect. If some queries are not working try to rewrite using standard SQL dialect.
Page was generated in 0.2675 seconds