SQL 안에서 Python 호출
SQLite 가 SQL 에서 호출 가능한 Python 함수 등록 허용. 엔진 안의 진짜 first-class 함수 — WHERE, SELECT list, 인덱스, trigger 에서 사용 가능. 주요 API 둘:
conn.create_function(name, n_args, callable, deterministic=False)— scalar 함수 (한 row in, 한 row out).conn.create_aggregate(name, n_args, AggregateClass)— 집계 (여러 row in, 한 값 out).
Use case: regex 매칭 (regex extension 없을 때), 도메인-specific 스코어링 함수, JSON1 보다 Python 이 더 잘하는 JSON 조작, custom 비교 함수.
Warning: Python-side 함수가 호출마다 C/Python 경계 cross. SQL 기준 느림. 정확성 > 처리량일 때 — 백만 row hot loop 에서 X.