aboutsummaryrefslogtreecommitdiffstats
path: root/Frameworks/MCPKit/MCPFoundationKit/MCPStreamingResult.m
Commit message (Collapse)AuthorAgeFilesLines
* Enable all *reasonable* warnings for all build configurations and fix a few ↵stuconnolly2010-04-261-1/+1
| | | | of them.
* - changed the query locking mechanism for MCPConnection to be more thread ↵jakob2010-04-161-12/+32
| | | | | | | | safe. From now on, always use [self lockConnection] rather than [queryLock lock], independent of what thread you are running on - A warning is written to the console when the connection is unlocked multiple times (to identify potential race conditions) - modified MCPStreamingResult to ensure it only closes the connection once - added a check to prevent arrow key navigation past the last row
* Minor MCPKit tidy up, including the resolution of potential issues raised ↵stuconnolly2010-03-261-2/+2
| | | | during static analysis.
* - Move streaming query result connection unlocking to the download thread ↵rowanbeentje2010-03-181-3/+4
| | | | rather than the data processing thread. This ensures the connection unlock is walys called - even when no data is present - thus addressing Issue #594. (Prior to r1931 manual memory management caught this case anyway)
* - Make a number of changes to attempt to improve disconnection/quit ↵rowanbeentje2010-03-161-1/+6
| | | | | | | | | crashes: prevent multiple disconnects, add more checks, cancel current queries, and add a tiny delay to allow mysql cleanup. - Alter MCPStreamingResult to no longer return a retained instance, setting up correct result disposal on autorelease but changing callers to retain as soon as they receive. - Review and change a number of local variables shadowing/shielding other local or global variables.
* Following a manual code review, fix some local variables overriding global ↵rowanbeentje2010-03-151-1/+1
| | | | variables, a few leaks, and additional nil setting/checking to prevent overreleases or releases of random areas of memory.
* - Ensure all results for server variable requests are returned as strings, ↵rowanbeentje2010-01-031-2/+2
| | | | | | | to avoid binary-mode result issues with certain versions of MySQL (including 4.1.14). This should address Issue #509. - TableDocument now requests the server version string from MCPConnection, aiding caching
* - Make a change to the area covered by threading locks in ↵rowanbeentje2009-11-281-4/+2
| | | | MCPStreamingConnection for a ~10-15% speedup in CPU-bound loops (eg data sets with lots of rows but little data) by reducing lock contention. (To be tested against #463)
* - Fix a couple of thread safety issues in TableContent, and attempt to fix ↵rowanbeentje2009-11-241-4/+43
| | | | | | | an occasional crasher when getting table cells by adding a retain - Alter MCPStreamingResult to use pthread mutexes in a further attempt to address Issue #463
* - Replace the LIMIT interface on the content view with a pagination control ↵rowanbeentje2009-11-231-2/+2
| | | | | | | | at the bottom. This addresses the last of Issue #49 and implements Issue #133; jump-to and two prefs affecting loading are available in a popup when clicking the pagination interface. - Format row counts at the bottom of the content pane - Increase the MCPStreamingResult buffer for a stronger workaround for #463
* - Keep a buffer of at least one full row between the downloading and ↵rowanbeentje2009-11-201-3/+6
| | | | processing rows - eg don't process the newly downloaded rows at once - as a workaround for Issue #463
* - Correctly report errors triggered *during* result download for streaming ↵rowanbeentje2009-11-161-0/+5
| | | | results. This improves partial content displays (using the new code as of r1530) and also improves custom query error reporting.
* - Make some thread safety improvements to try to address Issue #460rowanbeentje2009-11-161-1/+1
|
* - Add support for createing fields of type BINARY and VARBINARY in the ↵stuconnolly2009-10-211-17/+31
| | | | | | | structure view. Fixes issue #223. - Fix for correctly displaying data within fields of type BINARY/VARBINARY. Fixes issue #348.
* Make the MCPkit framework truly 64 bit compatible by using the appropriate ↵stuconnolly2009-08-261-3/+3
| | | | data types.
* Alter CustomQuery to use StreamingResult to download and process result sets:rowanbeentje2009-08-261-2/+46
| | | | | | | - Significantly improve memory usage - Minor speedup (1.1x faster?) to overall query/display times - Improvements to MCPStreamingResult and MCPConnection to accurately report affected row count
* - Fix NSLock console linesrowanbeentje2009-08-251-2/+5
| | | | | | | - Speed up table content processing a bit - Make the table content download/processing determinate where an approximate row count is available - Clean up table content source, assuming MCPStreamingResult will remain in use
* • bug fixed for _downloadAllDataBibiko2009-08-201-183/+177
| | | | | - do not check "if (rowDataLength)" due to the fact that a row could have the length 0 ( if all columns are set to NULL ), otherwise the entire row will be set to NULL and this causes a mismatch in the number of columns for that row later on • minor code cleaning (indentions)
* - Change MCPStreamingResult to use a safer streaming mode by default - ↵rowanbeentje2009-08-201-120/+314
| | | | | | | download all results as fast as possible from the server, to avoid blocking, but do so in a background thread to allow results processing to start as soon as data is available. Many thanks to Hans-Jörg Bibiko for assistance with this. - Add an option to the SQL export dialog to allow selection of the full-streaming method, with a warning that it may block table UPDATES/INSERTS.
* - Add a note to warn about use of MCPStreamingResultrowanbeentje2009-08-171-0/+8
|
* Rework SQL export:rowanbeentje2009-08-171-0/+203
- Added an MCPStreamingResult class to MCPKit, to allow streaming results from the server including fast array access of each row - Tweak SQL export to use the streaming result class and to keep memory usage lower End result is generally faster exports, more accurate progress bars, and much much lower (and consistent) memory usage.