aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/SPDatabaseDocument.m25
-rw-r--r--Source/SPExportController.m71
-rw-r--r--Source/SPTablesList.m110
3 files changed, 108 insertions, 98 deletions
diff --git a/Source/SPDatabaseDocument.m b/Source/SPDatabaseDocument.m
index a0a6bf1c..269e62d4 100644
--- a/Source/SPDatabaseDocument.m
+++ b/Source/SPDatabaseDocument.m
@@ -5312,9 +5312,7 @@ static NSString *SPAlterDatabaseAction = @"SPAlterDatabase";
}
NSInteger itemType = SPTableTypeNone;
- NSString *itemTypeStr = @"TABLE";
NSUInteger i;
- NSInteger queryCol = 1;
// Loop through the unfiltered tables/views to find the desired item
for (i = 0; i < [availableItems count]; i++) {
@@ -5327,19 +5325,26 @@ static NSString *SPAlterDatabaseAction = @"SPAlterDatabase";
// If no match found, continue
if (itemType == SPTableTypeNone) continue;
+ NSString *itemTypeStr;
+ NSInteger queryCol;
+
switch(itemType) {
case SPTableTypeTable:
case SPTableTypeView:
- itemTypeStr = @"TABLE";
- break;
+ itemTypeStr = @"TABLE";
+ queryCol = 1;
+ break;
case SPTableTypeProc:
- itemTypeStr = @"PROCEDURE";
- queryCol = 2;
- break;
+ itemTypeStr = @"PROCEDURE";
+ queryCol = 2;
+ break;
case SPTableTypeFunc:
- itemTypeStr = @"FUNCTION";
- queryCol = 2;
- break;
+ itemTypeStr = @"FUNCTION";
+ queryCol = 2;
+ break;
+ default:
+ NSLog(@"%s: Unhandled SPTableType=%ld for item=%@ (skipping)", __func__, itemType, item);
+ continue;
}
// Ensure that queries are made in UTF8
diff --git a/Source/SPExportController.m b/Source/SPExportController.m
index 752e8521..f650bab9 100644
--- a/Source/SPExportController.m
+++ b/Source/SPExportController.m
@@ -431,45 +431,50 @@ static const NSString *SPSQLExportDropEnabled = @"SQLExportDropEnabled";
[tables removeAllObjects];
// For all modes, retrieve table and view names
- NSArray *tablesAndViews = [tablesListInstance allTableAndViewNames];
-
- for (id itemName in tablesAndViews) {
- [tables addObject:[NSMutableArray arrayWithObjects:
- itemName,
- @YES,
- @YES,
- @YES,
- [NSNumber numberWithInt:SPTableTypeTable],
- nil]];
- }
+ {
+ NSArray *tablesAndViews = [tablesListInstance allTableAndViewNames];
+
+ for (id itemName in tablesAndViews) {
+ [tables addObject:[NSMutableArray arrayWithObjects:
+ itemName,
+ @YES,
+ @YES,
+ @YES,
+ [NSNumber numberWithInt:SPTableTypeTable],
+ nil]];
+ }
+ } // The purpose of this extra { } is to limit visibility and thus catch copy&paste errors
// For SQL only, add procedures and functions
if (exportType == SPSQLExport) {
- NSArray *procedures = [tablesListInstance allProcedureNames];
-
- for (id procName in procedures)
+ // Procedures
{
- [tables addObject:[NSMutableArray arrayWithObjects:
- procName,
- @YES,
- @YES,
- @YES,
- [NSNumber numberWithInt:SPTableTypeProc],
- nil]];
+ NSArray *procedures = [tablesListInstance allProcedureNames];
+
+ for (id procName in procedures) {
+ [tables addObject:[NSMutableArray arrayWithObjects:
+ procName,
+ @YES,
+ @YES,
+ @YES,
+ [NSNumber numberWithInt:SPTableTypeProc],
+ nil]];
+ }
}
-
- NSArray *functions = [tablesListInstance allFunctionNames];
-
- for (id funcName in functions)
+ // Functions
{
- [tables addObject:[NSMutableArray arrayWithObjects:
- funcName,
- @YES,
- @YES,
- @YES,
- [NSNumber numberWithInt:SPTableTypeFunc],
- nil]];
- }
+ NSArray *functions = [tablesListInstance allFunctionNames];
+
+ for (id funcName in functions) {
+ [tables addObject:[NSMutableArray arrayWithObjects:
+ funcName,
+ @YES,
+ @YES,
+ @YES,
+ [NSNumber numberWithInt:SPTableTypeFunc],
+ nil]];
+ }
+ }
}
if (sender) {
diff --git a/Source/SPTablesList.m b/Source/SPTablesList.m
index aa0d6ea2..1ae2e83f 100644
--- a/Source/SPTablesList.m
+++ b/Source/SPTablesList.m
@@ -273,13 +273,12 @@ static NSString *SPDuplicateTable = @"SPDuplicateTable";
[tables addObject:NSLocalizedString(@"PROCS & FUNCS",@"header for procs & funcs list")];
[tableTypes addObject:[NSNumber numberWithInteger:SPTableTypeNone]];
- for (NSArray *eachRow in theResult) {
- [tables addObject:NSArrayObjectAtIndex(eachRow, 3)];
- if ([NSArrayObjectAtIndex(eachRow, 4) isEqualToString:@"PROCEDURE"]) {
- [tableTypes addObject:[NSNumber numberWithInteger:SPTableTypeProc]];
- } else {
- [tableTypes addObject:[NSNumber numberWithInteger:SPTableTypeFunc]];
- }
+ for (NSArray *eachRow in theResult) {
+ [tables addObject:NSArrayObjectAtIndex(eachRow, 3)];
+ if ([NSArrayObjectAtIndex(eachRow, 4) isEqualToString:@"PROCEDURE"]) {
+ [tableTypes addObject:[NSNumber numberWithInteger:SPTableTypeProc]];
+ } else {
+ [tableTypes addObject:[NSNumber numberWithInteger:SPTableTypeFunc]];
}
}
}
@@ -885,31 +884,31 @@ static NSString *SPDuplicateTable = @"SPDuplicateTable";
switch (lastType)
{
case SPTableTypeTable:
- [removeTableMenuItem setTitle:NSLocalizedString(@"Delete Tables", @"delete tables menu title")];
- [truncateTableButton setTitle:NSLocalizedString(@"Truncate Tables", @"truncate tables menu item")];
- [removeTableContextMenuItem setTitle:NSLocalizedString(@"Delete Tables", @"delete tables menu title")];
- [truncateTableContextMenuItem setTitle:NSLocalizedString(@"Truncate Tables", @"truncate tables menu item")];
- [truncateTableButton setHidden:NO];
- [truncateTableContextMenuItem setHidden:NO];
- break;
+ [removeTableMenuItem setTitle:NSLocalizedString(@"Delete Tables", @"delete tables menu title")];
+ [truncateTableButton setTitle:NSLocalizedString(@"Truncate Tables", @"truncate tables menu item")];
+ [removeTableContextMenuItem setTitle:NSLocalizedString(@"Delete Tables", @"delete tables menu title")];
+ [truncateTableContextMenuItem setTitle:NSLocalizedString(@"Truncate Tables", @"truncate tables menu item")];
+ [truncateTableButton setHidden:NO];
+ [truncateTableContextMenuItem setHidden:NO];
+ break;
case SPTableTypeView:
- [removeTableMenuItem setTitle:NSLocalizedString(@"Delete Views", @"delete views menu title")];
- [removeTableContextMenuItem setTitle:NSLocalizedString(@"Delete Views", @"delete views menu title")];
- [truncateTableButton setHidden:YES];
- [truncateTableContextMenuItem setHidden:YES];
- break;
+ [removeTableMenuItem setTitle:NSLocalizedString(@"Delete Views", @"delete views menu title")];
+ [removeTableContextMenuItem setTitle:NSLocalizedString(@"Delete Views", @"delete views menu title")];
+ [truncateTableButton setHidden:YES];
+ [truncateTableContextMenuItem setHidden:YES];
+ break;
case SPTableTypeProc:
- [removeTableMenuItem setTitle:NSLocalizedString(@"Delete Procedures", @"delete procedures menu title")];
- [removeTableContextMenuItem setTitle:NSLocalizedString(@"Delete Procedures", @"delete procedures menu title")];
- [truncateTableButton setHidden:YES];
- [truncateTableContextMenuItem setHidden:YES];
- break;
+ [removeTableMenuItem setTitle:NSLocalizedString(@"Delete Procedures", @"delete procedures menu title")];
+ [removeTableContextMenuItem setTitle:NSLocalizedString(@"Delete Procedures", @"delete procedures menu title")];
+ [truncateTableButton setHidden:YES];
+ [truncateTableContextMenuItem setHidden:YES];
+ break;
case SPTableTypeFunc:
- [removeTableMenuItem setTitle:NSLocalizedString(@"Delete Functions", @"delete functions menu title")];
- [removeTableContextMenuItem setTitle:NSLocalizedString(@"Delete Functions", @"delete functions menu title")];
- [truncateTableButton setHidden:YES];
- [truncateTableContextMenuItem setHidden:YES];
- break;
+ [removeTableMenuItem setTitle:NSLocalizedString(@"Delete Functions", @"delete functions menu title")];
+ [removeTableContextMenuItem setTitle:NSLocalizedString(@"Delete Functions", @"delete functions menu title")];
+ [truncateTableButton setHidden:YES];
+ [truncateTableContextMenuItem setHidden:YES];
+ break;
}
} else {
@@ -1274,10 +1273,11 @@ static NSString *SPDuplicateTable = @"SPDuplicateTable";
- (NSArray *)allTableAndViewNames
{
NSMutableArray *returnArray = [NSMutableArray array];
- NSInteger i;
+ NSUInteger i;
NSInteger cnt = [[self tables] count];
for(i=0; i<cnt; i++) {
- if([NSArrayObjectAtIndex([self tableTypes],i) integerValue] == SPTableTypeTable || [NSArrayObjectAtIndex([self tableTypes],i) integerValue] == SPTableTypeView)
+ SPTableType tt = (SPTableType)[NSArrayObjectAtIndex([self tableTypes],i) integerValue];
+ if(tt == SPTableTypeTable || tt == SPTableTypeView)
[returnArray addObject:NSArrayObjectAtIndex([self tables], i)];
}
return returnArray;
@@ -1497,9 +1497,9 @@ static NSString *SPDuplicateTable = @"SPDuplicateTable";
similarTables = [self allFunctionNames];
break;
default:
- // if some other table type is given, just return yes
- // better a mysql error than not being able to change something at all
- return YES;
+ // if some other table type is given, just return yes
+ // better a mysql error than not being able to change something at all
+ return YES;
}
for(id table in similarTables) {
@@ -1783,32 +1783,32 @@ static NSString *SPDuplicateTable = @"SPDuplicateTable";
switch([NSArrayObjectAtIndex(filteredTableTypes, rowIndex) integerValue]) {
case SPTableTypeView:
- [aCell setImage:[NSImage imageNamed:@"table-view-small"]];
- [aCell setIndentationLevel:1];
- [aCell setFont:smallSystemFont];
- break;
+ [aCell setImage:[NSImage imageNamed:@"table-view-small"]];
+ [aCell setIndentationLevel:1];
+ [aCell setFont:smallSystemFont];
+ break;
case SPTableTypeTable:
- [aCell setImage:[NSImage imageNamed:@"table-small"]];
- [aCell setIndentationLevel:1];
- [aCell setFont:smallSystemFont];
- break;
+ [aCell setImage:[NSImage imageNamed:@"table-small"]];
+ [aCell setIndentationLevel:1];
+ [aCell setFont:smallSystemFont];
+ break;
case SPTableTypeProc:
- [aCell setImage:[NSImage imageNamed:@"proc-small"]];
- [aCell setIndentationLevel:1];
- [aCell setFont:smallSystemFont];
- break;
+ [aCell setImage:[NSImage imageNamed:@"proc-small"]];
+ [aCell setIndentationLevel:1];
+ [aCell setFont:smallSystemFont];
+ break;
case SPTableTypeFunc:
- [aCell setImage:[NSImage imageNamed:@"func-small"]];
- [aCell setIndentationLevel:1];
- [aCell setFont:smallSystemFont];
- break;
+ [aCell setImage:[NSImage imageNamed:@"func-small"]];
+ [aCell setIndentationLevel:1];
+ [aCell setFont:smallSystemFont];
+ break;
case SPTableTypeNone:
- [aCell setImage:nil];
- [aCell setIndentationLevel:0];
- break;
+ [aCell setImage:nil];
+ [aCell setIndentationLevel:0];
+ break;
default:
- [aCell setIndentationLevel:1];
- [aCell setFont:smallSystemFont];
+ [aCell setIndentationLevel:1];
+ [aCell setFont:smallSystemFont];
}
}