v0.0.25¶
Fixes¶
lythonic.state: aNonefilter value now means NULL. Previously it bound as= NULL/!= NULL, which never matches, soselect,select_count,exists,updateanddeletesilently returned nothing for nullable columns. All five shareDbModel._prepare_where, which now emits:field IS NULLforfield=Nonefield IS NOT NULLforne__field=None(field IN (...) OR field IS NULL)for a list containingNoneValueErrorforgt,lt,gteorltewithNone, since a comparison with NULL is never true
This is a behaviour change: queries that returned nothing now return the NULL
or non-NULL rows, and ordering filters with None now raise.
- lythonic.state: the filter operator is a prefix. The suffix form
(instrument__ne) now raises a ValueError pointing to ne__instrument
instead of Unknown filter operator: instrument, and error messages print
filters in prefix form.
Documentation¶
- "Portable data type" names the family
FrameData,ExposureMatrix,SymmetricMatrixandKeyedVector, which is now listed as one feature in the README. The how-to pageschoose-a-keyed-typeandcompose-keyed-typesare renamed tochoose-a-portable-typeandcompose-portable-types. - The domain glossary
CONTEXT.mdis renamed toGLOSSARY.md, and the agent-skill configuration underdocs/agents/is refreshed.
Decisions and tickets¶
Closed tickets:
-
11 state: a None filter silently matches nothing; need IS NULL support in select¶