--- name: rewrite_rule kind: function lang: go domain: core version: "1.0.0" purity: pure signature: "func RewriteRule(rule, jsonColumn string) string" description: "Reescribe campos bare en una expresion SQL a llamadas json_extract sobre una columna JSON de SQLite." tags: [sql, json, sqlite, rewrite, assertion, pendiente-usar] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "" imports: ["regexp"] params: - name: rule desc: "expresión SQL con campos bare (sin prefijo) a reescribir como json_extract" - name: jsonColumn desc: "nombre de la columna JSON donde extraer los valores" output: "expresión SQL reescrita con json_extract para cada campo bare" tested: false tests: [] test_file_path: "" file_path: "functions/core/rewrite_rule.go" --- ## Ejemplo ```go out := RewriteRule("price > 100 AND status IS NOT NULL", "metadata") // out = "json_extract(metadata, '$.price') > 100 AND json_extract(metadata, '$.status') IS NOT NULL" // Si ya tiene json_extract, no modifica nada out = RewriteRule("json_extract(data, '$.x') > 0", "data") // out = "json_extract(data, '$.x') > 0" ``` ## Notas Funcion pura. Preserva keywords SQL y funciones SQLite conocidas. Util para construir queries dinamicas sobre columnas JSON en SQLite sin que el usuario tenga que escribir json_extract manualmente.