Port NULL handling across Oracle, SQL Server, MySQL and SQLite by fixing four portability points: how a NULL is tested, what a comparison against NULL returns, whether boolean contexts coerce NULL, and what an empty string means. Oracle treats a zero-length character as null but warns this may change, while SQL Server depends on ANSI_NULLS, MySQL returns NULL for comparisons and coerces 0 and NULL to false in boolean contexts, and SQLite's IS and IS NOT are an extension.
SQL portability / NULL handling / Oracle / SQL Server / MySQL / SQLite / empty string / ANSI_NULLS
Understand IS NULL, three-valued logic and the difference between COUNT(*) and COUNT(column).
SQL / PostgreSQL / NULL
The json module handles only a fixed set of Python types. To serialize complex numbers, dates, paths, or user-defined classes you must supply a default function or subclass JSONEncoder, then pair the output with object_hook on the decode side.
json / serialization / JSONEncoder / default / object_hook / python-standard-library / datetime / complex
Compare RESTRICT, CASCADE and SET NULL using a small isolated example, then check the actual constraint and dependent rows before changing real data.
PostgreSQL / SQL / Foreign keys / Transactions
A technical guide explaining why syntactically correct JSON from Large Language Models (LLMs) is insufficient for production systems and how JSON Schema provides the necessary structural and type guarantees.
LLM / JSON / JSON Schema / Data Validation / Software Engineering / Python