File tree Expand file tree Collapse file tree
TableProMobile/TableProMobile/Views Expand file tree Collapse file tree Original file line number Diff line number Diff line change 33// TableProMobile
44//
55
6+ import os
67import SwiftUI
78import TableProDatabase
89import TableProModels
@@ -14,6 +15,8 @@ struct FKPreviewItem: Identifiable {
1415}
1516
1617struct FKPreviewView : View {
18+ private static let logger = Logger ( subsystem: " com.TablePro " , category: " FKPreviewView " )
19+
1720 @Environment ( \. dismiss) private var dismiss
1821 let fk : ForeignKeyInfo
1922 let value : String
@@ -71,18 +74,13 @@ struct FKPreviewView: View {
7174 do {
7275 let quoted = SQLBuilder . quoteIdentifier ( fk. referencedTable, for: databaseType)
7376 let quotedCol = SQLBuilder . quoteIdentifier ( fk. referencedColumn, for: databaseType)
74- let sqlValue : String
75- if Int64 ( value) != nil || Double ( value) != nil {
76- sqlValue = value
77- } else {
78- sqlValue = " ' \( value. replacingOccurrences ( of: " ' " , with: " '' " ) ) ' "
79- }
80- let query = " SELECT * FROM \( quoted) WHERE \( quotedCol) = \( sqlValue) LIMIT 1 "
77+ let escapedValue = value. replacingOccurrences ( of: " ' " , with: " '' " )
78+ let query = " SELECT * FROM \( quoted) WHERE \( quotedCol) = ' \( escapedValue) ' LIMIT 1 "
8179 let result = try await session. driver. execute ( query: query)
8280 columns = result. columns
8381 row = result. rows. first
8482 } catch {
85- print ( " FK preview error : \( error) " )
83+ Self . logger . warning ( " FK preview failed : \( error. localizedDescription , privacy : . public ) " )
8684 row = nil
8785 }
8886 isLoading = false
Original file line number Diff line number Diff line change @@ -450,7 +450,11 @@ struct DataBrowserView: View {
450450 columnDetails = try await session. driver. fetchColumns ( table: table. name, schema: nil )
451451 }
452452 if foreignKeys. isEmpty {
453- foreignKeys = ( try ? await session. driver. fetchForeignKeys ( table: table. name, schema: nil ) ) ?? [ ]
453+ do {
454+ foreignKeys = try await session. driver. fetchForeignKeys ( table: table. name, schema: nil )
455+ } catch {
456+ Self . logger. warning ( " Failed to fetch foreign keys: \( error. localizedDescription, privacy: . public) " )
457+ }
454458 }
455459 if pagination. totalRows == nil {
456460 await fetchTotalRows ( session: session)
Original file line number Diff line number Diff line change @@ -198,7 +198,6 @@ struct RowDetailView: View {
198198 ToolbarItemGroup ( placement: . bottomBar) {
199199 Button {
200200 withAnimation { currentIndex -= 1 }
201- if isEditing { startEditing ( ) }
202201 } label: {
203202 Image ( systemName: " chevron.left " )
204203 }
@@ -216,7 +215,6 @@ struct RowDetailView: View {
216215
217216 Button {
218217 withAnimation { currentIndex += 1 }
219- if isEditing { startEditing ( ) }
220218 } label: {
221219 Image ( systemName: " chevron.right " )
222220 }
@@ -350,6 +348,7 @@ struct RowDetailView: View {
350348
351349 guard !changes. isEmpty else {
352350 isEditing = false
351+ editedValues = [ ]
353352 return
354353 }
355354
You can’t perform that action at this time.
0 commit comments