Skip to content

Commit a569764

Browse files
committed
small tweaks
1 parent 7de6838 commit a569764

3 files changed

Lines changed: 42 additions & 13 deletions

File tree

Sources/Compiler/Gen/Language.swift

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,17 +140,41 @@ extension Language {
140140
result.append(.value(index: index, name: name ?? "input", owner: owner, isOptional: isOptional))
141141
index += 1
142142
case let .optional(type):
143-
result.append(contentsOf: bindings(for: type, index: &index, name: name, owner: owner, isOptional: isOptional))
143+
result.append(
144+
contentsOf: bindings(
145+
for: type,
146+
index: &index,
147+
name: name,
148+
owner: owner,
149+
isOptional: isOptional
150+
)
151+
)
144152
case .model(let model):
145153
for field in model.fields.values {
146-
result.append(contentsOf: bindings(for: field.type, index: &index, name: field.name, owner: "input", isOptional: isOptional))
154+
result.append(
155+
contentsOf: bindings(
156+
for: field.type,
157+
index: &index,
158+
name: field.name,
159+
owner: "input",
160+
isOptional: isOptional
161+
)
162+
)
147163
}
148164
case .array(let values):
149165
result.append(.arrayStart(name: name ?? "input", elementName: "element"))
150166
result.append(contentsOf: bindings(for: values, index: &index, owner: "element"))
151167
result.append(.arrayEnd)
152168
case .encoded(let storage, _, let adapter):
153-
result.append(.value(index: index, name: name ?? "input", owner: owner, isOptional: isOptional, adapter: (adapter, typeName(for: storage))))
169+
result.append(
170+
.value(
171+
index: index,
172+
name: name ?? "input",
173+
owner: owner,
174+
isOptional: isOptional,
175+
adapter: (adapter, typeName(for: storage))
176+
)
177+
)
154178
index += 1
155179
}
156180

@@ -346,7 +370,13 @@ public struct GeneratedQuery {
346370
let bindings: [Binding]
347371

348372
public enum Binding {
349-
case value(index: Int, name: String, owner: String? = nil, isOptional: Bool = false, adapter: (name: String, storage: String)? = nil)
373+
case value(
374+
index: Int,
375+
name: String,
376+
owner: String? = nil,
377+
isOptional: Bool = false,
378+
adapter: (name: String, storage: String)? = nil
379+
)
350380
case arrayStart(name: String, elementName: String)
351381
case arrayEnd
352382
}

Sources/Compiler/Gen/SwiftLanguage.swift

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -486,19 +486,22 @@ public struct SwiftLanguage: Language {
486486
switch field.type {
487487
case .builtin, .optional(.builtin):
488488
writer.write("row.value(at: start + ", index.description, ")")
489-
case .model:
489+
index += 1
490+
case let .model(model):
490491
writer.write("row.embedded(at: start + ", index.description, ")")
491-
case .optional(.model):
492+
index += model.fields.count
493+
case let .optional(.model(model)):
492494
writer.write("row.optionallyEmbedded(at: start + ", index.description, ")")
495+
index += model.fields.count
493496
case let .encoded(storage, _, adapter):
494497
writer.write("row.value(at: start + ", index.description, ", using: ", adapter, ".self, storage: ", typeName(for: storage), ".self)")
498+
index += 1
495499
case let .optional(.encoded(storage, _, adapter)):
496500
writer.write("row.optionalValue(at: start + ", index.description, ", using: ", adapter, ".self, storage: ", typeName(for: storage), ".self)")
501+
index += 1
497502
default:
498503
fatalError("Invalid field type \(field.typeName) \(field.type)")
499504
}
500-
501-
index += 1
502505
}
503506
writer.unindent()
504507

Sources/Otter/Statement.swift

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,6 @@ public struct Statement: ~Copyable {
127127
}
128128

129129
deinit {
130-
do {
131-
try throwing(sqlite3_finalize(raw))
132-
} catch {
133-
fatalError("Failed to finalize statement: \(error)")
134-
}
130+
sqlite3_finalize(raw)
135131
}
136132
}

0 commit comments

Comments
 (0)