feat(slice3): persist entry metadata to cached_rfcs.meta_json at ingest (§22.4a)
This commit is contained in:
@@ -170,6 +170,10 @@ def _upsert_cached_rfc(
|
|||||||
# §6.7: funder_login mirrors the optional `funder:` frontmatter
|
# §6.7: funder_login mirrors the optional `funder:` frontmatter
|
||||||
# field. NULL means absent — operator credentials are used.
|
# field. NULL means absent — operator credentials are used.
|
||||||
funder_login = entry.funder or None
|
funder_login = entry.funder or None
|
||||||
|
# §22.4a SLICE-3: persist the full per-entry metadata mapping (known keys +
|
||||||
|
# extra, never the body) so facet/filter can read any declared field. Stored
|
||||||
|
# via metadata_dict so the sidecar's forward-compat keys (INV-7) ride along.
|
||||||
|
meta_json = json.dumps(metadata_mod.metadata_dict(entry))
|
||||||
db.conn().execute(
|
db.conn().execute(
|
||||||
"""
|
"""
|
||||||
INSERT INTO cached_rfcs
|
INSERT INTO cached_rfcs
|
||||||
@@ -177,8 +181,8 @@ def _upsert_cached_rfc(
|
|||||||
graduated_at, graduated_by, owners_json, arbiters_json, tags_json,
|
graduated_at, graduated_by, owners_json, arbiters_json, tags_json,
|
||||||
models_json, funder_login, body, body_sha,
|
models_json, funder_login, body, body_sha,
|
||||||
unreviewed, reviewed_at, reviewed_by, collection_id,
|
unreviewed, reviewed_at, reviewed_by, collection_id,
|
||||||
metadata_malformed, last_entry_commit_at, updated_at)
|
metadata_malformed, meta_json, last_entry_commit_at, updated_at)
|
||||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'))
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'))
|
||||||
ON CONFLICT(collection_id, slug) DO UPDATE SET
|
ON CONFLICT(collection_id, slug) DO UPDATE SET
|
||||||
title = excluded.title,
|
title = excluded.title,
|
||||||
state = excluded.state,
|
state = excluded.state,
|
||||||
@@ -199,6 +203,7 @@ def _upsert_cached_rfc(
|
|||||||
reviewed_at = excluded.reviewed_at,
|
reviewed_at = excluded.reviewed_at,
|
||||||
reviewed_by = excluded.reviewed_by,
|
reviewed_by = excluded.reviewed_by,
|
||||||
metadata_malformed = excluded.metadata_malformed,
|
metadata_malformed = excluded.metadata_malformed,
|
||||||
|
meta_json = excluded.meta_json,
|
||||||
last_entry_commit_at = datetime('now'),
|
last_entry_commit_at = datetime('now'),
|
||||||
updated_at = datetime('now')
|
updated_at = datetime('now')
|
||||||
""",
|
""",
|
||||||
@@ -224,6 +229,7 @@ def _upsert_cached_rfc(
|
|||||||
entry.reviewed_by,
|
entry.reviewed_by,
|
||||||
collection_id,
|
collection_id,
|
||||||
1 if metadata_malformed else 0,
|
1 if metadata_malformed else 0,
|
||||||
|
meta_json,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user