aboutsummaryrefslogtreecommitdiffstats
path: root/TableDocument.m
diff options
context:
space:
mode:
Diffstat (limited to 'TableDocument.m')
-rw-r--r--TableDocument.m64
1 files changed, 48 insertions, 16 deletions
diff --git a/TableDocument.m b/TableDocument.m
index faeffe34..bce2a7c6 100644
--- a/TableDocument.m
+++ b/TableDocument.m
@@ -535,7 +535,7 @@ reused when user hits the close button of the variablseSheet or of the createTab
/**
* shows or hides the console
*/
-- (void)toggleConsole:(id)sender;
+- (void)toggleConsole:(id)sender
{
NSDrawerState state = [consoleDrawer state];
if (NSDrawerOpeningState == state || NSDrawerOpenState == state) {
@@ -549,7 +549,7 @@ reused when user hits the close button of the variablseSheet or of the createTab
/**
* clears the console
*/
-- (void)clearConsole:(id)sender;
+- (void)clearConsole:(id)sender
{
[consoleTextView setString:@""];
}
@@ -824,7 +824,7 @@ reused when user hits the close button of the variablseSheet or of the createTab
// Process result
theRow = [[theResult fetch2DResultAsType:MCPTypeDictionary] lastObject];
- NSRunInformationalAlertPanel(@"Check Table", [NSString stringWithFormat:@"Check: %@", [theRow objectForKey:@"Msg_text"]], @"OK", nil, nil);
+ NSRunInformationalAlertPanel([NSString stringWithFormat:@"Check '%@' table", [self table]], [NSString stringWithFormat:@"Check: %@", [theRow objectForKey:@"Msg_text"]], @"OK", nil, nil);
}
- (IBAction)analyzeTable:(id)sender
@@ -845,7 +845,7 @@ reused when user hits the close button of the variablseSheet or of the createTab
// Process result
theRow = [[theResult fetch2DResultAsType:MCPTypeDictionary] lastObject];
- NSRunInformationalAlertPanel(@"Analyze Table", [NSString stringWithFormat:@"Analyze: %@", [theRow objectForKey:@"Msg_text"]], @"OK", nil, nil);
+ NSRunInformationalAlertPanel([NSString stringWithFormat:@"Analyze '%@' table", [self table]], [NSString stringWithFormat:@"Analyze: %@", [theRow objectForKey:@"Msg_text"]], @"OK", nil, nil);
}
- (IBAction)optimizeTable:(id)sender
@@ -865,7 +865,7 @@ reused when user hits the close button of the variablseSheet or of the createTab
// Process result
theRow = [[theResult fetch2DResultAsType:MCPTypeDictionary] lastObject];
- NSRunInformationalAlertPanel(@"Optimize Table", [NSString stringWithFormat:@"Optimize: %@", [theRow objectForKey:@"Msg_text"]], @"OK", nil, nil);
+ NSRunInformationalAlertPanel([NSString stringWithFormat:@"Optimize '%@' table", [self table]], [NSString stringWithFormat:@"Optimize: %@", [theRow objectForKey:@"Msg_text"]], @"OK", nil, nil);
}
- (IBAction)repairTable:(id)sender
@@ -885,7 +885,7 @@ reused when user hits the close button of the variablseSheet or of the createTab
// Process result
theRow = [[theResult fetch2DResultAsType:MCPTypeDictionary] lastObject];
- NSRunInformationalAlertPanel(@"Repair Table", [NSString stringWithFormat:@"Repair: %@", [theRow objectForKey:@"Msg_text"]], @"OK", nil, nil);
+ NSRunInformationalAlertPanel([NSString stringWithFormat:@"Repair '%@' table", [self table]], [NSString stringWithFormat:@"Repair: %@", [theRow objectForKey:@"Msg_text"]], @"OK", nil, nil);
}
- (IBAction)flushTable:(id)sender
@@ -904,7 +904,27 @@ reused when user hits the close button of the variablseSheet or of the createTab
}
// Process result
- NSRunInformationalAlertPanel(@"Flush Table", @"Flushed", @"OK", nil, nil);
+ NSRunInformationalAlertPanel([NSString stringWithFormat:@"Flush '%@' table", [self table]], @"Flushed", @"OK", nil, nil);
+}
+
+- (IBAction)checksumTable:(id)sender
+{
+ NSString *query;
+ CMMCPResult *theResult;
+ NSDictionary *theRow;
+
+ //Create the query and get results
+ query = [NSString stringWithFormat:@"CHECKSUM TABLE `%@`", [self table]];
+ theResult = [mySQLConnection queryString:query];
+
+ // Check for errors
+ if (![[mySQLConnection getLastErrorMessage] isEqualToString:@""]) {
+ NSRunAlertPanel(@"Error", [NSString stringWithFormat:@"An error occured while performming checksum on table.\n\n: %@",[mySQLConnection getLastErrorMessage]], @"OK", nil, nil);
+ }
+
+ // Process result
+ theRow = [[theResult fetch2DResultAsType:MCPTypeDictionary] lastObject];
+ NSRunInformationalAlertPanel([NSString stringWithFormat:@"Checksum '%@' table", [self table]], [NSString stringWithFormat:@"Checksum: %@", [theRow objectForKey:@"Checksum"]], @"OK", nil, nil);
}
#pragma mark Other Methods
@@ -1107,14 +1127,16 @@ passes the request to the tableDump object
}
// table menu items
- if ([menuItem action] == @selector(createTableSyntax:) ||
+ if ([menuItem action] == @selector(showCreateTableSyntax:) ||
+ [menuItem action] == @selector(copyCreateTableSyntax:) ||
[menuItem action] == @selector(checkTable:) ||
[menuItem action] == @selector(analyzeTable:) ||
[menuItem action] == @selector(optimizeTable:) ||
[menuItem action] == @selector(repairTable:) ||
- [menuItem action] == @selector(flushTable:))
+ [menuItem action] == @selector(flushTable:) ||
+ [menuItem action] == @selector(checksumTable:))
{
- return ([self table] != nil);
+ return ([self table] != nil && [[self table] isNotEqualTo:@""]);
}
return [super validateMenuItem:menuItem];
}
@@ -1272,14 +1294,14 @@ passes the request to the tableDump object
@"ToggleConsoleIdentifier",
@"ClearConsoleIdentifier",
@"FlushPrivilegesIdentifier",
- NSToolbarCustomizeToolbarItemIdentifier,
- NSToolbarFlexibleSpaceItemIdentifier,
- NSToolbarSpaceItemIdentifier,
- NSToolbarSeparatorItemIdentifier,
@"SwitchToTableStructureToolbarItemIdentifier",
@"SwitchToTableContentToolbarItemIdentifier",
@"SwitchToRunQueryToolbarItemIdentifier",
@"SwitchToTableStatusToolbarItemIdentifier",
+ NSToolbarCustomizeToolbarItemIdentifier,
+ NSToolbarFlexibleSpaceItemIdentifier,
+ NSToolbarSpaceItemIdentifier,
+ NSToolbarSeparatorItemIdentifier,
nil];
}
@@ -1290,10 +1312,11 @@ passes the request to the tableDump object
{
return [NSArray arrayWithObjects:
@"DatabaseSelectToolbarItemIdentifier",
- NSToolbarSpaceItemIdentifier,
+ NSToolbarFlexibleSpaceItemIdentifier,
@"SwitchToTableStructureToolbarItemIdentifier",
@"SwitchToTableContentToolbarItemIdentifier",
@"SwitchToRunQueryToolbarItemIdentifier",
+ NSToolbarFlexibleSpaceItemIdentifier,
nil];
}
@@ -1342,7 +1365,7 @@ code that need to be executed once the windowController has loaded the document'
sets upt the interface (small fonts)
*/
{
- [aController setShouldCascadeWindows:NO];
+ [aController setShouldCascadeWindows:YES];
[super windowControllerDidLoadNib:aController];
NSEnumerator *theCols = [[variablesTableView tableColumns] objectEnumerator];
@@ -1458,6 +1481,15 @@ invoked when query gave an error
[self updateChooseDatabaseToolbarItemWidth];
}
+- (NSRect)splitView:(NSSplitView *)splitView additionalEffectiveRectOfDividerAtIndex:(int)dividerIndex
+{
+ if (sidebarGrabber != nil) {
+ return [sidebarGrabber convertRect:[sidebarGrabber bounds] toView:splitView];
+ } else {
+ return NSZeroRect;
+ }
+}
+
- (void)updateChooseDatabaseToolbarItemWidth
{
// make sure the toolbar item is actually in the toolbar