@@ -2445,7 +2445,7 @@ extension SnapshotTests {
24452445 """
24462446 } fixes: {
24472447 """
2448- @Table @CasePathable
2448+ @CasePathable @Table
24492449 enum Post {
24502450 case photo(Photo)
24512451 case note(String = " " )
@@ -2547,18 +2547,83 @@ extension SnapshotTests {
25472547 """
25482548 } fixes: {
25492549 """
2550- @Table @CasePathableenum Post {
2550+ @CasePathable @Table enum Post {
25512551 case photo(Photo)
25522552 case note(String = " " )
25532553 }
25542554 """
25552555 } expansion: {
2556- """
2557- @Table @CasePathableenum Post {
2556+ # """
2557+ @CasePathable enum Post {
25582558 case photo(Photo)
25592559 case note(String = "")
2560+
2561+ public nonisolated struct TableColumns: StructuredQueriesCore.TableDefinition {
2562+ public typealias QueryValue = Post
2563+ public let photo = StructuredQueriesCore._TableColumn<QueryValue, Photo?>.for("photo", keyPath: \QueryValue.photo)
2564+ public let note = StructuredQueriesCore._TableColumn<QueryValue, String?>.for("note", keyPath: \QueryValue.note, default: "")
2565+ public static var allColumns: [any StructuredQueriesCore.TableColumnExpression] {
2566+ var allColumns: [any StructuredQueriesCore.TableColumnExpression] = []
2567+ allColumns.append(contentsOf: QueryValue.columns.photo._allColumns)
2568+ allColumns.append(contentsOf: QueryValue.columns.note._allColumns)
2569+ return allColumns
2570+ }
2571+ public static var writableColumns: [any StructuredQueriesCore.WritableTableColumnExpression] {
2572+ var writableColumns: [any StructuredQueriesCore.WritableTableColumnExpression] = []
2573+ writableColumns.append(contentsOf: QueryValue.columns.photo._writableColumns)
2574+ writableColumns.append(contentsOf: QueryValue.columns.note._writableColumns)
2575+ return writableColumns
2576+ }
2577+ public var queryFragment: QueryFragment {
2578+ "\(self.photo), \(self.note)"
2579+ }
2580+ }
2581+
2582+ public struct Selection: StructuredQueriesCore.TableExpression {
2583+ public typealias QueryValue = Post
2584+ public let allColumns: [any StructuredQueriesCore.QueryExpression]
2585+ public static func photo(
2586+ _ photo: some StructuredQueriesCore.QueryExpression<Photo>
2587+ ) -> Self {
2588+ var allColumns: [any StructuredQueriesCore.QueryExpression] = []
2589+ allColumns.append(contentsOf: photo._allColumns)
2590+ allColumns.append(contentsOf: Photo?(queryOutput: nil)._allColumns)
2591+ return Self(allColumns: allColumns)
2592+ }
2593+ public static func note(
2594+ _ note: some StructuredQueriesCore.QueryExpression<String>
2595+ ) -> Self {
2596+ var allColumns: [any StructuredQueriesCore.QueryExpression] = []
2597+ allColumns.append(contentsOf: String?(queryOutput: nil)._allColumns)
2598+ allColumns.append(contentsOf: note._allColumns)
2599+ return Self(allColumns: allColumns)
2600+ }
2601+ }
25602602 }
2561- """
2603+
2604+ nonisolated extension Post: StructuredQueriesCore.Table, StructuredQueriesCore.PartialSelectStatement {
2605+ public typealias QueryValue = Self
2606+ public typealias From = Swift.Never
2607+ public nonisolated static var columns: TableColumns {
2608+ TableColumns()
2609+ }
2610+ public nonisolated static var _columnWidth: Int {
2611+ [Photo._columnWidth, String._columnWidth].reduce(0, +)
2612+ }
2613+ public nonisolated static var tableName: String {
2614+ "posts"
2615+ }
2616+ public nonisolated init(decoder: inout some StructuredQueriesCore.QueryDecoder) throws {
2617+ if let photo = try decoder.decode(Photo.self) {
2618+ self = .photo(photo)
2619+ } else if let note = try decoder.decode(String.self) {
2620+ self = .note(note)
2621+ } else {
2622+ throw StructuredQueriesCore.QueryDecodingError.missingRequiredColumn
2623+ }
2624+ }
2625+ }
2626+ """#
25622627 }
25632628 }
25642629
0 commit comments