{
  "db_name": "PostgreSQL",
  "query": "\n        SELECT\n            a.id, a.title, a.slug, a.summary, a.body, a.target_roles, a.tags,\n            a.is_published, a.views, a.category_id, a.created_at, a.updated_at,\n            c.name AS category_name\n        FROM kb_articles a\n        JOIN kb_categories c ON c.id = a.category_id\n        WHERE ($1 = '' OR LOWER(a.title) LIKE '%' || $1 || '%')\n          AND ($2::uuid IS NULL OR a.category_id = $2)\n          AND ($3::bool IS NULL OR a.is_published = $3)\n        ORDER BY a.updated_at DESC\n        LIMIT 200\n        ",
  "describe": {
    "columns": [
      {
        "ordinal": 0,
        "name": "id",
        "type_info": "Uuid"
      },
      {
        "ordinal": 1,
        "name": "title",
        "type_info": "Varchar"
      },
      {
        "ordinal": 2,
        "name": "slug",
        "type_info": "Varchar"
      },
      {
        "ordinal": 3,
        "name": "summary",
        "type_info": "Text"
      },
      {
        "ordinal": 4,
        "name": "body",
        "type_info": "Text"
      },
      {
        "ordinal": 5,
        "name": "target_roles",
        "type_info": "TextArray"
      },
      {
        "ordinal": 6,
        "name": "tags",
        "type_info": "TextArray"
      },
      {
        "ordinal": 7,
        "name": "is_published",
        "type_info": "Bool"
      },
      {
        "ordinal": 8,
        "name": "views",
        "type_info": "Int4"
      },
      {
        "ordinal": 9,
        "name": "category_id",
        "type_info": "Uuid"
      },
      {
        "ordinal": 10,
        "name": "created_at",
        "type_info": "Timestamptz"
      },
      {
        "ordinal": 11,
        "name": "updated_at",
        "type_info": "Timestamptz"
      },
      {
        "ordinal": 12,
        "name": "category_name",
        "type_info": "Varchar"
      }
    ],
    "parameters": {
      "Left": [
        "Text",
        "Uuid",
        "Bool"
      ]
    },
    "nullable": [
      false,
      false,
      false,
      true,
      false,
      true,
      false,
      false,
      false,
      false,
      false,
      false,
      false
    ]
  },
  "hash": "c2c3056208011dcf99182268670e0f1c5cb4a5627a3ebc6049b25e724900dbcf"
}
