Commit graph

254 commits

Author SHA1 Message Date
Remi Collet
407ad28ae5 Fix Bug #63171 Script hangs after max_execution_time
If aborted via timer expiration, don't try to call any unixODBC function
which may hangs because of internal locks
2016-03-17 13:38:45 +01:00
Anatol Belski
ff115e285a Fixed bug #47803
Executing prepared statements is succesfull only for the first two statements

The reworked patch descends to the bug #69526 which is fixed by
this as well. The broken logic in the current code was, that
SQLDescribeParam was executed in odbc_execute every time. This piece
is now moved into odbc_prepare and the results are carried on in an
additional structure.

Since the ext/odbc headers are not being currently installed and the
corresponding structs like odbc_result are not used outside ext/odbc,
the binary compatibility persists. Executing SQLDescribeParam only once
in odbc_prepare is also an optimization as the filds usually won't
change that fast and thus requestind the descriptions on every
execution is not required.
2016-02-24 11:40:35 +01:00
Lior Kaplan
49493a2dcf Happy new year (Update copyright to 2016) 2016-01-01 19:21:47 +02:00
Christoph M. Becker
344ff5dd4c fixed fix #69975 wrt. ODBCVER < 0x0300 2015-07-03 13:30:39 +02:00
Christoph M. Becker
16db4d1462 Fix #69975: PHP segfaults when accessing nvarchar(max) defined columns
The SQL Server Native Client 11.0 and maybe other ODBC drivers report
NVARCHAR(MAX) columns as SQL_WVARCHAR with size 0. This causes too small a
buffer to be emalloc'd, likely causing a segfault in the following. As we don't
know the real size of the column data, we treat such colums as
SQL_WLONGVARCHAR.

