4970 Commits

Author SHA1 Message Date
Charles Leifer 8ed29c0e47 Clean up window aliasing, add some test coverage that was missing. 2026-03-17 18:37:46 -05:00
Charles Leifer 6f8fd5a67a Deduplication and ensuring valid identifiers in cursor wrappers.
Also increase coverage on some of these where it was missing.
2026-03-17 10:14:51 -05:00
Charles Leifer f58c096d52 Avoid .get() for instance value lookup and fall-thru to keyerror 2026-03-17 07:29:31 -05:00
Charles Leifer 6dc705288d Couple very small perf improvements in model construction / querying 2026-03-17 07:01:15 -05:00
Charles Leifer cff004942a Test to ensure dict first result wins 2026-03-17 06:34:18 -05:00
Charles Leifer 3728d7da3e Pre-compute expensive graph reachability in process-row.
Couple other small optimizations to reduce python operations too.
2026-03-16 22:51:11 -05:00
Charles Leifer a7c6cb7c5d Better-behaved FOR UPDATE, correctly handle skip locked + of. 2026-03-16 22:33:12 -05:00
Charles Leifer b5353a33c8 Fix join graph resolution when intermediary models are empty/null.
This resolves a kinda long-standing ambiguity when you select across
joins using left outer and the models further out may be all null, or
only the intermediary ones may be.
2026-03-16 18:34:49 -05:00
Charles Leifer e031a55b42 Only do pk lookup when we have an auto-field in get().
Also correct ManyToMany docs to show proper default for clear_existing=.
2026-03-16 08:09:40 -05:00
Charles Leifer fa3b3b8e89 Add some missing examples to api doc. 2026-03-16 08:02:45 -05:00
Charles Leifer aa59f6e036 Ensure avoid SQLi in timezone, add'l tests.
Also add docs to ModelSelect that were present (slightly different) on
the base Select query. Since the modelselect variants do not accept a
`database` parameter, document these separately to avoid confusion.
2026-03-15 21:49:34 -05:00
Charles Leifer 668baa9eab Allow table constraint test to run on mysql again. 2026-03-15 21:07:19 -05:00
Charles Leifer 0407f59b80 Fix alias-manager not clearing context - harmless but fixed. 2026-03-15 20:48:05 -05:00
Charles Leifer 7c43127ba1 Only specify no default values flag for models, not joining dicts.
Also fixes failing test, pg wants boolean expression.
2026-03-15 19:59:12 -05:00
Charles Leifer 40091beade Ensure bitwise negation is supported on bitfield. 2026-03-15 16:00:49 -05:00
Charles Leifer 3b86345dbb Ensure fk to bigauto uses bigint.
Previously BigAuto was not a subclass, when it changed this check needed
to change, too.
2026-03-15 15:51:03 -05:00
Charles Leifer a285042db7 4.0.2 4.0.2 2026-03-15 10:45:07 -05:00
Charles Leifer e7b3091681 More idiomatic usage in doc examples. 2026-03-15 10:35:43 -05:00
Charles Leifer 7f85343a7b Fix misnamed method in examples. 2026-03-15 10:34:11 -05:00
Charles Leifer c505a13523 Update flaky tests that were relying on async callback ordering. 2026-03-14 22:07:47 -05:00
Charles Leifer 90d469127c Small cleanups to pydantic doc. 2026-03-14 21:55:53 -05:00
Charles Leifer 2ee08ef930 Attempt fix for hung cursors w/postgres in tests. 2026-03-14 21:47:21 -05:00
Charles Leifer e87d2ad960 Doc cleanups 2026-03-14 21:37:43 -05:00
Charles Leifer afb6d8bbce Add additional server-side cursor concurrency test. 2026-03-14 17:11:40 -05:00
Charles Leifer 2f0b39106d Update changelog as well.
[skip ci]
2026-03-14 16:40:15 -05:00
Charles Leifer 3cf0b6556f Update readme/doc index to mention pydantic integration.
[skip ci]
2026-03-14 16:37:28 -05:00
Charles Leifer e84099273e Rewrite tasklocal 2026-03-14 16:33:02 -05:00
Charles Leifer f500e93045 Support relationships / nesting with pydantic. 2026-03-14 14:33:40 -05:00
Charles Leifer d24afbcc03 Slight cleanup to fastapi doc.
[skip ci]
2026-03-13 20:09:35 -05:00
Charles Leifer 3a061d331e Fixup docs, expand flask section as well. 2026-03-13 16:03:57 -05:00
Charles Leifer 92f335c7a7 Clean up fastapi framework integration doc. 2026-03-13 15:48:10 -05:00
Charles Leifer ea6cb2e0c9 Update framework integration doc. 2026-03-13 14:41:25 -05:00
Charles Leifer 58d43876a0 Test task id behavior across coroutines and tasks. 2026-03-13 10:47:30 -05:00
Charles Leifer 288c83c672 Add additional doc on fastapi usage. 2026-03-12 21:54:42 -05:00
Charles Leifer f4151daf98 Add test for abandoned connections 2026-03-12 21:09:55 -05:00
Charles Leifer 38c55cb293 Better cleanup of orphaned connections. 2026-03-12 20:59:42 -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 f41b31349d Run tests against pydantic stuff. 2026-03-12 13:03:30 -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 9c26642948 Reord doc on json support
[skip ci]
2026-03-11 22:34:39 -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 a099f10718 Add mapping of field type -> py type. 2026-03-11 18:34: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 66990b5779 Remove unnecessary row hook. 2026-03-11 09:53:09 -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 1130dca335 Docs for some of the new async methods & helpers
[skip ci]
2026-03-10 22:16:07 -05:00