{ "db_name": "PostgreSQL", "query": "\n SELECT\n b.id,\n b.title,\n b.lang,\n b.file_type,\n b.year,\n CASE WHEN b.file_type = 'fb2' THEN ARRAY['fb2', 'epub', 'mobi', 'fb2zip'] ELSE ARRAY[b.file_type] END AS \"available_types!: Vec\",\n b.uploaded,\n (\n SELECT\n JSON_AGG(\n JSON_BUILD_OBJECT(\n 'id', authors.id,\n 'first_name', authors.first_name,\n 'last_name', authors.last_name,\n 'middle_name', authors.middle_name,\n 'annotation_exists', EXISTS(\n SELECT * FROM author_annotations WHERE author = authors.id\n )\n )\n )\n FROM book_authors\n JOIN authors ON authors.id = book_authors.author\n WHERE book_authors.book = b.id\n ) AS \"authors!: Vec\",\n (\n SELECT\n JSON_AGG(\n JSON_BUILD_OBJECT(\n 'id', authors.id,\n 'first_name', authors.first_name,\n 'last_name', authors.last_name,\n 'middle_name', authors.middle_name,\n 'annotation_exists', EXISTS(\n SELECT * FROM author_annotations WHERE author = authors.id\n )\n )\n )\n FROM translations\n JOIN authors ON authors.id = translations.author\n WHERE translations.book = b.id\n ) AS \"translators!: Vec\",\n EXISTS(\n SELECT * FROM book_annotations WHERE book = b.id\n ) AS \"annotation_exists!: bool\",\n bs.position\n FROM books b\n JOIN book_sequences bs ON b.id = bs.book\n WHERE\n b.is_deleted = FALSE AND\n bs.sequence = $1 AND\n b.lang = ANY($2)\n ORDER BY bs.position\n LIMIT $3 OFFSET $4\n ", "describe": { "columns": [ { "ordinal": 0, "name": "id", "type_info": "Int4" }, { "ordinal": 1, "name": "title", "type_info": "Varchar" }, { "ordinal": 2, "name": "lang", "type_info": "Varchar" }, { "ordinal": 3, "name": "file_type", "type_info": "Varchar" }, { "ordinal": 4, "name": "year", "type_info": "Int2" }, { "ordinal": 5, "name": "available_types!: Vec", "type_info": "VarcharArray" }, { "ordinal": 6, "name": "uploaded", "type_info": "Date" }, { "ordinal": 7, "name": "authors!: Vec", "type_info": "Json" }, { "ordinal": 8, "name": "translators!: Vec", "type_info": "Json" }, { "ordinal": 9, "name": "annotation_exists!: bool", "type_info": "Bool" }, { "ordinal": 10, "name": "position", "type_info": "Int2" } ], "parameters": { "Left": [ "Int4", "TextArray", "Int8", "Int8" ] }, "nullable": [ false, false, false, false, false, null, false, null, null, null, false ] }, "hash": "14038503cd48456847a8ba692094691cb292a41b0456323b976e996536e20819" }