!MESSAGE \r
!MESSAGE Possible choices for configuration are:\r
!MESSAGE \r
-!MESSAGE "mssql - Win32 MSSQL 65 Release_TS" (based on "Win32 (x86) Dynamic-Link Library")\r
-!MESSAGE "mssql - Win32 MSSQL 65 Debug_TS" (based on "Win32 (x86) Dynamic-Link Library")\r
!MESSAGE "mssql - Win32 MSSQL 70 Release_TS" (based on "Win32 (x86) Dynamic-Link Library")\r
!MESSAGE "mssql - Win32 MSSQL 70 Debug_TS" (based on "Win32 (x86) Dynamic-Link Library")\r
!MESSAGE \r
MTL=midl.exe\r
RSC=rc.exe\r
\r
-!IF "$(CFG)" == "mssql - Win32 MSSQL 65 Release_TS"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "MSSQL_65_Release_TS"\r
-# PROP BASE Intermediate_Dir "MSSQL_65_Release_TS"\r
-# PROP BASE Ignore_Export_Lib 0\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "MSSQL_65_Release_TS"\r
-# PROP Intermediate_Dir "MSSQL_65_Release_TS"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "..\.." /I "..\..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\..\TSRM" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MSSQL_EXPORTS" /D "COMPILE_DL_MSSQL" /D "DBNTWIN32" /D ZTS=1 /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\TSRM" /D MSSQL65=1 /D ZEND_DEBUG=0 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MSSQL_EXPORTS" /D "COMPILE_DL_MSSQL" /D "DBNTWIN32" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_MSSQL=1 /YX /FD /c\r
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
-# ADD BASE RSC /l 0x406 /d "NDEBUG"\r
-# ADD RSC /l 0x406 /d "NDEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php4ts.lib ntwdblib.lib /nologo /dll /machine:I38\r
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php4ts.lib ntwdblib.lib /nologo /dll /machine:I386 /out:"..\..\Release_TS/php_mssql65.dll" /libpath:"..\..\Release_TS" /libpath:"..\..\..\php_build\mssql-65\lib" /libpath:"..\..\Release_TS_Inline"\r
-\r
-!ELSEIF "$(CFG)" == "mssql - Win32 MSSQL 65 Debug_TS"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "MSSQL_65_Debug_TS"\r
-# PROP BASE Intermediate_Dir "MSSQL_65_Debug_TS"\r
-# PROP BASE Ignore_Export_Lib 0\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "MSSQL_65_Debug_TS"\r
-# PROP Intermediate_Dir "MSSQL_65_Debug_TS"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "..\.." /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\TSRM" /I "mssql-70" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MSSQL_EXPORTS" /D "COMPILE_DL_MSSQL" /D "DBNTWIN32" /D ZTS=1 /D MSSQL65=1 /YX /FD /c\r
-# ADD CPP /nologo /MDd /W3 /GX /O2 /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\TSRM" /D MSSQL65=1 /D ZEND_DEBUG=1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MSSQL_EXPORTS" /D "COMPILE_DL_MSSQL" /D "DBNTWIN32" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_MSSQL=1 /YX /FD /c\r
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
-# ADD BASE RSC /l 0x406 /d "NDEBUG"\r
-# ADD RSC /l 0x406 /d "NDEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php4ts.lib ntwdblib.lib /nologo /dll /machine:I386\r
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php4ts_debug.lib ntwdblib.lib /nologo /dll /machine:I386 /out:"..\..\Debug_TS/php_mssql65.dll" /libpath:"..\..\Debug_TS" /libpath:"..\..\..\php_build\mssql-65\lib"\r
-\r
-!ELSEIF "$(CFG)" == "mssql - Win32 MSSQL 70 Release_TS"\r
+!IF "$(CFG)" == "mssql - Win32 MSSQL 70 Release_TS"\r
\r
# PROP BASE Use_MFC 0\r
# PROP BASE Use_Debug_Libraries 0\r
\r
# Begin Target\r
\r
-# Name "mssql - Win32 MSSQL 65 Release_TS"\r
-# Name "mssql - Win32 MSSQL 65 Debug_TS"\r
# Name "mssql - Win32 MSSQL 70 Release_TS"\r
# Name "mssql - Win32 MSSQL 70 Debug_TS"\r
# Begin Group "Source Files"\r
#ifdef ZTS
int mssql_globals_id;
#else
-PHP_MSSQL_API php_mssql_globals mssql_globals;
+PHP_MSSQL_API zend_mssql_globals mssql_globals;
#endif
#ifdef COMPILE_DL_MSSQL
PHP_INI_BEGIN()
- STD_PHP_INI_BOOLEAN("mssql.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateBool, allow_persistent, php_mssql_globals, mssql_globals)
- STD_PHP_INI_ENTRY_EX("mssql.max_persistent", "-1", PHP_INI_SYSTEM, OnUpdateInt, max_persistent, php_mssql_globals, mssql_globals, display_link_numbers)
- STD_PHP_INI_ENTRY_EX("mssql.max_links", "-1", PHP_INI_SYSTEM, OnUpdateInt, max_links, php_mssql_globals, mssql_globals, display_link_numbers)
- STD_PHP_INI_ENTRY_EX("mssql.min_error_severity", "10", PHP_INI_ALL, OnUpdateInt, cfg_min_error_severity, php_mssql_globals, mssql_globals, display_link_numbers)
- STD_PHP_INI_ENTRY_EX("mssql.min_message_severity", "10", PHP_INI_ALL, OnUpdateInt, cfg_min_message_severity, php_mssql_globals, mssql_globals, display_link_numbers)
- STD_PHP_INI_BOOLEAN("mssql.compatability_mode", "0", PHP_INI_ALL, OnUpdateBool, compatability_mode, php_mssql_globals, mssql_globals)
- STD_PHP_INI_ENTRY_EX("mssql.connect_timeout", "5", PHP_INI_ALL, OnUpdateInt, connect_timeout, php_mssql_globals, mssql_globals, display_link_numbers)
- STD_PHP_INI_ENTRY_EX("mssql.textsize", "-1", PHP_INI_ALL, OnUpdateInt, textsize, php_mssql_globals, mssql_globals, display_link_numbers)
- STD_PHP_INI_ENTRY_EX("mssql.textlimit", "-1", PHP_INI_ALL, OnUpdateInt, textlimit, php_mssql_globals, mssql_globals, display_link_numbers)
- STD_PHP_INI_ENTRY_EX("mssql.batchsize", "0", PHP_INI_ALL, OnUpdateInt, batchsize, php_mssql_globals, mssql_globals, display_link_numbers)
+ STD_PHP_INI_BOOLEAN("mssql.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateBool, allow_persistent, zend_mssql_globals, mssql_globals)
+ STD_PHP_INI_ENTRY_EX("mssql.max_persistent", "-1", PHP_INI_SYSTEM, OnUpdateInt, max_persistent, zend_mssql_globals, mssql_globals, display_link_numbers)
+ STD_PHP_INI_ENTRY_EX("mssql.max_links", "-1", PHP_INI_SYSTEM, OnUpdateInt, max_links, zend_mssql_globals, mssql_globals, display_link_numbers)
+ STD_PHP_INI_ENTRY_EX("mssql.min_error_severity", "10", PHP_INI_ALL, OnUpdateInt, cfg_min_error_severity, zend_mssql_globals, mssql_globals, display_link_numbers)
+ STD_PHP_INI_ENTRY_EX("mssql.min_message_severity", "10", PHP_INI_ALL, OnUpdateInt, cfg_min_message_severity, zend_mssql_globals, mssql_globals, display_link_numbers)
+ STD_PHP_INI_BOOLEAN("mssql.compatability_mode", "0", PHP_INI_ALL, OnUpdateBool, compatability_mode, zend_mssql_globals, mssql_globals)
+ STD_PHP_INI_ENTRY_EX("mssql.connect_timeout", "5", PHP_INI_ALL, OnUpdateInt, connect_timeout, zend_mssql_globals, mssql_globals, display_link_numbers)
+ STD_PHP_INI_ENTRY_EX("mssql.textsize", "-1", PHP_INI_ALL, OnUpdateInt, textsize, zend_mssql_globals, mssql_globals, display_link_numbers)
+ STD_PHP_INI_ENTRY_EX("mssql.textlimit", "-1", PHP_INI_ALL, OnUpdateInt, textlimit, zend_mssql_globals, mssql_globals, display_link_numbers)
+ STD_PHP_INI_ENTRY_EX("mssql.batchsize", "0", PHP_INI_ALL, OnUpdateInt, batchsize, zend_mssql_globals, mssql_globals, display_link_numbers)
PHP_INI_END()
/* error handler */
MS_SQL_G(num_links)--;
}
-#ifdef ZTS
-static void php_mssql_init_globals(php_mssql_globals *mssql_globals)
+static void php_mssql_init_globals(zend_mssql_globals *mssql_globals)
{
MS_SQL_G(num_persistent) = 0;
if (MS_SQL_G(compatability_mode)) {
MS_SQL_G(get_column_content) = php_mssql_get_column_content_without_type;
}
}
-#endif
PHP_MINIT_FUNCTION(mssql)
{
- MSSQLLS_D;
-
-#ifdef ZTS
- mssql_globals_id = ts_allocate_id(sizeof(php_mssql_globals), php_mssql_init_globals, NULL);
- mssql_globals = ts_resource(mssql_globals_id);
-#else
- MS_SQL_G(num_persistent) = 0;
-#endif
+ ZEND_INIT_MODULE_GLOBALS(mssql, php_mssql_init_globals, NULL);
REGISTER_INI_ENTRIES();
le_result = zend_register_list_destructors_ex(_free_mssql_result, NULL, "mssql result", module_number);
}
dberrhandle((DBERRHANDLE_PROC) php_mssql_error_handler);
dbmsghandle((DBMSGHANDLE_PROC) php_mssql_message_handler);
- if (MS_SQL_G(connect_timeout) < 1) MS_SQL_G(connect_timeout) = 1;
- dbsetlogintime(MS_SQL_G(connect_timeout));
return SUCCESS;
}
return SUCCESS;
}
-
PHP_RINIT_FUNCTION(mssql)
{
MSSQLLS_FETCH();
MS_SQL_G(server_message) = empty_string;
MS_SQL_G(min_error_severity) = MS_SQL_G(cfg_min_error_severity);
MS_SQL_G(min_message_severity) = MS_SQL_G(cfg_min_message_severity);
+ if (MS_SQL_G(connect_timeout) < 1) MS_SQL_G(connect_timeout) = 1;
+ dbsetlogintime(MS_SQL_G(connect_timeout));
return SUCCESS;
}
#endif
-#if MSSQL65
-#define MSSQL_VERSION "6.5"
-#include "../../../php_build/mssql-65/include/sqlfront.h"
-#include "../../../php_build/mssql-65/include/sqldb.h"
-#elif MSSQL70
#define MSSQL_VERSION "7.0"
-//#include "../../../php_build/mssql-70/include/sqlfront.h"
-//#include "../../../php_build/mssql-70/include/sqldb.h"
#include "sqlfront.h"
#include "sqldb.h"
-#else
-#define MSSQL_VERSION "Unknown"
-#endif
#define coltype(j) dbcoltype(mssql_ptr->link,j)
#define intcol(i) ((int) *(DBINT *) dbdata(mssql_ptr->link,i))
#define charcol(i) ((DBCHAR *) dbdata(mssql_ptr->link,i))
#define floatcol(i) ((float) *(DBFLT8 *) dbdata(mssql_ptr->link,i))
-#ifndef DLEXPORT
-#define DLEXPORT
-#endif
-
-#ifdef __ZTS
+#ifdef ZTS
#include "TSRM.h"
#endif
int valid;
} mssql_link;
-typedef struct {
+ZEND_BEGIN_MODULE_GLOBALS(mssql)
long default_link;
long num_links,num_persistent;
long max_links,max_persistent;
void (*get_column_content)(mssql_link *mssql_ptr,int offset,pval *result,int column_type);
long textsize, textlimit, batchsize;
HashTable *resource_list, *resource_plist;
-} php_mssql_globals;
+ZEND_END_MODULE_GLOBALS(mssql)
#define MSSQL_ROWS_BLOCK 128
#ifdef ZTS
-# define MSSQLLS_D php_mssql_globals *mssql_globals
+# define MSSQLLS_D zend_mssql_globals *mssql_globals
# define MSSQLLS_DC , MSSQLLS_D
# define MSSQLLS_C mssql_globals
# define MSSQLLS_CC , MSSQLLS_C
# define MS_SQL_G(v) (mssql_globals->v)
-# define MSSQLLS_FETCH() php_mssql_globals *mssql_globals = ts_resource(mssql_globals_id)
+# define MSSQLLS_FETCH() zend_mssql_globals *mssql_globals = ts_resource(mssql_globals_id)
#else
# define MSSQLLS_D
# define MSSQLLS_DC
# define MSSQLLS_CC
# define MS_SQL_G(v) (mssql_globals.v)
# define MSSQLLS_FETCH()
-extern PHP_MSSQL_API php_mssql_globals mssql_globals;
#endif
#else