aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPDatabaseData.m
diff options
context:
space:
mode:
Diffstat (limited to 'Source/SPDatabaseData.m')
-rw-r--r--Source/SPDatabaseData.m42
1 files changed, 17 insertions, 25 deletions
diff --git a/Source/SPDatabaseData.m b/Source/SPDatabaseData.m
index becd1d6e..8c4935d9 100644
--- a/Source/SPDatabaseData.m
+++ b/Source/SPDatabaseData.m
@@ -212,18 +212,6 @@ const SPDatabaseCharSets charsets[] =
}
/**
- * Set the current connection the supplied connection instance.
- */
-- (void)setConnection:(MCPConnection *)dbConnection
-{
- connection = dbConnection;
-
- serverMajorVersion = [connection serverMajorVersion];
- serverMinorVersion = [connection serverMinorVersion];
- serverReleaseVersion = [connection serverReleaseVersion];
-}
-
-/**
* Reset all the cached values.
*/
- (void)resetAllData
@@ -246,7 +234,7 @@ const SPDatabaseCharSets charsets[] =
if ([collations count] == 0) {
// Try to retrieve the available collations from the database
- if (serverMajorVersion >= 5)
+ if ([connection serverMajorVersion] >= 5)
[collations addObjectsFromArray:[self _getDatabaseDataForQuery:@"SELECT * FROM `information_schema.collations` ORDER BY `collation_name` ASC"]];
// If that failed, get the list of collations from the hard-coded list
@@ -279,7 +267,7 @@ const SPDatabaseCharSets charsets[] =
characterSetEncoding = [[NSString alloc] initWithString:encoding];
// Try to retrieve the available collations for the supplied encoding from the database
- if (serverMajorVersion >= 5)
+ if ([connection serverMajorVersion] >= 5)
[characterSetCollations addObjectsFromArray:[self _getDatabaseDataForQuery:[NSString stringWithFormat:@"SELECT * FROM `information_schema`.`collations` WHERE character_set_name = '%@' ORDER BY `collation_name` ASC", characterSetEncoding]]];
// If that failed, get the list of collations matching the supplied encoding from the hard-coded list
@@ -308,7 +296,7 @@ const SPDatabaseCharSets charsets[] =
- (NSArray *)getDatabaseStorageEngines
{
if ([storageEngines count] == 0) {
- if (serverMajorVersion < 5) {
+ if ([connection serverMajorVersion] < 5) {
[storageEngines addObject:[NSDictionary dictionaryWithObject:@"MyISAM" forKey:@"Engine"]];
// Check if InnoDB support is enabled
@@ -322,7 +310,7 @@ const SPDatabaseCharSets charsets[] =
}
// Before MySQL 4.1 the MEMORY engine was known as HEAP and the ISAM engine was included
- if ((serverMajorVersion <= 4) && (serverMinorVersion < 100)) {
+ if (([connection serverMajorVersion] <= 4) && ([connection serverMinorVersion] < 100)) {
[storageEngines addObject:[NSDictionary dictionaryWithObject:@"HEAP" forKey:@"Engine"]];
[storageEngines addObject:[NSDictionary dictionaryWithObject:@"ISAM" forKey:@"Engine"]];
}
@@ -331,28 +319,28 @@ const SPDatabaseCharSets charsets[] =
}
// BLACKHOLE storage engine was added in MySQL 4.1.11
- if ((serverMajorVersion >= 4) &&
- (serverMinorVersion >= 1) &&
- (serverReleaseVersion >= 11))
+ if (([connection serverMajorVersion] >= 4) &&
+ ([connection serverMinorVersion] >= 1) &&
+ ([connection serverReleaseVersion] >= 11))
{
[storageEngines addObject:[NSDictionary dictionaryWithObject:@"BLACKHOLE" forKey:@"Engine"]];
// ARCHIVE storage engine was added in MySQL 4.1.3
- if (serverReleaseVersion >= 3) {
+ if ([connection serverReleaseVersion] >= 3) {
[storageEngines addObject:[NSDictionary dictionaryWithObject:@"ARCHIVE" forKey:@"Engine"]];
}
// CSV storage engine was added in MySQL 4.1.4
- if (serverReleaseVersion >= 4) {
+ if ([connection serverReleaseVersion] >= 4) {
[storageEngines addObject:[NSDictionary dictionaryWithObject:@"CSV" forKey:@"Engine"]];
}
}
}
// The table information_schema.engines didn't exist until MySQL 5.1.5
else {
- if ((serverMajorVersion >= 5) &&
- (serverMinorVersion >= 1) &&
- (serverReleaseVersion >= 5))
+ if (([connection serverMajorVersion] >= 5) &&
+ ([connection serverMinorVersion] >= 1) &&
+ ([connection serverReleaseVersion] >= 5))
{
// Check the information_schema.engines table is accessible
MCPResult *result = [connection queryString:@"SHOW TABLES IN information_schema LIKE 'ENGINES'"];
@@ -392,7 +380,7 @@ const SPDatabaseCharSets charsets[] =
// Try to retrieve the available character set encodings from the database
// Check the information_schema.character_sets table is accessible
- if (serverMajorVersion >= 5)
+ if ([connection serverMajorVersion] >= 5)
[characterSetEncodings addObjectsFromArray:[self _getDatabaseDataForQuery:@"SELECT * FROM `information_schema`.`character_sets` ORDER BY `character_set_name` ASC"]];
// If that failed, get the list of character set encodings from the hard-coded list
@@ -431,6 +419,10 @@ const SPDatabaseCharSets charsets[] =
[super dealloc];
}
+@end
+
+@implementation SPDatabaseData (PrivateAPI)
+
/**
* Executes the supplied query against the current connection and returns the result as an array of
* NSDictionarys, one for each row.