from sqlalchemy import text
from backend.models.database import SessionLocal
db = SessionLocal()
n_total = db.execute(text("SELECT COUNT(*) FROM dim_products")).scalar()
n_missing = db.execute(text("""
    SELECT COUNT(*) FROM dim_products
    WHERE name IS NULL OR TRIM(name) = ''
""")).scalar()
n_short = db.execute(text("""
    SELECT COUNT(*) FROM dim_products
    WHERE name IS NOT NULL AND LENGTH(TRIM(name)) < 3
""")).scalar()
print(f"dim_products: {n_total:,}")
print(f"  missing name: {n_missing:,}")
print(f"  name <3 chars: {n_short:,}")
print("\nSample missing:")
for r in db.execute(text(
    "SELECT id, sku FROM dim_products "
    "WHERE name IS NULL OR TRIM(name) = '' "
    "ORDER BY id LIMIT 10"
)).mappings():
    print(f"  id={r['id']}  sku={r['sku']}")
db.close()
