aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPTableTriggers.m
diff options
context:
space:
mode:
authorstuconnolly <stuart02@gmail.com>2010-10-07 18:56:33 +0000
committerstuconnolly <stuart02@gmail.com>2010-10-07 18:56:33 +0000
commit44a5f9e552b3d5e1f9ef1c6d11f34e893d67e85b (patch)
treec833ba970d8cae5f756a31bc274e365c0a44b3bf /Source/SPTableTriggers.m
parent95d2e4acc393e91aa70ed4c71daa1f776454a936 (diff)
downloadsequelpro-44a5f9e552b3d5e1f9ef1c6d11f34e893d67e85b.tar.gz
sequelpro-44a5f9e552b3d5e1f9ef1c6d11f34e893d67e85b.tar.bz2
sequelpro-44a5f9e552b3d5e1f9ef1c6d11f34e893d67e85b.zip
Various improvements to server capability/version checking, including:
- Add a new ServerSupport class, for which an instance is created upon each new connection and is then subsequently accessible via SPDatabaseDocument. - Replace the majority of manual version checking with calls to properties in the above new class. - Improve the user manager's compatibility with MySQL 3 and 4 servers. Fixes issue #811 Other changes include: - Disable the encoding popup button when adding a new table or database to servers running pre MySQL 4.1 as it only contains one option, 'Default'. - Fix various potential memory leaks discovered during static analysis. - General tidy up and comments.
Diffstat (limited to 'Source/SPTableTriggers.m')
-rw-r--r--Source/SPTableTriggers.m11
1 files changed, 3 insertions, 8 deletions
diff --git a/Source/SPTableTriggers.m b/Source/SPTableTriggers.m
index 4a33b729..b9956e3c 100644
--- a/Source/SPTableTriggers.m
+++ b/Source/SPTableTriggers.m
@@ -30,6 +30,7 @@
#import "SPStringAdditions.h"
#import "SPConstants.h"
#import "SPAlertSheets.h"
+#import "SPServerSupport.h"
@interface SPTableTriggers (PrivateAPI)
@@ -105,11 +106,7 @@
[labelTextField setStringValue:@""];
// Show a warning if the version of MySQL is too low to support triggers
- if ([connection serverMajorVersion] < 5
- || ([connection serverMajorVersion] == 5
- && [connection serverMinorVersion] == 0
- && [connection serverReleaseVersion] < 2))
- {
+ if (![[tableDocumentInstance serverSupport] supportsTriggers]) {
[labelTextField setStringValue:NSLocalizedString(@"This version of MySQL does not support triggers. Support for triggers was added in MySQL 5.0.2", @"triggers not supported label")];
return;
}
@@ -569,9 +566,7 @@
[tableDataInstance updateTriggersForCurrentTable];
}
- NSArray *triggers = nil;
- if ([connection serverMajorVersion] >= 5 && [connection serverMinorVersion] >= 0)
- triggers = [tableDataInstance triggers];
+ NSArray *triggers = ([[tableDocumentInstance serverSupport] supportsTriggers]) ? [tableDataInstance triggers] : nil;
for (NSDictionary *trigger in triggers)
{