[gnome-db] experimental mSQL provider



here's the first version of a provider for Hughes Technologie's mSQL. Rodrigo asked me to publish it here first to see wether it comes along well and wether i can cut the mustard for a CVS account ;)

anyways, please bear in mind that it is more like a proof of principle rather than the finished thing. It's still warnings galore and maybe a couple bugs maybe in it too. I've tested the Databases and Tables describe features in mergeant and ran a couple SQL statements. selects worked quite well. Inserts throw up an error altho they're executed. Thats prolly down to the fact that mSQL doesn't create a result pointer out of non-selects.

anyways, here's the instructions to patch the latest CVS version, which i used as a testbed:

cd libgda
patch -Np0 -i configure_in.patch
patch -Np0 -i Makefile_am.patch
cd providers msql.tar.gz

then do the familiar ./autogen.sh dance and things go along.

I tested it against the mSQL  2.0.12 release


cheers,
D. Schoeneberg

Attachment: msql.tar.gz
Description: application/gzip

*** ../orig/libgda/configure.in	Sun Apr 20 14:13:01 2003
--- configure.in	Sat May 10 00:59:03 2003
***************
*** 210,215 ****
--- 210,269 ----
  
  AM_CONDITIONAL(MYSQL, test x$mysqldir != x)
  
+ dnl Test for mSQL
+ try_msql=true
+ AC_ARG_WITH(mysql,
+ [  --with-mSQL=<directory>	use mSQL backend in <directory>],[
+ if test $withval = no
+ then
+ 	try_msql=false
+ elif test $withval = yes
+ then
+ 	dir="/usr/local"
+ else
+ 	dir=$withval
+ fi
+ ])
+ msqldir=""
+ if test $try_msql = true
+ then
+ 	AC_MSG_CHECKING(for mSQL files)
+ 	for d in $dir /usr /usr/local /usr/local/msql /opt/msql /opt/packages/msql
+ 	do
+ 		if test -f $d/include/msql/msql.h
+ 		then
+ 			msqldir_suffix=/msql
+ 		else
+ 			msqldir_suffix=
+ 		fi
+ 		if test -f $d/lib/msql/libmsql.a -o -f $d/lib/msql/libmsql.so
+ 		then
+ 			AC_MSG_RESULT(found mSQL in $d)
+ 			msqldir=$d
+ 			msqllibdir_suffix=/msql
+ 			break
+ 		fi
+ 		if test -f $d/lib/libmsql.a -o -f $d/lib/libmsql.so
+ 		then
+ 			AC_MSG_RESULT(found mSQL in $d)
+ 			msqldir=$d
+ 			msqllibdir_suffix=
+ 			break
+ 		fi
+ 	done
+ 	if test x$msqldir = x
+ 	then
+ 		AC_MSG_WARN(mSQL backend not used)
+ 	else
+ 		AC_DEFINE(HAVE_MSQL)
+ 		MSQL_CFLAGS="-I${msqldir}/include${msqldir_suffix}"
+ 		MSQL_LIBS="-L${msqldir}/lib${msqllibdir_suffix} -lmsql"
+ 	fi
+ fi
+ 
+ AM_CONDITIONAL(MSQL, test x$msqldir != x)
+ 
+ 
  dnl Test for PostgreSQL
  try_postgres=true
  AC_ARG_WITH(postgres,
***************
*** 762,767 ****
--- 816,823 ----
  AC_SUBST(ODBC_CFLAGS)
  AC_SUBST(MYSQL_LIBS)
  AC_SUBST(MYSQL_CFLAGS)
+ AC_SUBST(MSQL_LIBS)
+ AC_SUBST(MSQL_CFLAGS)
  AC_SUBST(POSTGRES_LIBS)
  AC_SUBST(POSTGRES_CFLAGS)
  AC_SUBST(PRIMEBASE_LIBS)
***************
*** 802,807 ****
--- 858,864 ----
  providers/firebird/Makefile
  providers/mdb/Makefile
  providers/mysql/Makefile
+ providers/msql/Makefile
  providers/odbc/Makefile
  providers/oracle/Makefile
  providers/postgres/Makefile
***************
*** 833,838 ****
--- 890,896 ----
  echo "      IBM DB2 = `if test x$ibmdb2dir != x; then echo yes; else echo no; fi`"
  echo "      MDB (MS Access) = `if test x$mdbdir != x; then echo yes; else echo no; fi`"
  echo "      MySQL = `if test x$mysqldir != x; then echo yes; else echo no; fi`"
+ echo "      mSQL = `if test x$msqldir != x; then echo yes; else echo no; fi`"
  echo "      ODBC = `if test x$odbcdir != x; then echo yes; else echo no; fi`"
  echo "      Oracle = `if test x$oracledir != x; then echo yes; else echo no; fi`"
  echo "      PostgreSQL = `if test x$postgresdir != x; then echo yes; else echo no; fi`"
*** ../orig/libgda/providers/Makefile.am	Wed Jan 15 18:30:59 2003
--- providers/Makefile.am	Sat May 10 00:54:09 2003
***************
*** 14,19 ****
--- 14,23 ----
  GDA_MYSQL_SERVER=mysql
  endif
  
+ if MSQL
+ GDA_MSQL_SERVER=msql
+ endif
+ 
  if ODBC
  GDA_ODBC_SERVER=odbc
  endif
***************
*** 52,57 ****
--- 56,62 ----
  	$(GDA_FIREBIRD_SERVER) \
  	$(GDA_MDB_SERVER) \
  	$(GDA_MYSQL_SERVER) \
+         $(GDA_MSQL_SERVER) \
  	$(GDA_ODBC_SERVER) \
  	$(GDA_ORACLE_SERVER) \
  	$(GDA_POSTGRES_SERVER) \


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]