summaryrefslogtreecommitdiff
path: root/ext/mysqlnd/mysqlnd_result.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused parameterAndrey Hristov2010-05-031-2/+2
|
* Remove dead code and add possibility to fine tune the size ofAndrey Hristov2010-04-221-2/+2
| | | | | a mempool (used for result sets).
* - Fix copyrightsFelipe Pena2010-04-201-2/+2
|
* Fix some int/uint comparison warningsAndrey Hristov2010-04-151-2/+2
|
* more WSAndrey Hristov2010-04-151-17/+17
|
* CS + WS changesAndrey Hristov2010-04-151-53/+51
|
* Fix tests that fail when the MySQL's socket file is not /tmp/mysql.sockAndrey Hristov2010-03-261-1/+1
| | | | | | | | | as it is in when compiled from source and the default for mysqlnd. SuSE for example uses /var/run/mysql/mysql.sock . Also, sql.safe_mode (ext/mysql and ingres) needs the socket. Fix possible crashes in mysqlnd. When packets are shorter, functions should return error.
* decouple the methods in MYSQLND_STMT from the data,Andrey Hristov2010-03-161-1/+2
| | | | | | | | needed to move to a new structure MYSQLND_STMT. Makes the code cleaner and less error-prone. Also fix PDO/MySQL which directly touch mysqlnd internals instead of using API calls.
* allow persistency of PSAndrey Hristov2010-03-121-9/+10
|
* Pass tsrmls to all functions, which might need it in the future.Andrey Hristov2010-02-031-20/+14
| | | | | | We are anyway breaking the internal ABI in 5.3.2 so this won't hurt and make us prepared for the future.
* export more functionality for phpize buildsAndrey Hristov2010-01-131-1/+2
|
* cosmetics. typedef-ed types should be in capital caseAndrey Hristov2010-01-111-5/+5
|
* improve the stats subsystem. Reduce the number of macro definitionsAndrey Hristov2010-01-081-15/+15
| | | | | | in half by smartly introducing 2 new macros. Make MYSQLND::stats a pointer from being aggregated and add triggers.
* Change of way the packet objects are created/initialisedAndrey Hristov2010-01-071-30/+30
| | | | | | | | If the protocol gets changed, ever, we can decide at runtime easily which protocol to use by instantiating the right protocol object. But this is restricted to the structure of the packets, not the flow.
* Add plugin storage for MYSQLND_STMT tooAndrey Hristov2009-12-101-1/+1
|
* Remove stub code which never actually was used for anything.Andrey Hristov2009-12-091-4/+0
| | | | | Things like this can be built on top of the core.
* Remove the zval caching from mysqlnd. It was disabled versions agoAndrey Hristov2009-12-091-30/+53
| | | | | | due to problems on windows, which were not debugged. Better have code that is disabled not in the core.
* Remove disabled code - threaded fetching. This can be implementedAndrey Hristov2009-12-091-507/+0
| | | | | | on a upper level and by offloading it we reduce the complexity of the core.
* - void is NaN, you can't do math ops on void. Declarations go first. Fix TS ↵Pierre Joye2009-11-301-1/+1
| | | | build
* Compressed protocol support + extensibility for mysqlndAndrey Hristov2009-11-201-36/+96
|
* Fix: log slow queries in stats regardless of mysqlnd.log_mask setting.Ulf Wendel2009-10-231-1/+1
|
* Use mnd_ wrappers wherever possible. Needed forAndrey Hristov2009-09-301-13/+13
| | | | | statistics.
* Fix trace output. DBG_RETURN should be used in tracedAndrey Hristov2009-09-301-2/+2
| | | | | functions.
* Fixing a leak in mysqlnd when passing invalid fetch modes to mysqlnd.Ulf Wendel2009-09-301-15/+4
|
* Fix for bug#48745Andrey Hristov2009-08-281-74/+13
| | | | | mysqlnd: mysql_num_fields returns wrong column count for mysql_list_fields
* Fix bug #48644 mysqlnd does not compile with '--enable-mysqlnd-threading'David Soria Parra2009-06-231-1/+1
|
* Memory usage optimisation. mysqlnd is not libmysql. mysqlnd does use theAndrey Hristov2009-06-161-8/+71
| | | | | | | | | | | | | | | | | Zend allocator, which means that is easier to hit memory_limit if you have big stored (buffered) result sets. Before with libmysql you won't hit memory_limit because libmysql uses libc's allocator and nothing is checked. Now, with mysqlnd the situation is stricter and it is easier to hit memory_limit. We try to optimize for big result sets. If a result set is larger than 10 rows we will start freeing some data to keep memory usage after 10 rows constant. This will help in the cases where a buffered result set is scrolled forward only and just only once, or mysqlnd will need to decode data from the network buffers again - yes, it is a trade-off between CPU time and memory size. The best for big result sets is of course using unbuffered queries - for comparison : 3 Million rows with buffered take at least 180MB, with buffered you will stay at 3MB, and unbuffered will be just 7-8% slower.
* Hardwire function call instead of using callbacks. We don't actually needAndrey Hristov2009-06-161-2/+2
| | | | | | | | | callbacks, it was done for making 2 functions static, not to pollute the global functions space but that had its price of 8 bytes overheat per allocation, which is just too much. Also making the app member 32b instead of 64b, which should save additional 4 byte, to the total of 12 byte per allocation of a row buffer.
* Fix a valgrind warning as well as more trace log informationAndrey Hristov2009-05-281-1/+6
|
* Fix a problem with cursors, which did not happen with unbuffered PS forAndrey Hristov2009-05-281-0/+5
| | | | | | | | | some reason. Double free of the data, which led to valgrind warnigns. The fix actually optimizes the code in this cases because the old code used copy_ctor while the new one skips it because it is not needed. Transferring data ownership and nulling works best, for PS where we always copy the string from the result set, unlike the text protocol.
* Fix a bug with mysqlnd_fetch_field(_direct()). With mysqlnd the optimisedAndrey Hristov2009-05-281-0/+20
| | | | | | | | | | function was called, which however, doesn't respect that during store the raw data is not unpacked, to be lazy. The data is unpacked to zvals later, during every row fetch. However, this way max_length won't be calculated correctly. So, if a mysqlnd_fetch_field(_direct) call comes we need to unpack everything and then calculate max_length...and that is expensive, defies our lazy unpacking optimisation.
* - Removed:Felipe Pena2009-03-271-42/+33
| | | | | | | | - UG(unicode) checks - Changed: - ZEND_STR_TYPE -> IS_UNICODE - convert_to_text -> convert_to_unicode
* Fix the build, because the macro's name has changedAndrey Hristov2009-03-171-4/+5
|
* Bump copyright year, 3 of 3.Sebastian Bergmann2008-12-311-1/+1
|
* Get rid of many defines (which simplifies the code a lot),Andrey Hristov2008-11-061-5/+5
| | | | | as well as uint->unsigned int
* 64bit fixes:Andrey Hristov2008-10-311-8/+8
| | | | | | | - fixes to sprintf modifiers, cleaning warnings - use _t types, like uint64_t instead of uint64, thus skipping series of typedefs.
* Fix overusage of memory when the result set is empty. Then no memory will beAndrey Hristov2008-10-271-17/+26
| | | | | | | | allocated compared to before. Also grow (realloc) the rset with 10% instead of 33% - more reallocs but better memory usage. Of course later theres is a realloc to shrink the rset t ofree it from unused rows but its better to to eat too much at once.
* MFBAndrey Hristov2008-05-291-2/+1
|
* Update mysqlnd - new ini variableAndrey Hristov2008-05-071-5/+9
|
* Update ext/mysql's and ext/mysqli's testsAndrey Hristov2008-04-241-15/+30
| | | | | | Add mysqli_stmt_more_result()/mysqli_stmt_next_result(), but only in mysqlnd builds as libmysql doesn't support this feature.
* Update ext/mysql, ext/mysqli and ext/mysqlnd from development treeAndrey Hristov2008-04-161-10/+28
|
* - Don't modify the variables which are passed for parameter binding.Andrey Hristov2008-03-201-2/+1
| | | | | | | | | We need to clone them, if there will be a transformation (convert_to_xxx) which will change the origin. - Make mysqlnd more compatible to libmysql, in this case if the execute of a statement fails set the state of the statement back to PREPARED - A test case to check the case of a failing statement.
* Fix memory leakAndrey Hristov2008-02-201-6/+6
|
* Update mysqlnd - fix bg_storeAndrey Hristov2008-02-141-14/+38
|
* Fix a bug and a testAndrey Hristov2008-02-061-2/+4
|
* Fix a leak and memory warning.Andrey Hristov2008-02-041-4/+3
|
* fix win32 buildRob Richards2008-01-291-2/+2
|
* Fix the build, add a missing fileAndrey Hristov2008-01-291-1/+58
|
* MFB:Andrey Hristov2008-01-281-0/+2
| | | | | | | some config.w32 fixes moved mysqlnd's block allocator to a separate file and also now it's part of the connection, no MT problems.
* MFB: More optimizations - less MM callsAndrey Hristov2008-01-281-152/+678
| | | | | | | | | | Clearly separated fetching (physical reading) from decoding phases (data interpretation). Threaded fetching added but disabled as needs more work for Windows. For Linux needs some touches to add pthreads if this is enabled, probably with a compile-time switch. The code reorganisation makes it easy to add also async API, similar to cURL's one.