aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPTableData.m
diff options
context:
space:
mode:
authorrowanbeentje <rowan@beent.je>2009-06-24 23:16:39 +0000
committerrowanbeentje <rowan@beent.je>2009-06-24 23:16:39 +0000
commit15981eb3fbf5438de932c7b815707f3c6a7f0110 (patch)
treeed94fde25abb851c1874cf7bda1742938d5adf54 /Source/SPTableData.m
parente56731e44cf507c17f3e8f231f452fda0dad3bb5 (diff)
downloadsequelpro-15981eb3fbf5438de932c7b815707f3c6a7f0110.tar.gz
sequelpro-15981eb3fbf5438de932c7b815707f3c6a7f0110.tar.bz2
sequelpro-15981eb3fbf5438de932c7b815707f3c6a7f0110.zip
- We have always allowed setting "on update CURRENT_TIMESTAMP" for timestamp columns - parse out this information, and now also show if it's set in the structure view. Fixes the setting not appearing to work.
Diffstat (limited to 'Source/SPTableData.m')
-rw-r--r--Source/SPTableData.m9
1 files changed, 9 insertions, 0 deletions
diff --git a/Source/SPTableData.m b/Source/SPTableData.m
index 3f681b30..0358e984 100644
--- a/Source/SPTableData.m
+++ b/Source/SPTableData.m
@@ -123,6 +123,7 @@
- (NSDictionary *) columnWithName:(NSString *)colName
{
int columnIndex = [columnNames indexOfObject:colName];
+ if (columnIndex == NSNotFound) return nil;
return [columns objectAtIndex:columnIndex];
}
@@ -835,6 +836,7 @@
[fieldDetails setValue:[NSNumber numberWithBool:NO] forKey:@"binary"];
[fieldDetails setValue:[NSNumber numberWithBool:NO] forKey:@"zerofill"];
[fieldDetails setValue:[NSNumber numberWithBool:NO] forKey:@"autoincrement"];
+ [fieldDetails setValue:[NSNumber numberWithBool:NO] forKey:@"onupdatetimestamp"];
// Walk through the remaining column definition parts storing recognised details
partsArrayLength = [definitionParts count];
@@ -893,6 +895,13 @@
[fieldDetails setValue:[detailParser unquotedString] forKey:@"default"];
[detailParser release];
definitionPartsIndex++;
+
+ // Special timestamp case - Whether fields are set to update the current timestamp
+ } else if ([detailString isEqualToString:@"ON"] && (definitionPartsIndex + 2 < partsArrayLength)
+ && [[[definitionParts objectAtIndex:definitionPartsIndex+1] uppercaseString] isEqualToString:@"UPDATE"]
+ && [[[definitionParts objectAtIndex:definitionPartsIndex+2] uppercaseString] isEqualToString:@"CURRENT_TIMESTAMP"]) {
+ [fieldDetails setValue:[NSNumber numberWithBool:YES] forKey:@"onupdatetimestamp"];
+ definitionPartsIndex += 2;
}
// TODO: Currently unhandled: [UNIQUE | PRIMARY] KEY | COMMENT 'foo' | COLUMN_FORMAT bar | STORAGE q | REFERENCES...