@@ -68,47 +68,3 @@ extension Updates {
6868 set { updates. append ( contentsOf: newValue. updates) }
6969 }
7070}
71-
72- @dynamicMemberLookup
73- public struct SubtableColumns < Root: Table , Value: Table > : QueryExpression {
74- public typealias QueryValue = Value
75-
76- public static func allColumns( keyPath: KeyPath < Root , Value > & Sendable ) -> [ any TableColumnExpression ] {
77- return Value . TableColumns. allColumns. map { column in
78- func open< R, V> (
79- _ column: some TableColumnExpression < R , V >
80- ) -> any TableColumnExpression {
81- let keyPath = keyPath. appending (
82- path: unsafeDowncast ( column. keyPath, to: KeyPath< Value, V . QueryOutput> . self )
83- )
84- return TableColumn < Root , V > (
85- column. name,
86- keyPath: keyPath. unsafeSendable ( ) ,
87- default: column. defaultValue
88- )
89- }
90- return open ( column)
91- }
92- }
93-
94- let keyPath : KeyPath < Root , Value > & Sendable
95-
96- public init ( keyPath: KeyPath < Root , Value > & Sendable ) {
97- self . keyPath = keyPath
98- }
99-
100- public subscript< Member> (
101- dynamicMember keyPath: KeyPath < Value . TableColumns , TableColumn < Value , Member > > & Sendable
102- ) -> TableColumn < Root , Member > {
103- let column = Value . columns [ keyPath: keyPath]
104- return TableColumn < Root , Member > (
105- column. name,
106- keyPath: self . keyPath. appending ( path: column. _keyPath) . unsafeSendable ( ) ,
107- default: column. defaultValue
108- )
109- }
110-
111- public var queryFragment : QueryFragment {
112- Value . columns. queryFragment
113- }
114- }
0 commit comments