|
20 | 20 | "cell_type": "code", |
21 | 21 | "execution_count": null, |
22 | 22 | "id": "ad470f25", |
23 | | - "metadata": { |
24 | | - "time_run": "2026-02-03T16:40:21.589715+00:00" |
25 | | - }, |
| 23 | + "metadata": {}, |
26 | 24 | "outputs": [], |
27 | 25 | "source": [ |
28 | 26 | "from fastcore.test import *\n", |
|
36 | 34 | "id": "e4788661", |
37 | 35 | "metadata": {}, |
38 | 36 | "source": [ |
39 | | - "Note: Make sure to use fastsql's `database()` here" |
| 37 | + "Note: Make sure to use fastsql's `database()` here with a file path if you want to test thread safety as it is not supported with `:memory:`" |
40 | 38 | ] |
41 | 39 | }, |
42 | 40 | { |
43 | 41 | "cell_type": "code", |
44 | 42 | "execution_count": null, |
45 | 43 | "id": "97dd1b48", |
46 | | - "metadata": { |
47 | | - "time_run": "2026-02-03T16:40:21.668414+00:00" |
48 | | - }, |
| 44 | + "metadata": {}, |
49 | 45 | "outputs": [], |
50 | 46 | "source": [ |
51 | 47 | "dbp = Path('/tmp/data.db')\n", |
|
56 | 52 | "cell_type": "code", |
57 | 53 | "execution_count": null, |
58 | 54 | "id": "5102a3ac", |
59 | | - "metadata": { |
60 | | - "time_run": "2026-02-03T16:40:21.699993+00:00" |
61 | | - }, |
| 55 | + "metadata": {}, |
62 | 56 | "outputs": [], |
63 | 57 | "source": [ |
64 | 58 | "class People: id: int; name: str" |
|
68 | 62 | "cell_type": "code", |
69 | 63 | "execution_count": null, |
70 | 64 | "id": "9188c149", |
71 | | - "metadata": { |
72 | | - "time_run": "2026-02-03T16:40:21.723183+00:00" |
73 | | - }, |
| 65 | + "metadata": {}, |
74 | 66 | "outputs": [], |
75 | 67 | "source": [ |
76 | 68 | "people = db.create(People, pk='id')" |
|
112 | 104 | "cell_type": "code", |
113 | 105 | "execution_count": null, |
114 | 106 | "id": "fba0c4f7", |
115 | | - "metadata": { |
116 | | - "time_run": "2026-02-03T16:40:21.746426+00:00" |
117 | | - }, |
| 107 | + "metadata": {}, |
118 | 108 | "outputs": [ |
119 | 109 | { |
120 | 110 | "data": { |
121 | 111 | "text/plain": [ |
122 | 112 | "{}" |
123 | 113 | ] |
124 | 114 | }, |
125 | | - "execution_count": 0, |
| 115 | + "execution_count": null, |
126 | 116 | "metadata": {}, |
127 | 117 | "output_type": "execute_result" |
128 | 118 | } |
|
143 | 133 | "cell_type": "code", |
144 | 134 | "execution_count": null, |
145 | 135 | "id": "ace59c88", |
146 | | - "metadata": { |
147 | | - "time_run": "2026-02-03T16:40:21.770290+00:00" |
148 | | - }, |
| 136 | + "metadata": {}, |
149 | 137 | "outputs": [], |
150 | 138 | "source": [ |
151 | 139 | "count = people.count\n", |
|
165 | 153 | "cell_type": "code", |
166 | 154 | "execution_count": null, |
167 | 155 | "id": "a93ec70a", |
168 | | - "metadata": { |
169 | | - "time_run": "2026-02-03T16:40:21.793344+00:00" |
170 | | - }, |
| 156 | + "metadata": {}, |
171 | 157 | "outputs": [], |
172 | 158 | "source": [ |
173 | 159 | "count = people.count\n", |
|
179 | 165 | "cell_type": "code", |
180 | 166 | "execution_count": null, |
181 | 167 | "id": "79cd5186", |
182 | | - "metadata": { |
183 | | - "time_run": "2026-02-03T16:40:21.816115+00:00" |
184 | | - }, |
| 168 | + "metadata": {}, |
185 | 169 | "outputs": [], |
186 | 170 | "source": [ |
187 | 171 | "# Test empty dataclass doesn't change anything\n", |
|
195 | 179 | "cell_type": "code", |
196 | 180 | "execution_count": null, |
197 | 181 | "id": "aa988175", |
198 | | - "metadata": { |
199 | | - "time_run": "2026-02-03T16:40:21.839438+00:00" |
200 | | - }, |
| 182 | + "metadata": {}, |
201 | 183 | "outputs": [], |
202 | 184 | "source": [ |
203 | 185 | "# Test empty class instance doesn't change anything\n", |
|
227 | 209 | "cell_type": "code", |
228 | 210 | "execution_count": null, |
229 | 211 | "id": "1fdd0aaf", |
230 | | - "metadata": { |
231 | | - "time_run": "2026-02-03T16:40:21.862582+00:00" |
232 | | - }, |
| 212 | + "metadata": {}, |
233 | 213 | "outputs": [ |
234 | 214 | { |
235 | 215 | "name": "stdout", |
|
256 | 236 | "cell_type": "code", |
257 | 237 | "execution_count": null, |
258 | 238 | "id": "de73d39a", |
259 | | - "metadata": { |
260 | | - "time_run": "2026-02-03T16:40:22.008688+00:00" |
261 | | - }, |
| 239 | + "metadata": {}, |
262 | 240 | "outputs": [], |
263 | 241 | "source": [ |
264 | 242 | "person = people.upsert(People(name='Alice', id=people.count+1))" |
|
276 | 254 | "cell_type": "code", |
277 | 255 | "execution_count": null, |
278 | 256 | "id": "c736aa0f", |
279 | | - "metadata": { |
280 | | - "time_run": "2026-02-03T16:40:22.009770+00:00" |
281 | | - }, |
| 257 | + "metadata": {}, |
282 | 258 | "outputs": [], |
283 | 259 | "source": [ |
284 | 260 | "assert people.upsert(People(name='Bobba', id=person.id)).name == 'Bobba'" |
|
296 | 272 | "cell_type": "code", |
297 | 273 | "execution_count": null, |
298 | 274 | "id": "dd80748f", |
299 | | - "metadata": { |
300 | | - "time_run": "2026-02-03T16:40:22.032902+00:00" |
301 | | - }, |
| 275 | + "metadata": {}, |
302 | 276 | "outputs": [], |
303 | 277 | "source": [ |
304 | 278 | "count = people.count\n", |
|
323 | 297 | "cell_type": "code", |
324 | 298 | "execution_count": null, |
325 | 299 | "id": "cfd90ab0", |
326 | | - "metadata": { |
327 | | - "time_run": "2026-02-03T16:40:22.056995+00:00" |
328 | | - }, |
| 300 | + "metadata": {}, |
329 | 301 | "outputs": [], |
330 | 302 | "source": [ |
331 | 303 | "count = people.count\n", |
|
357 | 329 | "cell_type": "code", |
358 | 330 | "execution_count": null, |
359 | 331 | "id": "5a968d13", |
360 | | - "metadata": { |
361 | | - "time_run": "2026-02-03T16:40:22.080927+00:00" |
362 | | - }, |
| 332 | + "metadata": {}, |
363 | 333 | "outputs": [], |
364 | 334 | "source": [ |
365 | 335 | "result = people.upsert(People(name=None, id=person.id))\n", |
|
379 | 349 | "cell_type": "code", |
380 | 350 | "execution_count": null, |
381 | 351 | "id": "92d53608", |
382 | | - "metadata": { |
383 | | - "time_run": "2026-02-03T16:40:22.104860+00:00" |
384 | | - }, |
| 352 | + "metadata": {}, |
385 | 353 | "outputs": [], |
386 | 354 | "source": [ |
387 | 355 | "result = people.upsert(People(name='', id=person.id))\n", |
|
409 | 377 | "cell_type": "code", |
410 | 378 | "execution_count": null, |
411 | 379 | "id": "972bab86", |
412 | | - "metadata": { |
413 | | - "time_run": "2026-02-03T16:40:22.129748+00:00" |
414 | | - }, |
| 380 | + "metadata": {}, |
415 | 381 | "outputs": [], |
416 | 382 | "source": [ |
417 | 383 | "assert people.upsert(People(name='O\\'Connor', id=person.id)).name == \"O'Connor\"\n", |
|
432 | 398 | "cell_type": "code", |
433 | 399 | "execution_count": null, |
434 | 400 | "id": "2b702435", |
435 | | - "metadata": { |
436 | | - "time_run": "2026-02-03T16:40:22.154682+00:00" |
437 | | - }, |
| 401 | + "metadata": {}, |
438 | 402 | "outputs": [], |
439 | 403 | "source": [ |
440 | 404 | "person = people.upsert(People(name='O\\'Connor', id=people.count+1))\n", |
|
457 | 421 | "cell_type": "code", |
458 | 422 | "execution_count": null, |
459 | 423 | "id": "45a4c2aa", |
460 | | - "metadata": { |
461 | | - "time_run": "2026-02-03T16:40:22.179210+00:00" |
462 | | - }, |
| 424 | + "metadata": {}, |
463 | 425 | "outputs": [], |
464 | 426 | "source": [ |
465 | 427 | "assert people.upsert({'name': 'Dict Test', 'id': person.id}).name == 'Dict Test'" |
|
469 | 431 | "cell_type": "code", |
470 | 432 | "execution_count": null, |
471 | 433 | "id": "a76aec1a", |
472 | | - "metadata": { |
473 | | - "time_run": "2026-02-03T16:40:22.202049+00:00" |
474 | | - }, |
| 434 | + "metadata": {}, |
475 | 435 | "outputs": [], |
476 | 436 | "source": [ |
477 | 437 | "test_fail(people.upsert, kwargs=dict(name='Extra', age=25, title='Dr', id=person.id), exc=CompileError)" |
|
502 | 462 | "cell_type": "code", |
503 | 463 | "execution_count": null, |
504 | 464 | "id": "e506809f", |
505 | | - "metadata": { |
506 | | - "time_run": "2026-02-03T16:40:24.135651+00:00" |
507 | | - }, |
| 465 | + "metadata": {}, |
508 | 466 | "outputs": [], |
509 | 467 | "source": [ |
510 | 468 | "# Cleanup\n", |
511 | 469 | "dbp.unlink(missing_ok=True)" |
512 | 470 | ] |
513 | 471 | } |
514 | 472 | ], |
515 | | - "metadata": { |
516 | | - "solveit_dialog_mode": "learning", |
517 | | - "solveit_ver": 2 |
518 | | - }, |
| 473 | + "metadata": {}, |
519 | 474 | "nbformat": 4, |
520 | 475 | "nbformat_minor": 5 |
521 | 476 | } |
0 commit comments