1020 Commits

Author SHA1 Message Date
Charles Leifer f500e93045 Support relationships / nesting with pydantic. 2026-03-14 14:33:40 -05:00
Charles Leifer 58d43876a0 Test task id behavior across coroutines and tasks. 2026-03-13 10:47:30 -05:00
Charles Leifer f4151daf98 Add test for abandoned connections 2026-03-12 21:09:55 -05:00
Charles Leifer 6b808f056c Does this resolve the test issue? 2026-03-12 17:38:39 -05:00
Charles Leifer 5f27531a61 Validation works on dict 2026-03-12 14:15:28 -05:00
Charles Leifer c6c3d6daac Ensure conversion from peewee <-> pydantic 2026-03-12 13:56:17 -05:00
Charles Leifer baa8cb27b9 Add first-cut for generating Pydantic model from Peewee model. 2026-03-12 13:02:51 -05:00
Charles Leifer d2868194d3 New and improved art 2026-03-12 12:34:15 -05:00
Charles Leifer 5ad08999ad Improvements to BinaryJSONField - remove() subelements, length, extract. 2026-03-11 22:30:10 -05:00
Charles Leifer 58ba089af4 Add support for jsonb remove on a sub-path.
Equivalent to BinaryJSONField.remove(p1, p2)
2026-03-11 21:56:27 -05:00
Charles Leifer 52bb6c92f4 Add connection pool for aiosqlite and document usage/behavior.
Also fix up a couple lifecycle tests
2026-03-11 12:51:01 -05:00
Charles Leifer 6e0f58415d Better freeze/thaw for binary & datetimes in DataSet.
New default format for binary is hex, though b64 is available by passing
base64_bytes=True.
2026-03-11 09:38:13 -05:00
Charles Leifer 78e3f210f2 Async test cleanup, additional assertions 2026-03-10 21:58:25 -05:00
Charles Leifer 3de8a0354c Cleaning up tests, pg txn helper. 2026-03-10 16:59:59 -05:00
Charles Leifer 1c98393645 Slight change to pop txn before commit/rollback in atomic/transaction. 2026-03-10 14:13:30 -05:00
Charles Leifer ea72e8b352 Respect the selected db engine when running async tests 2026-03-10 10:44:23 -05:00
Charles Leifer f1cdd0556c The big test cleanup. 2026-03-10 10:24:02 -05:00
Charles Leifer 971f18589f Fix flaky test...again 2026-03-09 20:23:44 -05:00
Charles Leifer b2ca1578a0 Avoid leaky state in test 2026-03-09 19:03:08 -05:00
Charles Leifer 5b1ceb0728 Fix a couple unquoted string interpolations in migrate. 2026-03-09 19:00:48 -05:00
Charles Leifer 56173ffddb Cleanup some dead code in async impl, few additional tests 2026-03-09 18:44:37 -05:00
Charles Leifer 58de374fa9 Use barriers elsewhere instead of signal + timeout. 2026-03-09 15:20:59 -05:00
Charles Leifer 1da73d8a1a Clean up waiting logic & synchronization in connection pool.
Add tests for a missing behaviors/logic.
2026-03-09 15:01:27 -05:00
Charles Leifer ac959db5b4 Remove Python 2.x compatibility code. So long, old friend. 2026-03-09 10:39:07 -05:00
Charles Leifer de301aa8ef Compat w/newer crdb 2026-03-03 11:24:47 -06:00
Charles Leifer a77f02d1c0 Add back support for customizing json dumps w/postgres.
Fixes #3032
2026-02-28 20:10:43 -06:00
Charles Leifer b5f41392d2 Improve conversion of selected SQLite JSON data. 2026-02-25 13:00:31 -06:00
Charles Leifer b221d20302 Fix array slicing in postgres. 2026-02-24 13:00:37 -06:00
Charles Leifer 2a8d977855 Get rid of SqliteExt* - it basically did nothing. 2026-02-23 15:26:14 -06:00
Charles Leifer 99f27be9b8 Go through the models & fields doc. Add a Default() helper. 2026-02-20 22:30:16 -06:00
Charles Leifer 930f769979 Database docs also cleaned up postgres isolation level handling. 2026-02-20 18:35:23 -06:00
Charles Leifer de731b7977 Ensure contextvars accessible in sync code. 2026-02-20 11:42:53 -06:00
Charles Leifer e77ce320a1 Cleaner compat fixes for old python 2026-02-20 10:53:26 -06:00
Charles Leifer 18c8e24671 Remove (very niche) sqlite closure-table extension. 2026-02-16 17:29:54 -06:00
Charles Leifer f62a41a57d Cleanup and normalize postgres JSON handling.
Prefer the driver-provided wrappers, e.g. psycopg.types.json.* as these
can help when binding and eliminate need for casts. psycopg2 still needs
a cast, so unfortunately I've had to parameterize the to_value()
method...but whatever, it's better than it was.
2026-02-16 16:53:36 -06:00
Charles Leifer 9eb73c7973 Few cleanups to server-side cursor stuff. 2026-02-15 22:15:02 -06:00
Charles Leifer a215702e35 More test and import cleanup re: psycopg3 2026-02-15 21:55:07 -06:00
Charles Leifer f56cb40c87 Unify psycopg2 & psycopg3 handling in Postgresql db classes. 2026-02-15 21:07:01 -06:00
Charles Leifer 6e5bb99026 Allow PostgresqlDatabase to work with psycopg3.
If both psycopg2 and psycopg3 are installed, Peewee will prefer psycopg2
unless `prefer_psycopg3=True` is specified in the constructor.
2026-02-15 18:52:54 -06:00
Charles Leifer 4d1c595f1b Use cysqlite in tests if engine is selected. 2026-02-10 14:15:26 -06:00
Charles Leifer 84506fd77a Use cysqlite for in-memory when cysqlite is backend. 2026-02-10 08:17:21 -06:00
Charles Leifer 7fea50f83f Run sqlite_ext tests against cysqlite if available. 2026-02-08 19:38:49 -06:00
Charles Leifer 5028ce6e65 Move references to TableFunction into cysqlite doc. 2026-02-06 11:09:52 -06:00
Charles Leifer 1aeef460a4 SIGNIFICANT: remove playhouse._sqlite_ext.
C implementations of ranking functions are moved to _sqlite_udf.
Capabilites exclusive to the CSqliteExtDatabase implementation are being
migrated over to cysqlite_ext.CySqliteDatabase, which supports them
natively without relying on hacks.
2026-02-06 10:37:08 -06:00
Charles Leifer f5755cb50e Remove bloomfilter and some other cruft, begin pruning. 2026-02-05 21:52:35 -06:00
Charles Leifer e456865da4 Add a dirty_field_names attribute to model class. 2026-02-05 09:55:25 -06:00
Charles Leifer 38d637a5f2 Add support for utc offset and new sqlite-specific ISODateTimeField. 2026-02-04 10:39:23 -06:00
Charles Leifer 8d099aaa9b Rename cysqlite test module to more appropriate csqlite_ext. 2026-01-30 16:59:42 -06:00
Charles Leifer 10eaf2f6e3 Add initial cysqlite support, also annotate a couple tests 2026-01-30 16:51:57 -06:00
Charles Leifer 84f3371b55 Add option to specify NULLS DISTINCT / NULLS NOT DISTINCT
Refs #3024
2026-01-23 16:47:57 -06:00