aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPCustomQuery.m
diff options
context:
space:
mode:
authorrowanbeentje <rowan@beent.je>2011-02-15 01:24:56 +0000
committerrowanbeentje <rowan@beent.je>2011-02-15 01:24:56 +0000
commit6aa6d20436a1e920151d86c086c64466173aa130 (patch)
treecddc1ae9176880737ffd4ef2d34dbd9cc14080ef /Source/SPCustomQuery.m
parentafad99c5e049e30cbe1ac3e9c4dfce7de28501a1 (diff)
downloadsequelpro-6aa6d20436a1e920151d86c086c64466173aa130.tar.gz
sequelpro-6aa6d20436a1e920151d86c086c64466173aa130.tar.bz2
sequelpro-6aa6d20436a1e920151d86c086c64466173aa130.zip
- When loading tables, ensure that the column count is updated before table timers are set up. This prevents accesses of SPTableStorages while column change realloc/dealloc processes are still running, fixing exceptions on large tables
Diffstat (limited to 'Source/SPCustomQuery.m')
-rw-r--r--Source/SPCustomQuery.m7
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/SPCustomQuery.m b/Source/SPCustomQuery.m
index b2859010..c43df1cd 100644
--- a/Source/SPCustomQuery.m
+++ b/Source/SPCustomQuery.m
@@ -882,12 +882,13 @@
[resultData removeAllRows];
pthread_mutex_unlock(&resultDataLock);
+ // Set the column count on the data store before setting up anything else -
+ // ensures that SPDataStorage is set up for timer-driven data loads
+ [resultData setColumnCount:[theResult numOfFields]];
+
// Set up the table updates timer
[[self onMainThread] initQueryLoadTimer];
- // Set the column count on the data store
- [resultData setColumnCount:[theResult numOfFields]];
-
// Set up an autorelease pool for row processing
dataLoadingPool = [[NSAutoreleasePool alloc] init];