aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPXMLExporter.m
diff options
context:
space:
mode:
authorstuconnolly <stuart02@gmail.com>2010-05-26 15:05:48 +0000
committerstuconnolly <stuart02@gmail.com>2010-05-26 15:05:48 +0000
commitf36df95c5c983e255f9c4ab79b76c3e4a132a974 (patch)
tree2d9b61735f9d1c3c9c1b0a59cee5cd3e6ed0d8f9 /Source/SPXMLExporter.m
parent64307838194fd153b88df82156a7fad3ff68de4c (diff)
downloadsequelpro-f36df95c5c983e255f9c4ab79b76c3e4a132a974.tar.gz
sequelpro-f36df95c5c983e255f9c4ab79b76c3e4a132a974.tar.bz2
sequelpro-f36df95c5c983e255f9c4ab79b76c3e4a132a974.zip
Data export fixes:
- Fix the same potential autorelease pool memory leak found in the CSV exporter in the XML exporter. - When performing an XML export to a single file don't write the header twice. - Remember to append the .xml extension when performing an XML export to a single file.
Diffstat (limited to 'Source/SPXMLExporter.m')
-rw-r--r--Source/SPXMLExporter.m10
1 files changed, 5 insertions, 5 deletions
diff --git a/Source/SPXMLExporter.m b/Source/SPXMLExporter.m
index 94cfec05..de43560e 100644
--- a/Source/SPXMLExporter.m
+++ b/Source/SPXMLExporter.m
@@ -60,7 +60,6 @@
{
@try {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- NSAutoreleasePool *xmlExportPool = [[NSAutoreleasePool alloc] init];
NSArray *xmlRow = nil;
NSString *dataConversionString = nil;
@@ -121,7 +120,7 @@
if ([self xmlDataArray]) currentRowIndex++;
// Drop into the processing loop
- xmlExportPool = [[NSAutoreleasePool alloc] init];
+ NSAutoreleasePool *xmlExportPool = [[NSAutoreleasePool alloc] init];
currentPoolDataLength = 0;
@@ -217,14 +216,14 @@
// Inform the delegate that the export's progress has been updated
[delegate performSelectorOnMainThread:@selector(xmlExportProcessProgressUpdated:) withObject:self waitUntilDone:NO];
- // If an array was supplied and we've processed all rows, break
- if ([self xmlDataArray] && totalRows == currentRowIndex) break;
-
// Drain the autorelease pool as required to keep memory usage low
if (currentPoolDataLength > 250000) {
[xmlExportPool release];
xmlExportPool = [[NSAutoreleasePool alloc] init];
}
+
+ // If an array was supplied and we've processed all rows, break
+ if ([self xmlDataArray] && totalRows == currentRowIndex) break;
}
// Write the closing tag for the table
@@ -239,6 +238,7 @@
// Inform the delegate that the export process is complete
[delegate performSelectorOnMainThread:@selector(xmlExportProcessComplete:) withObject:self waitUntilDone:NO];
+ [xmlExportPool release];
[pool release];
}
@catch (NSException *e) { }