@@ -48,7 +48,7 @@ def foo(): ...
4848
4949 # NULL return value
5050 def foo () -> None : ...
51- assert to_sql (foo ) == '`foo`() RETURNS NULL'
51+ assert to_sql (foo ) == '`foo`() RETURNS TINYINT NULL'
5252
5353 # Simple return value
5454 def foo () -> int : ...
@@ -138,44 +138,44 @@ def foo(x) -> None: ...
138138
139139 # Simple parameter
140140 def foo (x : int ) -> None : ...
141- assert to_sql (foo ) == '`foo`(`x` BIGINT NOT NULL) RETURNS NULL'
141+ assert to_sql (foo ) == '`foo`(`x` BIGINT NOT NULL) RETURNS TINYINT NULL'
142142
143143 # Optional parameter
144144 def foo (x : Optional [int ]) -> None : ...
145- assert to_sql (foo ) == '`foo`(`x` BIGINT NULL) RETURNS NULL'
145+ assert to_sql (foo ) == '`foo`(`x` BIGINT NULL) RETURNS TINYINT NULL'
146146
147147 # Optional parameter
148148 def foo (x : Union [int , None ]) -> None : ...
149- assert to_sql (foo ) == '`foo`(`x` BIGINT NULL) RETURNS NULL'
149+ assert to_sql (foo ) == '`foo`(`x` BIGINT NULL) RETURNS TINYINT NULL'
150150
151151 # Optional multiple parameter types
152152 def foo (x : Union [int , float , None ]) -> None : ...
153- assert to_sql (foo ) == '`foo`(`x` DOUBLE NULL) RETURNS NULL'
153+ assert to_sql (foo ) == '`foo`(`x` DOUBLE NULL) RETURNS TINYINT NULL'
154154
155155 # Optional parameter with custom type
156156 def foo (x : Optional [B ]) -> None : ...
157- assert to_sql (foo ) == '`foo`(`x` DOUBLE NULL) RETURNS NULL'
157+ assert to_sql (foo ) == '`foo`(`x` DOUBLE NULL) RETURNS TINYINT NULL'
158158
159159 # Optional parameter with nested custom type
160160 def foo (x : Optional [C ]) -> None : ...
161- assert to_sql (foo ) == '`foo`(`x` DOUBLE NULL) RETURNS NULL'
161+ assert to_sql (foo ) == '`foo`(`x` DOUBLE NULL) RETURNS TINYINT NULL'
162162
163163 # Optional parameter with collection type
164164 def foo (x : Optional [List [str ]]) -> None : ...
165- assert to_sql (foo ) == '`foo`(`x` ARRAY(TEXT NOT NULL) NULL) RETURNS NULL'
165+ assert to_sql (foo ) == '`foo`(`x` ARRAY(TEXT NOT NULL) NULL) RETURNS TINYINT NULL'
166166
167167 # Optional parameter with nested collection type
168168 def foo (x : Optional [List [List [str ]]]) -> None : ...
169169 assert to_sql (foo ) == '`foo`(`x` ARRAY(ARRAY(TEXT NOT NULL) NOT NULL) NULL) ' \
170- 'RETURNS NULL'
170+ 'RETURNS TINYINT NULL'
171171
172172 # Optional parameter with collection type with nulls
173173 def foo (x : Optional [List [Optional [str ]]]) -> None : ...
174- assert to_sql (foo ) == '`foo`(`x` ARRAY(TEXT NULL) NULL) RETURNS NULL'
174+ assert to_sql (foo ) == '`foo`(`x` ARRAY(TEXT NULL) NULL) RETURNS TINYINT NULL'
175175
176176 # Custom type with bound
177177 def foo (x : D ) -> None : ...
178- assert to_sql (foo ) == '`foo`(`x` TEXT NOT NULL) RETURNS NULL'
178+ assert to_sql (foo ) == '`foo`(`x` TEXT NOT NULL) RETURNS TINYINT NULL'
179179
180180 # Incompatible types
181181 def foo (x : Union [int , str ]) -> None : ...
@@ -209,15 +209,15 @@ def test_datetimes(self):
209209
210210 # Datetime
211211 def foo (x : datetime .datetime ) -> None : ...
212- assert to_sql (foo ) == '`foo`(`x` DATETIME NOT NULL) RETURNS NULL'
212+ assert to_sql (foo ) == '`foo`(`x` DATETIME NOT NULL) RETURNS TINYINT NULL'
213213
214214 # Date
215215 def foo (x : datetime .date ) -> None : ...
216- assert to_sql (foo ) == '`foo`(`x` DATE NOT NULL) RETURNS NULL'
216+ assert to_sql (foo ) == '`foo`(`x` DATE NOT NULL) RETURNS TINYINT NULL'
217217
218218 # Time
219219 def foo (x : datetime .timedelta ) -> None : ...
220- assert to_sql (foo ) == '`foo`(`x` TIME NOT NULL) RETURNS NULL'
220+ assert to_sql (foo ) == '`foo`(`x` TIME NOT NULL) RETURNS TINYINT NULL'
221221
222222 # Datetime + Date
223223 def foo (x : Union [datetime .datetime , datetime .date ]) -> None : ...
@@ -229,75 +229,76 @@ def test_numerics(self):
229229 # Ints
230230 #
231231 def foo (x : int ) -> None : ...
232- assert to_sql (foo ) == '`foo`(`x` BIGINT NOT NULL) RETURNS NULL'
232+ assert to_sql (foo ) == '`foo`(`x` BIGINT NOT NULL) RETURNS TINYINT NULL'
233233
234234 def foo (x : np .int8 ) -> None : ...
235- assert to_sql (foo ) == '`foo`(`x` TINYINT NOT NULL) RETURNS NULL'
235+ assert to_sql (foo ) == '`foo`(`x` TINYINT NOT NULL) RETURNS TINYINT NULL'
236236
237237 def foo (x : np .int16 ) -> None : ...
238- assert to_sql (foo ) == '`foo`(`x` SMALLINT NOT NULL) RETURNS NULL'
238+ assert to_sql (foo ) == '`foo`(`x` SMALLINT NOT NULL) RETURNS TINYINT NULL'
239239
240240 def foo (x : np .int32 ) -> None : ...
241- assert to_sql (foo ) == '`foo`(`x` INT NOT NULL) RETURNS NULL'
241+ assert to_sql (foo ) == '`foo`(`x` INT NOT NULL) RETURNS TINYINT NULL'
242242
243243 def foo (x : np .int64 ) -> None : ...
244- assert to_sql (foo ) == '`foo`(`x` BIGINT NOT NULL) RETURNS NULL'
244+ assert to_sql (foo ) == '`foo`(`x` BIGINT NOT NULL) RETURNS TINYINT NULL'
245245
246246 #
247247 # Unsigned ints
248248 #
249249 def foo (x : np .uint8 ) -> None : ...
250- assert to_sql (foo ) == '`foo`(`x` TINYINT UNSIGNED NOT NULL) RETURNS NULL'
250+ assert to_sql (foo ) == '`foo`(`x` TINYINT UNSIGNED NOT NULL) RETURNS TINYINT NULL'
251251
252252 def foo (x : np .uint16 ) -> None : ...
253- assert to_sql (foo ) == '`foo`(`x` SMALLINT UNSIGNED NOT NULL) RETURNS NULL'
253+ assert to_sql (foo ) == '`foo`(`x` SMALLINT UNSIGNED NOT NULL) RETURNS TINYINT NULL'
254254
255255 def foo (x : np .uint32 ) -> None : ...
256- assert to_sql (foo ) == '`foo`(`x` INT UNSIGNED NOT NULL) RETURNS NULL'
256+ assert to_sql (foo ) == '`foo`(`x` INT UNSIGNED NOT NULL) RETURNS TINYINT NULL'
257257
258258 def foo (x : np .uint64 ) -> None : ...
259- assert to_sql (foo ) == '`foo`(`x` BIGINT UNSIGNED NOT NULL) RETURNS NULL'
259+ assert to_sql (foo ) == '`foo`(`x` BIGINT UNSIGNED NOT NULL) RETURNS TINYINT NULL'
260260
261261 #
262262 # Floats
263263 #
264264 def foo (x : float ) -> None : ...
265- assert to_sql (foo ) == '`foo`(`x` DOUBLE NOT NULL) RETURNS NULL'
265+ assert to_sql (foo ) == '`foo`(`x` DOUBLE NOT NULL) RETURNS TINYINT NULL'
266266
267267 def foo (x : np .float32 ) -> None : ...
268- assert to_sql (foo ) == '`foo`(`x` FLOAT NOT NULL) RETURNS NULL'
268+ assert to_sql (foo ) == '`foo`(`x` FLOAT NOT NULL) RETURNS TINYINT NULL'
269269
270270 def foo (x : np .float64 ) -> None : ...
271- assert to_sql (foo ) == '`foo`(`x` DOUBLE NOT NULL) RETURNS NULL'
271+ assert to_sql (foo ) == '`foo`(`x` DOUBLE NOT NULL) RETURNS TINYINT NULL'
272272
273273 #
274274 # Type collapsing
275275 #
276276 def foo (x : Union [np .int8 , np .int16 ]) -> None : ...
277- assert to_sql (foo ) == '`foo`(`x` SMALLINT NOT NULL) RETURNS NULL'
277+ assert to_sql (foo ) == '`foo`(`x` SMALLINT NOT NULL) RETURNS TINYINT NULL'
278278
279279 def foo (x : Union [np .int64 , np .double ]) -> None : ...
280- assert to_sql (foo ) == '`foo`(`x` DOUBLE NOT NULL) RETURNS NULL'
280+ assert to_sql (foo ) == '`foo`(`x` DOUBLE NOT NULL) RETURNS TINYINT NULL'
281281
282282 def foo (x : Union [int , float ]) -> None : ...
283- assert to_sql (foo ) == '`foo`(`x` DOUBLE NOT NULL) RETURNS NULL'
283+ assert to_sql (foo ) == '`foo`(`x` DOUBLE NOT NULL) RETURNS TINYINT NULL'
284284
285285 def test_positional_and_keyword_parameters (self ):
286286 # Keyword only
287287 def foo (x : int = 100 ) -> None : ...
288- assert to_sql (foo ) == '`foo`(`x` BIGINT NOT NULL DEFAULT 100) RETURNS NULL'
288+ assert to_sql (foo ) == \
289+ '`foo`(`x` BIGINT NOT NULL DEFAULT 100) RETURNS TINYINT NULL'
289290
290291 # Multiple keywords
291292 def foo (x : int = 100 , y : float = 3.14 ) -> None : ...
292293 assert to_sql (foo ) == '`foo`(`x` BIGINT NOT NULL DEFAULT 100, ' \
293- '`y` DOUBLE NOT NULL DEFAULT 3.14e0) RETURNS NULL'
294+ '`y` DOUBLE NOT NULL DEFAULT 3.14e0) RETURNS TINYINT NULL'
294295
295296 # Keywords and positional
296297 def foo (a : str , b : str , x : int = 100 , y : float = 3.14 ) -> None : ...
297298 assert to_sql (foo ) == '`foo`(`a` TEXT NOT NULL, ' \
298299 '`b` TEXT NOT NULL, ' \
299300 '`x` BIGINT NOT NULL DEFAULT 100, ' \
300- '`y` DOUBLE NOT NULL DEFAULT 3.14e0) RETURNS NULL'
301+ '`y` DOUBLE NOT NULL DEFAULT 3.14e0) RETURNS TINYINT NULL'
301302
302303 # Variable positional
303304 def foo (* args : int ) -> None : ...
0 commit comments