cvs: php3 /dl/mssql/ Makefile mssql.c php3_mssql.h
| From: | Frank M. Kromann | Date: | Tue, 23 May 2000 18:13:28 +0000 |
| Subject: | cvs: php3 /dl/mssql/ Makefile mssql.c php3_mssql.h | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-19305@lists.php.net to get a copy of this message | ||
fmk Tue May 23 20:13:28 2000 EDT
Added files:
/php3/dl/mssql Makefile
Modified files:
/php3/dl/mssql mssql.c php3_mssql.h
Log:
adding FreeTDS compatibility for MS SQL. This is first virsion and not all functions has been
tested
Index: php3/dl/mssql/mssql.c
diff -u php3/dl/mssql/mssql.c:1.18 php3/dl/mssql/mssql.c:1.19
--- php3/dl/mssql/mssql.c:1.18 Sun Feb 20 19:40:33 2000
+++ php3/dl/mssql/mssql.c Tue May 23 20:13:28 2000
@@ -32,7 +32,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: mssql.c,v 1.18 2000/02/20 18:40:33 eschmid Exp $ */
+/* $Id: mssql.c,v 1.19 2000/05/23 18:13:28 fmk Exp $ */
#define IS_EXT_MODULE
#if !(WIN32|WINNT)
@@ -201,8 +201,10 @@
if (dbinit()==FAIL) {
return FAILURE;
}
+#if WINNT|WIN32
dberrhandle((DBERRHANDLE_PROC) php3_mssql_error_handler);
dbmsghandle((DBMSGHANDLE_PROC) php3_mssql_message_handler);
+#endif
//if (cfg_get_string("mssql.interface_file",&interface_file)==SUCCESS) {
//dbsetifile(interface_file);
@@ -364,7 +366,9 @@
DBSETLAPP(mssql.login,msSQL_GLOBAL(appname));
mssql.valid = 1;
+#if WINNT|WIN32
DBSETLVERSION(mssql.login, DBVER60);
+#endif
// DBSETLTIME(mssql.login, TIMEOUT_INFINITE);
if (!msSQL_GLOBAL(allow_persistent)) {
@@ -397,8 +401,7 @@
RETURN_FALSE;
}
-// if (dbsetopt(mssql.link,DBBUFFER,"2",-1)==FAIL) {
- if (dbsetopt(mssql.link,DBBUFFER,"2")==FAIL) {
+ if (dbsetopt(mssql.link,DBBUFFER,"2" FREETDS_OPTION)==FAIL) {
efree(hashed_details);
dbfreelogin(mssql.login);
dbclose(mssql.link);
@@ -407,7 +410,7 @@
if (msSQL_GLOBAL(textsize) != -1) {
sprintf(buffer, "%li", msSQL_GLOBAL(textsize));
- if (dbsetopt(mssql.link, DBTEXTSIZE, buffer)==FAIL) {
+ if (dbsetopt(mssql.link, DBTEXTSIZE, buffer FREETDS_OPTION)==FAIL) {
efree(hashed_details);
dbfreelogin(mssql.login);
RETURN_FALSE;
@@ -415,7 +418,7 @@
}
if (msSQL_GLOBAL(textlimit) != -1) {
sprintf(buffer, "%li", msSQL_GLOBAL(textlimit));
- if (dbsetopt(mssql.link, DBTEXTLIMIT, buffer)==FAIL) {
+ if (dbsetopt(mssql.link, DBTEXTLIMIT, buffer FREETDS_OPTION)==FAIL) {
efree(hashed_details);
dbfreelogin(mssql.login);
RETURN_FALSE;
@@ -462,8 +465,7 @@
#if BROKEN_MSSQL_PCONNECTS
log_error("PHP/MS SQL: Reconnect successful!",php3_rqst->server);
#endif
-// if (dbsetopt(mssql_ptr->link,DBBUFFER,"2",-1)==FAIL) {
- if (dbsetopt(mssql_ptr->link,DBBUFFER,"2")==FAIL) {
+ if (dbsetopt(mssql_ptr->link,DBBUFFER,"2" FREETDS_OPTION)==FAIL) {
#if BROKEN_MSSQL_PCONNECTS
log_error("PHP/MS SQL: Unable to set required options",php3_rqst->server);
#endif
@@ -512,8 +514,7 @@
RETURN_FALSE;
}
-// if (dbsetopt(mssql.link,DBBUFFER,"2",-1)==FAIL) {
- if (dbsetopt(mssql.link,DBBUFFER,"2")==FAIL) {
+ if (dbsetopt(mssql.link,DBBUFFER,"2" FREETDS_OPTION)==FAIL) {
efree(hashed_details);
dbfreelogin(mssql.login);
dbclose(mssql.link);
@@ -522,7 +523,7 @@
if (msSQL_GLOBAL(textlimit) != -1) {
sprintf(buffer, "%li", msSQL_GLOBAL(textlimit));
- if (dbsetopt(mssql.link, DBTEXTLIMIT, buffer)==FAIL) {
+ if (dbsetopt(mssql.link, DBTEXTLIMIT, buffer FREETDS_OPTION)==FAIL) {
efree(hashed_details);
dbfreelogin(mssql.login);
RETURN_FALSE;
Index: php3/dl/mssql/php3_mssql.h
diff -u php3/dl/mssql/php3_mssql.h:1.5 php3/dl/mssql/php3_mssql.h:1.6
--- php3/dl/mssql/php3_mssql.h:1.5 Tue Feb 8 00:54:50 2000
+++ php3/dl/mssql/php3_mssql.h Tue May 23 20:13:28 2000
@@ -28,7 +28,7 @@
*/
-/* $Id: php3_mssql.h,v 1.5 2000/02/07 23:54:50 zeev Exp $ */
+/* $Id: php3_mssql.h,v 1.6 2000/05/23 18:13:28 fmk Exp $ */
#ifndef _PHP3_MSSQL_H
#define _PHP3_MSSQL_H
@@ -45,6 +45,35 @@
#define DLEXPORT
#endif
+#if HAVE_FREETDS
+#define dbfreelogin(a) dbloginfree(a)
+#define FREETDS_OPTION , -1
+#define SQLINT1 SYBINT1
+#define SQLINT2 SYBINT2
+#define SQLINT4 SYBINT4
+#define SQLINTN SYBINTN
+#define SQLCHAR SYBCHAR
+#define SQLVARCHAR SYBVARCHAR
+#define SQLTEXT SYBTEXT
+#define SQLFLT SYBFLT
+#define SQLFLT8 SYBFLT8
+#define SQLFLTN SYBFLTN
+#define SQLNUMERIC SYBNUMERIC
+#define SQLDECIMAL SYBDECIMAL
+#define SQLMONEY SYBMONEY
+#define SQLMONEY4 SYBMONEY4
+#define SQLMONEYN SYBMONEYN
+#define SQLBINARY SYBBINARY
+#define SQLVARBINARY SYBVARBINARY
+#define SQLDATETIME SYBDATETIME
+#define SQLDATETIM4 SYBDATETIME4
+#define SQLDATETIMN SYBDATETIMN
+#define SQLBIT SYBBIT
+#define SQLIMAGE SYBIMAGE
+#else
+define FREETDS_OPTION
+#endif
+
extern php3_module_entry mssql_module_entry;
#define mssql_module_ptr &mssql_module_entry
@@ -112,7 +141,7 @@
char *appname;
char *server_message;
int le_link,le_plink,le_result;
- int magic_quotes_runtime;
+ long magic_quotes_runtime;
long min_error_severity,min_message_severity;
long cfg_min_error_severity,cfg_min_message_severity;
void (*get_column_content)(mssql_link *mssql_ptr,int offset,pval *result,int column_type);