The related bug #67437 suggests that some drivers report a size of ~4GB. It is
not certain that this is really the case (there might be some integer overflow
involved, and anyway, there has been no feedback), so we do not cater for this
now. However, it would not be hard to treat all sizes above a certain threshold
in a similar way, i.e. as SQL_WLONGVARCHAR.
2015-07-03 00:15:47 +02:00
Frederic Marchal
f505d11207 Fixed bug #69381 out of memory with sage odbc driver
This is just a hotfix as there are still drivers with no full
ODBC 3.x support. This patch origins from bug #68350 which was
solved by the proper 3.0 migration, another driver (Sage)
turned out to have the real issue.
2015-04-28 15:08:53 +02:00
Anatol Belski
e09febb286 fix column name attribute with ODBC 3.0 2015-04-17 17:10:46 +02:00
Anatol Belski
db1596c8b1 migrate SQLAllocStmt for ODBC 3.0 compliance 2015-04-17 17:06:00 +02:00
Anatol Belski
d27d9158c9 further ODBC 3.0 compliance 2015-04-04 21:42:33 +02:00
Anatol Belski
5c2aa71e0c more compliance with the ODBC 3.0 2015-04-04 21:42:17 +02:00
Xinchen Hui
73c1be2653 Bump year 2015-01-15 23:26:03 +08:00
Keyur Govande
df9078ea55 Fix for bug #68087 (ODBC not reading DATE columns correctly)
Temporary variable indicating column field type ID should be
reset to default for loop iteration (i.e. every column in the
record set. The old buggy code made it persist across all columns
leading to invalid reads from the buffer, if for example a DATE
column was preceded by a VARCHAR column.
2014-10-07 21:17:36 +00:00
Keyur Govande
65364fe7d0 Corrected patch for bug #60616
For unixODBC, use ODBC version as defined by it (as of v2.2.14 it is 3.5).
This allows us to use newer features like SQL_DESC_OCTET_LENGTH (which
returns the number of bytes required to store the data). This fixes the issue
in #60616. If the newer version is not available, over-allocate to accomodate
4-byte Unicode characters for CHAR and VARCHAR datatypes (and their Wide
counterparts).
version.
Fixed a couple of failing tests.
2014-07-30 02:28:31 +00:00
Keyur Govande
00546bc9b7 Fix bug #60616 (odbc_fetch_into returns junk at end of multi-byte char fields)
The ODBC extension did not support WVARCHAR. WVARCHAR ends up being handled by
the default handler where vallen is set by the driver to the actual bytes
needed for the field. If it is larger than default-lrl then the output is
corrupted (reading past the buffer) because the return functions don't expect
that to happen. The patch add support to handle WVARCHAR just like a regular
VARCHAR.
2014-07-28 23:15:23 +00:00
Xinchen Hui
c0d060f5c0 Bump year 2014-01-03 11:04:26 +08:00
Veres Lajos
e9a95d78ef typo fixes 2013-07-15 00:23:03 -07:00
Felipe Pena
8776555d7a - Fixed bug #61387 (NULL valued anonymous column causes segfault in odbc_fetch_array) patch by: Brandon Kirsch 2013-06-24 14:43:35 -03:00
Xinchen Hui
0a7395e009 Happy New Year 2013-01-01 16:28:54 +08:00
Johannes Schlüter
5e23a047ac Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Remove extra ;
2012-06-22 17:33:22 +02:00
Johannes Schlüter
a62d4e2c43 Remove extra ; 2012-06-22 17:32:46 +02:00
Felipe Pena
e4ca0ed09f - Year++ 2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281 - Year++ 2012-01-01 13:15:04 +00:00
Felipe Pena
23e438594d - Make usage of new PHP_FE_END macro 2011-07-25 11:42:53 +00:00
Felipe Pena
4b30846b50 - Make usage of new PHP_FE_END macro 2011-07-25 11:35:02 +00:00
Felipe Pena
32b5f8a1a3 - Added new parameter parsing option (p - for valid path (string without null byte in the middle))
# The tests will be fixed in the next commits
2011-06-06 21:28:16 +00:00
Felipe Pena
927bf09c29 - Year++ 2011-01-01 02:19:59 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Pierre Joye
ce96fd6b07 - fix #39863, do not accept paths with NULL in them. See http://news.php.net/php.internals/50191, trunk will have the patch later (adding a macro and/or changing (some) APIs. Patch by Rasmus 2010-11-18 15:22:22 +00:00
Felipe Pena
e6bef6735f - Fixed bug #52512 (Broken error handling in odbc_execute)
patch by: mkoegler at auto dot tuwien dot ac dot at
2010-11-07 18:13:53 +00:00
Felipe Pena
d73d4e486c - Fixed bug #52512 (Broken error handling in odbc_execute)
patch by: mkoegler at auto dot tuwien dot ac dot at
2010-11-07 18:13:53 +00:00
Kalle Sommer Nielsen
dd8e59da8f Removed safe_mode
* Removed ini options, safe_mode*
 * Removed --enable-safe-mode --with-exec-dir configure options on Unix
 * Updated extensions, SAPI's and core
 * php_get_current_user() is now declared in main.c, thrus no need to include safe_mode.h anymore
2010-04-26 23:53:30 +00:00
Felipe Pena
3488cd43be - Fixed bug #49429, #51331 (odbc_autocommit doesn't work) 2010-03-20 18:19:16 +00:00
Sebastian Bergmann
9ba1e81665 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
Felipe Pena
30188d3c58 - Fixed bug #50162 (Memory leak when fetching timestamp column from Oracle database)
- Fixed bug #34852 (Failure in odbc_exec() using oracle-supplied odbc driver) (patch by tim dot tassonis at trivadis dot com)
2009-12-06 18:53:16 +00:00
Felipe Pena
63c12a8f99 - MFH: Improved fix for #42414 2009-05-14 17:24:42 +00:00
Felipe Pena
652b77243c MFH:
- Fixed bug #42414 (some odbc_*() functions incompatible with Oracle ODBC driver)
  patch by: jhml at gmx dot net
2009-05-14 01:26:39 +00:00
Felipe Pena
2b049552d0 - MFH: Fixed bug #48038 (odbc_execute changes variables used to form params array) 2009-05-01 03:02:46 +00:00
Kalle Sommer Nielsen
f4d5a55a90 Nuke unused variable (only in this branch) 2009-03-30 14:25:54 +00:00
Pierre Joye
043ae0e0ee - fix logic after my build fix, thx to Hannes for the head up! 2009-03-24 09:44:16 +00:00
Pierre Joye
c68e24ce1a - fix build 2009-03-24 09:24:35 +00:00
Ilia Alshanetsky
79c44de0ca Improved parameter handling 2009-03-23 22:30:56 +00:00
Felipe Pena
2513cde86e - MFH: Fix proto
[DOC] proto: $result_array is a reference
2009-02-17 12:38:21 +00:00
Felipe Pena
4402b82cba - MFH: Fixed bug #47390 (odbc_fetch_into - BC in php 5.3.0) 2009-02-17 12:03:55 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Felipe Pena
fc2fb50d09 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-11-17 11:28:01 +00:00
Felipe Pena
7a37fa2d6b - Revert ZEND_BEGIN_ARG_INFO change 2008-11-02 21:19:39 +00:00
Felipe Pena
df10005563 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-10-24 14:35:40 +00:00
Patrick van Kleef
905269f056 - MFH: Added odbc.default_cursortype to control the ODBC cursormodel
(bug #43668)
#[DOC]
2008-08-29 19:16:58 +00:00
Patrick van Kleef
1401532e97 - MFH: Fixed code to use ODBC 3.52 datatypes for 64bit systems (bug #43666) 2008-08-29 16:44:29 +00:00
Felipe Pena
f8330b9ccc MFH:
- New parameter parsing API
- CS
2008-08-24 20:50:41 +00:00