@@ -92,14 +92,9 @@ public struct Statement: ~Copyable {
9292// MARK: - Fetch with RowDecodable
9393
9494extension Statement {
95- /// Fetches all rows returned by the statement
96- public consuming func fetchAll< Element: RowDecodable > ( ) throws ( OtterError) -> [ Element ] {
97- return try fetchAll ( of: Element . self)
98- }
99-
10095 /// Fetches all rows returned by the statement
10196 public consuming func fetchAll< Element: RowDecodable > (
102- of _: Element . Type
97+ of _: Element . Type = Element . self
10398 ) throws ( OtterError) -> [ Element ] {
10499 var cursor = Cursor < Element > ( of: self )
105100 var result : [ Element ] = [ ]
@@ -110,25 +105,10 @@ extension Statement {
110105
111106 return result
112107 }
113-
114- /// Optionally fetches a single row returned by the statement
115- public consuming func fetchOne< Element: RowDecodable > ( ) throws ( OtterError) -> Element ? {
116- return try fetchOne ( of: Element . self)
117- }
118-
119- /// Fetches a single row returned by the statement
120- @_disfavoredOverload
121- public consuming func fetchOne< Element: RowDecodable > ( ) throws ( OtterError) -> Element {
122- guard let row = try fetchOne ( of: Element . self) else {
123- throw OtterError . queryReturnedNoValue
124- }
125-
126- return row
127- }
128-
108+
129109 /// Fetches a single row returned by the statement
130110 public consuming func fetchOne< Element: RowDecodable > (
131- of _: Element . Type
111+ of _: Element . Type = Element . self
132112 ) throws ( OtterError) -> Element ? {
133113 var cursor = Cursor < Element > ( of: self )
134114 return try cursor. next ( )
@@ -140,14 +120,7 @@ extension Statement {
140120extension Statement {
141121 /// Fetches all rows returned by the statement
142122 public consuming func fetchAll< Element: RowDecodableWithAdapters > (
143- adapters: Element . Adapters
144- ) throws ( OtterError) -> [ Element ] {
145- return try fetchAll ( of: Element . self, adapters: adapters)
146- }
147-
148- /// Fetches all rows returned by the statement
149- public consuming func fetchAll< Element: RowDecodableWithAdapters > (
150- of _: Element . Type ,
123+ of _: Element . Type = Element . self,
151124 adapters: Element . Adapters
152125 ) throws ( OtterError) -> [ Element ] {
153126 var cursor = Cursor < Element > ( of: self )
@@ -159,29 +132,10 @@ extension Statement {
159132
160133 return result
161134 }
162-
163- /// Optionally fetches a single row returned by the statement
164- public consuming func fetchOne< Element: RowDecodableWithAdapters > (
165- adapters: Element . Adapters
166- ) throws ( OtterError) -> Element ? {
167- return try fetchOne ( of: Element . self, adapters: adapters)
168- }
169-
170- /// Fetches a single row returned by the statement
171- @_disfavoredOverload
172- public consuming func fetchOne< Element: RowDecodableWithAdapters > (
173- adapters: Element . Adapters
174- ) throws ( OtterError) -> Element {
175- guard let row = try fetchOne ( of: Element . self, adapters: adapters) else {
176- throw OtterError . queryReturnedNoValue
177- }
178-
179- return row
180- }
181-
135+
182136 /// Fetches a single row returned by the statement
183137 public consuming func fetchOne< Element: RowDecodableWithAdapters > (
184- of _: Element . Type ,
138+ of _: Element . Type = Element . self ,
185139 adapters: Element . Adapters
186140 ) throws ( OtterError) -> Element ? {
187141 var cursor = Cursor < Element > ( of: self )
@@ -194,15 +148,7 @@ extension Statement {
194148extension Statement {
195149 /// Fetches all rows returned by the statement
196150 public consuming func fetchAll< Adapter: DatabaseValueAdapter , Storage: DatabasePrimitive > (
197- adapter: Adapter ,
198- storage: Storage . Type
199- ) throws ( OtterError) -> [ Adapter . Value ] {
200- return try fetchAll ( of: Adapter . Value. self, adapter: adapter, storage: storage)
201- }
202-
203- /// Fetches all rows returned by the statement
204- public consuming func fetchAll< Adapter: DatabaseValueAdapter , Storage: DatabasePrimitive > (
205- of _: Adapter . Value . Type ,
151+ of _: Adapter . Value . Type = Adapter . Value. self,
206152 adapter: Adapter ,
207153 storage: Storage . Type
208154 ) throws ( OtterError) -> [ Adapter . Value ] {
@@ -215,22 +161,10 @@ extension Statement {
215161
216162 return result
217163 }
218-
219- /// Fetches a single row returned by the statement
220- @_disfavoredOverload
221- public consuming func fetchOne< Adapter: DatabaseValueAdapter , Storage: DatabasePrimitive > (
222- adapter: Adapter ,
223- storage: Storage . Type
224- ) throws ( OtterError) -> Adapter . Value {
225- guard let row = try fetchOne ( adapter: adapter, storage: storage) else {
226- throw OtterError . queryReturnedNoValue
227- }
228-
229- return row
230- }
231164
232165 /// Fetches a single row returned by the statement
233166 public consuming func fetchOne< Adapter: DatabaseValueAdapter , Storage: DatabasePrimitive > (
167+ of _: Adapter . Value . Type = Adapter . Value. self,
234168 adapter: Adapter ,
235169 storage: Storage . Type
236170 ) throws ( OtterError) -> Adapter . Value ? {
0 commit comments