From 312a6c278d04ec2bde434235dfe23d77635474b7 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Tue, 23 Dec 2025 13:12:48 +0700 Subject: [PATCH] Fix data grid undo/redo and multi-row deletion bugs - Fix undo insert row then save error by adding safety checks in generateSQL() - Fix multi-row delete only deleting last row by implementing undoBatchRowInsertion() - Fix redo after delete causing 'Could not generate SQL' error - Fix Cmd+Z not restoring deleted inserted rows by adding batchRowInsertion undo action - Add proper undo/redo support for batch operations - Clean up verbose debug logging, keep only warnings --- OpenTable.xcodeproj/project.pbxproj | 8 +- .../UserInterfaceState.xcuserstate | Bin 168108 -> 184305 bytes OpenTable/Models/DataChange.swift | 153 ++++++++++++++++- OpenTable/Views/MainContentView.swift | 155 +++++++++++++----- OpenTable/Views/Sidebar/SidebarView.swift | 2 - 5 files changed, 268 insertions(+), 50 deletions(-) diff --git a/OpenTable.xcodeproj/project.pbxproj b/OpenTable.xcodeproj/project.pbxproj index 309618c1b..2aab6ae1b 100644 --- a/OpenTable.xcodeproj/project.pbxproj +++ b/OpenTable.xcodeproj/project.pbxproj @@ -253,7 +253,7 @@ AUTOMATION_APPLE_EVENTS = NO; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 3; + CURRENT_PROJECT_VERSION = 4; DEVELOPMENT_TEAM = D7HJ5TFYCU; ENABLE_APP_SANDBOX = NO; ENABLE_HARDENED_RUNTIME = YES; @@ -286,7 +286,7 @@ "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/Libs"; MACOSX_DEPLOYMENT_TARGET = 14.6; - MARKETING_VERSION = 0.1.3; + MARKETING_VERSION = 0.1.4; OTHER_LDFLAGS = ( "-force_load", "$(PROJECT_DIR)/Libs/libmariadb.a", @@ -331,7 +331,7 @@ AUTOMATION_APPLE_EVENTS = NO; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 3; + CURRENT_PROJECT_VERSION = 4; DEVELOPMENT_TEAM = D7HJ5TFYCU; ENABLE_APP_SANDBOX = NO; ENABLE_HARDENED_RUNTIME = YES; @@ -364,7 +364,7 @@ "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/Libs"; MACOSX_DEPLOYMENT_TARGET = 14.6; - MARKETING_VERSION = 0.1.3; + MARKETING_VERSION = 0.1.4; OTHER_LDFLAGS = ( "-force_load", "$(PROJECT_DIR)/Libs/libmariadb.a", diff --git a/OpenTable.xcodeproj/project.xcworkspace/xcuserdata/ngoquocdat.xcuserdatad/UserInterfaceState.xcuserstate b/OpenTable.xcodeproj/project.xcworkspace/xcuserdata/ngoquocdat.xcuserdatad/UserInterfaceState.xcuserstate index e096cf4864175e7cc30da38c3f5fcb0ff6042e0c..547ce69b886b581eb7c665749d3eb981b2b09918 100644 GIT binary patch literal 184305 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%0Dsp2OVZ z4hC*dya;(QsN(=kie<#2uM#{AMUJFxa4nC-ZLWVtjl*~cGln&h7hXfE5b3>Hkz9lCK5Qll(9Sm;f zGGVbG(W}6&)B+np)j*zd8dY70Cb6)r(*s+3G>3Vz`v){iwpbMc0$~*>XzlhT+LRzm z3Q8c9&q76rzto<{cO3O8STI~=0M|H*ZCIQi z$=B>wFerxQjL^!db`ghp!5vIGg9u^;sl#Q2;Q+&InF8b{5*U!=gFMNy(CE1K0uJ+% zI~Z87h*%@eUqlF;9RLU_;Eop7bOkCdS`%f`f~s*5hk3;v3|dgYCI+iuS3t

;l}6 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 = [] + /// Lazy storage for inserted row values - avoids creating CellChange objects until needed + /// Maps rowIndex -> column values array for newly inserted rows + /// This dramatically improves add row performance for tables with many columns + private var insertedRowData: [Int: [String?]] = [:] + /// Undo stack for reversing changes (LIFO) private var undoStack: [UndoAction] = [] @@ -326,6 +333,12 @@ final class DataChangeManager: ObservableObject { /// Undo a pending row deletion func undoRowDeletion(rowIndex: Int) { + // SAFETY: Only process if this row is actually marked as deleted + guard deletedRowIndices.contains(rowIndex) else { + print("⚠️ undoRowDeletion called for row \(rowIndex) but it's not in deletedRowIndices") + return + } + changes.removeAll { $0.rowIndex == rowIndex && $0.type == .delete } deletedRowIndices.remove(rowIndex) hasChanges = !changes.isEmpty @@ -334,11 +347,17 @@ final class DataChangeManager: ObservableObject { /// Undo a pending row insertion func undoRowInsertion(rowIndex: Int) { + // SAFETY: Only process if this row is actually marked as inserted + guard insertedRowIndices.contains(rowIndex) else { + print("⚠️ undoRowInsertion: row \(rowIndex) not in insertedRowIndices") + return + } + + // Remove the INSERT change from the changes array changes.removeAll { $0.rowIndex == rowIndex && $0.type == .insert } insertedRowIndices.remove(rowIndex) // Shift down indices for rows after the removed row - // This is necessary because when a row is removed, all subsequent rows shift down var shiftedInsertedIndices = Set() for idx in insertedRowIndices { if idx > rowIndex { @@ -349,7 +368,7 @@ final class DataChangeManager: ObservableObject { } insertedRowIndices = shiftedInsertedIndices - // Also update row indices in changes array + // Also update row indices in changes array for all changes after this row for i in 0.. rowIndex { changes[i].rowIndex -= 1 @@ -358,6 +377,65 @@ final class DataChangeManager: ObservableObject { hasChanges = !changes.isEmpty } + + /// Undo multiple row insertions at once (for batch deletion) + /// This is more efficient than calling undoRowInsertion multiple times + /// - Parameter rowIndices: Array of row indices to undo, MUST be sorted in descending order + func undoBatchRowInsertion(rowIndices: [Int]) { + guard !rowIndices.isEmpty else { return } + + // Verify all rows are inserted + let validRows = rowIndices.filter { insertedRowIndices.contains($0) } + + if validRows.count != rowIndices.count { + let invalidRows = Set(rowIndices).subtracting(validRows) + print("⚠️ undoBatchRowInsertion: rows \(invalidRows) not in insertedRowIndices") + } + + guard !validRows.isEmpty else { return } + + // Collect row values BEFORE removing changes (for undo/redo) + var rowValues: [[String?]] = [] + for rowIndex in validRows { + if let insertChange = changes.first(where: { $0.rowIndex == rowIndex && $0.type == .insert }) { + let values = insertChange.cellChanges.sorted { $0.columnIndex < $1.columnIndex } + .map { $0.newValue } + rowValues.append(values) + } else { + rowValues.append(Array(repeating: nil, count: columns.count)) + } + } + + // Remove all INSERT changes for these rows + for rowIndex in validRows { + changes.removeAll { $0.rowIndex == rowIndex && $0.type == .insert } + insertedRowIndices.remove(rowIndex) + } + + // Push undo action so user can undo this deletion + pushUndo(.batchRowInsertion(rowIndices: validRows, rowValues: rowValues)) + + // Shift indices for all remaining rows + for deletedIndex in validRows.reversed() { + var shiftedIndices = Set() + for idx in insertedRowIndices { + if idx > deletedIndex { + shiftedIndices.insert(idx - 1) + } else { + shiftedIndices.insert(idx) + } + } + insertedRowIndices = shiftedIndices + + for i in 0.. deletedIndex { + changes[i].rowIndex -= 1 + } + } + } + + hasChanges = !changes.isEmpty + } // MARK: - Undo Stack Management @@ -462,6 +540,33 @@ final class DataChangeManager: ObservableObject { undoRowDeletion(rowIndex: rowIndex) } return (action, false, true, nil) + + case .batchRowInsertion(let rowIndices, let rowValues): + // Undo the deletion of inserted rows - restore them as INSERT changes + // Process in reverse order (ascending) to maintain correct indices when re-inserting + for (index, rowIndex) in rowIndices.enumerated().reversed() { + guard index < rowValues.count else { continue } + let values = rowValues[index] + + // Re-create INSERT change + let cellChanges = values.enumerated().map { colIndex, value in + CellChange( + rowIndex: rowIndex, + columnIndex: colIndex, + columnName: columns[safe: colIndex] ?? "", + oldValue: nil, + newValue: value + ) + } + let rowChange = RowChange(rowIndex: rowIndex, type: .insert, cellChanges: cellChanges) + changes.append(rowChange) + insertedRowIndices.insert(rowIndex) + } + + hasChanges = !changes.isEmpty + reloadVersion += 1 + // Return true for needsRowInsert so MainContentView knows to restore to resultRows + return (action, true, false, nil) } } @@ -484,8 +589,26 @@ final class DataChangeManager: ObservableObject { return (action, false, false) case .rowInsertion(let rowIndex): - // Re-apply the row insertion - mark as inserted + // Re-apply the row insertion - we need to restore the full INSERT change + // Note: We don't have the original cell values in the UndoAction, + // so we need the caller (MainContentView) to provide them when re-inserting the row + // For now, just mark as inserted and let the caller handle cell values insertedRowIndices.insert(rowIndex) + + // Create empty INSERT change - caller should update with actual values + // The row should already exist in resultRows from the redo handler in MainContentView + let cellChanges = columns.enumerated().map { index, columnName in + CellChange( + rowIndex: rowIndex, + columnIndex: index, + columnName: columnName, + oldValue: nil, + newValue: nil // Will be updated by caller + ) + } + let rowChange = RowChange(rowIndex: rowIndex, type: .insert, cellChanges: cellChanges) + changes.append(rowChange) + hasChanges = true reloadVersion += 1 return (action, true, false) @@ -505,6 +628,20 @@ final class DataChangeManager: ObservableObject { _ = undoStack.popLast() } return (action, false, true) + + case .batchRowInsertion(let rowIndices, _): + // Redo the deletion of inserted rows - remove them again + // This is called when user: delete inserted rows -> undo -> redo + // We need to remove the rows from changes and insertedRowIndices again + for rowIndex in rowIndices { + changes.removeAll { $0.rowIndex == rowIndex && $0.type == .insert } + insertedRowIndices.remove(rowIndex) + } + hasChanges = !changes.isEmpty + reloadVersion += 1 + // Return true for needsRowInsert to signal MainContentView to remove from resultRows + // (We repurpose this flag since the logic is similar - rows need to be removed) + return (action, true, false) } } @@ -520,10 +657,20 @@ final class DataChangeManager: ObservableObject { statements.append(sql) } case .insert: + // SAFETY: Verify the row is still marked as inserted + guard insertedRowIndices.contains(change.rowIndex) else { + print("⚠️ Skipping INSERT for row \(change.rowIndex) - not in insertedRowIndices") + continue + } if let sql = generateInsertSQL(for: change) { statements.append(sql) } case .delete: + // SAFETY: Verify the row is still marked as deleted + guard deletedRowIndices.contains(change.rowIndex) else { + print("⚠️ Skipping DELETE for row \(change.rowIndex) - not in deletedRowIndices") + continue + } if let sql = generateDeleteSQL(for: change) { statements.append(sql) } diff --git a/OpenTable/Views/MainContentView.swift b/OpenTable/Views/MainContentView.swift index 91ef963e3..aa82647f4 100644 --- a/OpenTable/Views/MainContentView.swift +++ b/OpenTable/Views/MainContentView.swift @@ -344,10 +344,16 @@ struct MainContentView: View { if hasEditedCells || hasPendingTableOps { pendingDiscardAction = .refresh } else { - // No changes - refresh table browser and run current query - DispatchQueue.main.async { - NotificationCenter.default.post(name: .refreshAll, object: nil) + // Cancel any running query to prevent race conditions + currentQueryTask?.cancel() + + // Rebuild query for table tabs to ensure fresh data + if let tabIndex = tabManager.selectedTabIndex, + tabManager.tabs[tabIndex].tabType == .table { + rebuildTableQuery(at: tabIndex) } + + // Fetch fresh data from database runQuery() } } @@ -811,6 +817,7 @@ struct MainContentView: View { guard !Task.isCancelled else { return } if let idx = tabManager.tabs.firstIndex(where: { $0.id == tabId }) { + // CRITICAL: Update tab atomically to prevent objc_retain crashes // with large result sets (25+ columns). Working with a copy first // prevents partial updates that can crash during deallocation. @@ -983,59 +990,84 @@ struct MainContentView: View { /// Delete selected rows (Delete key or menu) private func deleteSelectedRows() { - guard let index = tabManager.selectedTabIndex, + guard let tabIndex = tabManager.selectedTabIndex, !selectedRowIndices.isEmpty else { return } - // Collect rows to delete for batch undo (sorted descending to handle removals correctly) - var rowsToDelete: [(rowIndex: Int, originalRow: [String?])] = [] + // Separate inserted rows from existing rows + var insertedRowsToDelete: [Int] = [] + var existingRowsToDelete: [(rowIndex: Int, originalRow: [String?])] = [] // Find the lowest selected row index for selection movement let minSelectedRow = selectedRowIndices.min() ?? 0 let maxSelectedRow = selectedRowIndices.max() ?? 0 - // Delete each selected row (sorted descending to handle removals correctly) + // Categorize rows (process in descending order to maintain correct indices) for rowIndex in selectedRowIndices.sorted(by: >) { if changeManager.isRowInserted(rowIndex) { - // For inserted rows, remove them completely - undoInsertRow(at: rowIndex) + // Collect inserted rows to delete + insertedRowsToDelete.append(rowIndex) } else if !changeManager.isRowDeleted(rowIndex) { - // For existing rows, collect for batch deletion - if rowIndex < tabManager.tabs[index].resultRows.count { - let originalRow = tabManager.tabs[index].resultRows[rowIndex].values - rowsToDelete.append((rowIndex: rowIndex, originalRow: originalRow)) + // Collect existing rows for batch deletion + if rowIndex < tabManager.tabs[tabIndex].resultRows.count { + let originalRow = tabManager.tabs[tabIndex].resultRows[rowIndex].values + existingRowsToDelete.append((rowIndex: rowIndex, originalRow: originalRow)) } } } - // Record batch deletion (single undo action for all rows) - if !rowsToDelete.isEmpty { - changeManager.recordBatchRowDeletion(rows: rowsToDelete) + // Process inserted rows deletion + if !insertedRowsToDelete.isEmpty { + // Sort descending so removing higher indices first doesn't affect lower indices + let sortedInsertedRows = insertedRowsToDelete.sorted(by: >) + + // Remove from resultRows first (descending order) + for rowIndex in sortedInsertedRows { + guard rowIndex < tabManager.tabs[tabIndex].resultRows.count else { continue } + tabManager.tabs[tabIndex].resultRows.remove(at: rowIndex) + } + + // Update changeManager for ALL deleted inserted rows at once + // This prevents index shifting issues from calling undoRowInsertion multiple times + changeManager.undoBatchRowInsertion(rowIndices: sortedInsertedRows) + } + + // Record batch deletion for existing rows (single undo action for all rows) + if !existingRowsToDelete.isEmpty { + changeManager.recordBatchRowDeletion(rows: existingRowsToDelete) } // Move selection to next available row after deletion - let totalRows = tabManager.tabs[index].resultRows.count - let nextRow: Int + let totalRows = tabManager.tabs[tabIndex].resultRows.count - if maxSelectedRow + 1 < totalRows { + // Calculate next row selection, accounting for deleted inserted rows + let rowsDeleted = insertedRowsToDelete.count + let adjustedMaxRow = maxSelectedRow - rowsDeleted + let adjustedMinRow = minSelectedRow - insertedRowsToDelete.filter { $0 < minSelectedRow }.count + + let nextRow: Int + if adjustedMaxRow + 1 < totalRows { // Select row after the deleted range - nextRow = maxSelectedRow + 1 - } else if minSelectedRow > 0 { + nextRow = min(adjustedMaxRow + 1, totalRows - 1) + } else if adjustedMinRow > 0 { // Deleted rows at end, select previous row - nextRow = minSelectedRow - 1 + nextRow = adjustedMinRow - 1 + } else if totalRows > 0 { + // Select first row if available + nextRow = 0 } else { - // All rows deleted or only first row deleted + // All rows deleted nextRow = -1 } - if nextRow >= 0 { + if nextRow >= 0 && nextRow < totalRows { selectedRowIndices = [nextRow] } else { selectedRowIndices.removeAll() } // Mark tab as having user interaction (prevents auto-replacement) - tabManager.tabs[index].hasUserInteraction = true + tabManager.tabs[tabIndex].hasUserInteraction = true } /// Toggle table deletion state (for sidebar table selection) @@ -1183,6 +1215,38 @@ struct MainContentView: View { tabManager.tabs[tabIndex].query = newQuery runQuery() } + + /// Rebuild query for a table tab based on current filters and sort state + /// Used when refreshing to ensure query reflects current state + private func rebuildTableQuery(at tabIndex: Int) { + guard tabIndex < tabManager.tabs.count else { return } + let tab = tabManager.tabs[tabIndex] + guard let tableName = tab.tableName else { return } + + let quotedTable = connection.type.quoteIdentifier(tableName) + var newQuery = "SELECT * FROM \(quotedTable)" + + // Apply filters if any + if filterStateManager.hasAppliedFilters { + let generator = FilterSQLGenerator(databaseType: connection.type) + let whereClause = generator.generateWhereClause(from: filterStateManager.appliedFilters) + if !whereClause.isEmpty { + newQuery += " \(whereClause)" + } + } + + // Preserve ORDER BY + if let columnIndex = tab.sortState.columnIndex, + columnIndex < tab.resultColumns.count { + let columnName = tab.resultColumns[columnIndex] + let direction = tab.sortState.direction == .ascending ? "ASC" : "DESC" + newQuery += " ORDER BY \(connection.type.quoteIdentifier(columnName)) \(direction)" + } + + newQuery += " LIMIT 200" + + tabManager.tabs[tabIndex].query = newQuery + } // MARK: - Column Sorting @@ -1510,6 +1574,18 @@ struct MainContentView: View { // All rows are restored in changeManager - visual indicators will be removed // No need to modify resultRows since deletions were just visual indicators break + + case .batchRowInsertion(let rowIndices, let rowValues): + // Restore deleted inserted rows - add them back to resultRows + // Process in reverse order (ascending) to maintain correct indices + for (index, rowIndex) in rowIndices.enumerated().reversed() { + guard index < rowValues.count else { continue } + guard rowIndex <= tabManager.tabs[tabIndex].resultRows.count else { continue } + + let values = rowValues[index] + let newRow = QueryResultRow(values: values) + tabManager.tabs[tabIndex].resultRows.insert(newRow, at: rowIndex) + } } // Mark tab as having user interaction @@ -1549,6 +1625,14 @@ struct MainContentView: View { // Rows are re-marked as deleted in changeManager // No need to modify resultRows since deletions are just visual indicators break + + case .batchRowInsertion(let rowIndices, _): + // Redo the deletion - remove the rows from resultRows again + // Remove in descending order to avoid index shifting issues + for rowIndex in rowIndices.sorted(by: >) { + guard rowIndex < tabManager.tabs[tabIndex].resultRows.count else { continue } + tabManager.tabs[tabIndex].resultRows.remove(at: rowIndex) + } } // Mark tab as having user interaction @@ -1682,6 +1766,11 @@ struct MainContentView: View { // Execute the specific action switch action { case .refresh, .refreshAll: + // Rebuild query for table tabs before refreshing + if let tabIndex = tabManager.selectedTabIndex, + tabManager.tabs[tabIndex].tabType == .table { + rebuildTableQuery(at: tabIndex) + } runQuery() case .closeTab: closeCurrentTab() @@ -1719,16 +1808,10 @@ struct MainContentView: View { /// Save pending changes (Cmd+S) private func saveChanges() { - print("DEBUG: saveChanges() called") - let hasEditedCells = changeManager.hasChanges let hasPendingTableOps = !pendingTruncates.isEmpty || !pendingDeletes.isEmpty - print("DEBUG: hasEditedCells = \(hasEditedCells)") - print("DEBUG: hasPendingTableOps = \(hasPendingTableOps)") - guard hasEditedCells || hasPendingTableOps else { - print("DEBUG: No changes to save") return } @@ -1737,9 +1820,7 @@ struct MainContentView: View { // 1. Generate SQL for cell edits if hasEditedCells { let cellStatements = changeManager.generateSQL() - print("DEBUG: Generated \(cellStatements.count) cell edit SQL statements") for (index, stmt) in cellStatements.enumerated() { - print("DEBUG: Cell statement \(index + 1): \(stmt)") } allStatements.append(contentsOf: cellStatements) } @@ -1750,7 +1831,6 @@ struct MainContentView: View { for tableName in pendingTruncates { let quotedName = connection.type.quoteIdentifier(tableName) let stmt = "TRUNCATE TABLE \(quotedName)" - print("DEBUG: Table operation: \(stmt)") allStatements.append(stmt) } @@ -1758,13 +1838,11 @@ struct MainContentView: View { for tableName in pendingDeletes { let quotedName = connection.type.quoteIdentifier(tableName) let stmt = "DROP TABLE \(quotedName)" - print("DEBUG: Table operation: \(stmt)") allStatements.append(stmt) } } guard !allStatements.isEmpty else { - print("DEBUG: No SQL statements generated") if let index = tabManager.selectedTabIndex { tabManager.tabs[index].errorMessage = "Could not generate SQL for changes." } @@ -1779,7 +1857,6 @@ struct MainContentView: View { private func executeCommitSQL(_ sql: String, clearTableOps: Bool = false) { guard !sql.isEmpty else { return } - print("DEBUG: Executing SQL:\n\(sql)") Task { do { @@ -1799,11 +1876,9 @@ struct MainContentView: View { } for statement in statements { - print("DEBUG: Executing: \(statement)") _ = try await driver.execute(query: statement) } - print("DEBUG: All statements executed successfully") // Clear pending changes since they're now saved await MainActor.run { @@ -1848,7 +1923,6 @@ struct MainContentView: View { } } - print("DEBUG: Changes cleared, refreshing query") } // Refresh the current query to show updated data (if tab still exists) @@ -1857,7 +1931,6 @@ struct MainContentView: View { } } catch { - print("DEBUG: Error during save: \(error)") await MainActor.run { if let index = tabManager.selectedTabIndex { tabManager.tabs[index].errorMessage = diff --git a/OpenTable/Views/Sidebar/SidebarView.swift b/OpenTable/Views/Sidebar/SidebarView.swift index 55e7b8ef0..967d049bb 100644 --- a/OpenTable/Views/Sidebar/SidebarView.swift +++ b/OpenTable/Views/Sidebar/SidebarView.swift @@ -350,10 +350,8 @@ struct SidebarView: View { pendingTruncates.remove(tableName) if pendingDeletes.contains(tableName) { pendingDeletes.remove(tableName) - print("DEBUG: Removed \(tableName) from pendingDeletes") } else { pendingDeletes.insert(tableName) - print("DEBUG: Inserted \(tableName) into pendingDeletes, count: \(pendingDeletes.count)") } } }