aboutsummaryrefslogtreecommitdiffstats
path: root/Source/TableSource.m
diff options
context:
space:
mode:
Diffstat (limited to 'Source/TableSource.m')
-rw-r--r--Source/TableSource.m29
1 files changed, 29 insertions, 0 deletions
diff --git a/Source/TableSource.m b/Source/TableSource.m
index a2b62787..bc4a9810 100644
--- a/Source/TableSource.m
+++ b/Source/TableSource.m
@@ -754,6 +754,22 @@ fetches the result as an array with a dictionary for each row in it
[queryString appendString:[theRow objectForKey:@"Extra"]];
}
+ if (!isEditingNewRow) {
+
+ // Add details not provided via the SHOW COLUMNS query from the table data cache so column details aren't lost
+ NSDictionary *originalColumnDetails = [[tableDataInstance columns] objectAtIndex:currentlyEditingRow];
+
+ // Any column comments
+ if ([originalColumnDetails objectForKey:@"comment"] && [[originalColumnDetails objectForKey:@"comment"] length]) {
+ [queryString appendString:[NSString stringWithFormat:@" COMMENT '%@'", [mySQLConnection prepareString:[originalColumnDetails objectForKey:@"comment"]]]];
+ }
+
+ // Unparsed details - column formats, storage, reference definitions
+ if ([originalColumnDetails objectForKey:@"unparsed"]) {
+ [queryString appendString:[originalColumnDetails objectForKey:@"unparsed"]];
+ }
+ }
+
// Asks the user to add an index to query if auto_increment is set and field isn't indexed
if ([[theRow objectForKey:@"Extra"] isEqualToString:@"auto_increment"] &&
([[theRow objectForKey:@"Key"] isEqualToString:@""] ||
@@ -1184,6 +1200,19 @@ would result in a position change.
[queryString appendString:[NSString stringWithFormat:@" DEFAULT '%@'", [mySQLConnection prepareString:[originalRow objectForKey:@"Default"]]]];
}
+ // Add details not provided via the SHOW COLUMNS query from the table data cache so column details aren't lost
+ NSDictionary *originalColumnDetails = [[tableDataInstance columns] objectAtIndex:originalRowIndex];
+
+ // Any column comments
+ if ([originalColumnDetails objectForKey:@"comment"] && [[originalColumnDetails objectForKey:@"comment"] length]) {
+ [queryString appendString:[NSString stringWithFormat:@" COMMENT '%@'", [mySQLConnection prepareString:[originalColumnDetails objectForKey:@"comment"]]]];
+ }
+
+ // Unparsed details - column formats, storage, reference definitions
+ if ([originalColumnDetails objectForKey:@"unparsed"]) {
+ [queryString appendString:[originalColumnDetails objectForKey:@"unparsed"]];
+ }
+
// Add the new location
if ( destinationRowIndex == 0 ){
[queryString appendString:@" FIRST"];