From c178775a335d5e6292088c4c692f53832a129fd3 Mon Sep 17 00:00:00 2001 From: Bibiko Date: Tue, 16 Nov 2010 12:09:44 +0000 Subject: =?UTF-8?q?=E2=80=A2=20Bundle=20support=20-=20further=20simplifica?= =?UTF-8?q?tions=20and=20centralizations=20-=20runBashCommandWithEnvironme?= =?UTF-8?q?nt:=20now=20it=20can=20execute=20each=20script=20command=20whos?= =?UTF-8?q?e=20first=20line=20begins=20with=20#!/...=20natively=20-=20adde?= =?UTF-8?q?d=20some=20more=20shell=20variables?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/SPDatabaseDocument.m | 52 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'Source/SPDatabaseDocument.m') diff --git a/Source/SPDatabaseDocument.m b/Source/SPDatabaseDocument.m index 837c5387..4ef38ef8 100644 --- a/Source/SPDatabaseDocument.m +++ b/Source/SPDatabaseDocument.m @@ -4548,6 +4548,58 @@ NSLog(@"received: %@", commandDict); } +- (NSDictionary*)shellVariables +{ + NSMutableDictionary *env = [NSMutableDictionary dictionary]; + + if (tablesListInstance) { + if([tablesListInstance selectedDatabase]) + [env setObject:[tablesListInstance selectedDatabase] forKey:@"SP_SELECTED_DATABASE"]; + + if ([tablesListInstance tableName]) + [env setObject:[tablesListInstance tableName] forKey:@"SP_SELECTED_TABLE"]; + + if ([tablesListInstance selectedTableItems]) + [env setObject:[[tablesListInstance selectedTableItems] componentsJoinedByString:@"\t"] forKey:@"SP_SELECTED_TABLES"]; + + if ([tablesListInstance allDatabaseNames]) + [env setObject:[[tablesListInstance allDatabaseNames] componentsJoinedByString:@"\t"] forKey:@"SP_ALL_DATABASES"]; + + if ([tablesListInstance allTableNames]) + [env setObject:[[tablesListInstance allTableNames] componentsJoinedByString:@"\t"] forKey:@"SP_ALL_TABLES"]; + + if ([tablesListInstance allViewNames]) + [env setObject:[[tablesListInstance allViewNames] componentsJoinedByString:@"\t"] forKey:@"SP_ALL_VIEWS"]; + + if ([tablesListInstance allFunctionNames]) + [env setObject:[[tablesListInstance allFunctionNames] componentsJoinedByString:@"\t"] forKey:@"SP_ALL_FUNCTIONS"]; + + if ([tablesListInstance allProcedureNames]) + [env setObject:[[tablesListInstance allProcedureNames] componentsJoinedByString:@"\t"] forKey:@"SP_ALL_PROCEDURES"]; + + if ([self user]) + [env setObject:[self user] forKey:@"SP_CURRENT_USER"]; + + if ([self host]) + [env setObject:[self host] forKey:@"SP_CURRENT_HOST"]; + + if ([self port]) + [env setObject:[self port] forKey:@"SP_CURRENT_PORT"]; + + if ([self databaseEncoding]) + [env setObject:[self databaseEncoding] forKey:@"SP_DATABASE_ENCODING"]; + + } + + if(1) + [env setObject:@"mysql" forKey:@"SP_RDBMS_TYPE"]; + + if([self mySQLVersion]) + [env setObject:[self mySQLVersion] forKey:@"SP_RDBMS_VERSION"]; + + return (NSDictionary*)env; +} + #pragma mark - #pragma mark Text field delegate methods -- cgit v1.2.3