SQLite format 3@ 0~Z0-&)3r~ytoje`[VQLGB=83KmtableauthorsauthorsCREATE TABLE authors ( id INTEGER PRIMARY KEY, name TEXT NOT NULL COLLATE NOCASE, sort Tqopmoknimglekcjai`h_g^f\eZdXcUbR^QTJLCF<E8D7C6B5A4@3?2>1=07.0()!$!   ') John SchemberSchember, John ' John Schember w??M? ) c U MCalibre Quick Start GuideCalibre Quick Start Guide2013-10-19 15:12:35.402000+00:000101-01-01 00:00:00+00:00Schember, JohnJohn Schember/Calibre Quick Start Guide (1)a7b5973f-b970-4d1b-9c5a-f1b76ee288482013-10-19 15:12:36.658000+00:00 KKmtableauthorsauthorsCREATE TABLE authors ( id INTEGER PRIMARY KEY, name TEXT NOT NULL COLLATE NOCASE, sort TEXT COLLATE NOCASE, link TEXT NOT NULL DEFAULT "", UNIQUE(name) )-Aindexsqlite_autoindex_authors_1authors 884EitablebooksbooksCREATE TABLE books ( id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT NOT NULL DEFAULT 'Unknown' COLLATE NOCASE, sort TEXT COLLATE NOCASE, timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP, pubdate TIMESTAMP DEFAULT CURRENT_TIMESTAMP, series_index REAL NOT NULL DEFAULT 1.0, author_sort TEXT COLLATE NOCASE, isbn TEXT DEFAULT "" COLLATE NOCASE, lccn TEXT DEFAULT "" COLLATE NOCASE, path TEXT NOT NULL DEFAULT "", flags INTEGER NOT NULL DEFAULT 1, uuid TEXT, has_cover BOOL DEFAULT 0, last_modified TIMESTAMP NOT NULL DEFAULT "2000-01-01 00:00:00+00:00")  books ppa55[tablebooks_languages_linkbooks_languages_link CREATE TABLE books_laP++Ytablesqlite_sequencesqlite_sequenceCREATE TABLE sqlite_sequence(name,seq)W11Ytablebooks_authors_linkbooks_authors_link CREATE TABLE books_authors_link ( id INTEGER PRIMARY KEY, book INTEGER NOT NULL, author INTEGER NOT NULL, UNIQUE(book, author) )CW1indexsqlite_autoindex_books_authors_link_1books_authors_link 55[tablebooks_languages_linkbooks_languages_link CREATE TABLE books_languages_link ( id INTEGER PRIMARY KEY, book INTEGER NOT NULL, lang_code INTEGER NOT NULL, item_order INTEGER NOT NULL DEFAULT 0, UNIQUE(book, lang_code) )        ~~W55CW1indexsqlite_autoindex_books_ratings_link_1books_ratings_link[ G[5indexsqlite_autoindex_books_languages_link_1books_languages_link J //Ctablebooks_plugin_databooks_plugin_data CREATE TABLE books_plugin_data(id INTEGER PRIMARY KEY, book INTEGER NON NULL, name TEXT NON NULL, val TEXT NON NULL, UNIQUE(book,name))A U/indexsqlite_autoindex_books_plugin_data_1books_plugin_data[ 77Utablebooks_publishers_linkbooks_publishers_linkCREATE TABLE books_publishers_link ( id INTEGER PRIMARY KEY, book INTEGER NOT NULL, publisher INTEGER NOT NULL, UNIQUE(book) )I ]7indexsqlite_autoindex_books_publishers_link_1books_publishers_link     lAA=Q+indexsqlite_autoindex_books_tags_link_1books_tags_linkL//Gtablebooks_series_linkbooks_series_linkCREATE TABLE books_series_link ( id INTEGER PRIMARY KEY, W 11Ytablebooks_ratings_linkbooks_ratings_linkCREATE TABLE books_ratings_link ( id INTEGER PRIMARY KEY, book INTEGER NOT NULL, rating INTEGER NOT NULL, UNIQUE(book, rating) )CW1indexsqlite_autoindex_books_ratings_link_1books_ratings_linkL//Gtablebooks_series_linkbooks_series_linkCREATE TABLE books_series_link ( id INTEGER PRIMARY KEY, book INTEGER NOT NULL, series INTEGER NOT NULL, UNIQUE(book) )     %%hCW1indexsqlite_autoindex_conversion_options_1conversion_options itablecommentscommentsCREATE TABLE commentsAU/indexsqlite_autoindex_books_series_link_1books_series_linkH++Gtablebooks_tags_linkbooks_tags_linkCREATE TABLE books_tags_link ( id INTEGER PRIMARY KEY, book INTEGER NOT NULL, tag INTEGER NOT NULL, UNIQUE(book, tag) )=Q+indexsqlite_autoindex_books_tags_link_1books_tags_link itablecommentscommentsCREATE TABLE comments ( id INTEGER PRIMARY KEY, book INTEGER NON NULL, text TEXT NON NULL COLLATE NOCASE, UNIQUE(book) )     !;O)indexsqlite_autoindex_custom_columns_1custom_columns /Cindexsqlite_autoindex_comments_1comments11Ytableconversion_optionsconversion_optionsCREATE TABLE conversion_options ( id INTEGER PRIMARY KEY, format TEXT NOT NULL COLLATE NOCASE, book INTEGER, data BLOB NOT NULL, UNIQUE(format,book) )CW1indexsqlite_autoindex_conversion_options_1conversion_options   mm@@';indexsqlite_autoindex_data_1data#S))atablecustom_columnscustom_columnsCREATE TABLE custom_columns ( id INTEGER PRIMARY KEY AUTOINCREMENT, label TEXT NOT NULL, name TEXT NOT NULL, datatype TEXT NOT NULL, mark_for_delete BOOL DEFAULT 0 NOT NULL, editable BOOL DEFAULT 1 NOT NULL, display TEXT DEFAULT "{}" NOT NULL, is_multiple BOOL DEFAULT 0 NOT NULL, normalized BOOL NOT NULL, UNIQUE(label) );O)indexsqlite_autoindex_custom_columns_1custom_columns 6 _EPUBCalibre Quick Start Guide - John Schember   EPUB RR 5I#indexsqlite_autoindex_identifiers_1identifiers(wMtablefeedsfeeds%CREATE TABLE feeds ( id INTEGER PRIMA]tabledatadata"CREATE TABLE data ( id INTEGER PRIMARY KEY, book INTEGER NON NULL, format TEXT NON NULL COLLATE NOCASE, uncompressed_size INTEGER NON NULL, name TEXT NON NULL, UNIQUE(book, format) )';indexsqlite_autoindex_data_1data#wMtablefeedsfeeds%CREATE TABLE feeds ( id INTEGER PRIMARY KEY, title TEXT NOT NULL, script TEXT NOT NULL, UNIQUE(title) ))=indexsqlite_autoindex_feeds_1feeds&     ll:3#!y##9tableidentifiersidentifiers'CREATE TABLE idy##9tableidentifiersidentifiers'CREATE TABLE identifiers ( id INTEGER PRIMARY KEY, book INTEGER NON NULL, type TEXT NON NULL DEFAULT "isbn" COLLATE NOCASE, val TEXT NON NULL COLLATE NOCASE, UNIQUE(book, type) )5I#indexsqlite_autoindex_identifiers_1identifiers(etablelanguageslanguages*CREATE TABLE languages ( id INTEGER PRIMARY KEY, lang_code TEXT NON NULL COLLATE NOCASE, UNIQUE(lang_code) )1 Eindexsqlite_autoindex_languages_1languages+C!!!Qtablelibrary_idlibrary_id,CREATE TABLE library_id ( id INTEGER PRIMARY KEY, uuid TEXT NOT NULL, UNIQUE(uuid) ) eng  eng 'Uc1e3b753-01cd-4eed-bee9-3343f0c41de2 'U c1e3b753-01cd-4eed-bee9-3343f0c41de2   HH}AnJq3"G!indexsqlite_autoindex_library_id_1library_id-A#--5tablemetadata_dirtiedmetadata_dirtied.CREATE TABLE metadata_dirtied(id INTEGER PRIMARY KEY, book INTEGER NOT NULL, UNIQUE(book))?$S-indexsqlite_autoindex_metadata_dirtied_1metadata_dirtied/i%##tablepreferencespreferences1CREATE TABLE preferences(id INTEGER PRIMARY KEY, key TEXT NON NULL, val TEXT NON NULL, UNIQUE(key))5&I#indexsqlite_autoindex_preferences_1preferences2#'!!tablepublisherspublishers3CREATE TABLE publishers ( id INTEGER PRIMARY KEY, name TEXT NOT NULL COLLATE NOCASE, sort TEXT COLLATE NOCASE, UNIQUE(name) )3(G!indexsqlite_autoindex_publishers_1publishers4v1bools_are_tristatetrue+user_categories{})saved_searches{}5grouped_search_terms{}#Gtag_browser_hidden_categories[]QGklibrary_view books view state{ "column_alignment": { "timestamp": "center", "pubdate": "center", "size": "center" }, "column_sizes": { 1bools_are_tristatetrue+user_categories{})saved_searches{}5grouped_search_terms{}t)Mfield_metadata{ "rating": { "is_category": true, "is_csp": false, "search_terms": [ "rating" ], "is_multiple": {}, "table": "ratings", "is_editable": true, "kind": "field", "is_custom": false, "name": "Valoraci\u00f3n", "datatype": "rating", "rec_index": 5, "link_column": "rating", "label": "rating", "column": "rating", "category_sort": "rating", "display": {} }, "author_sort": { "is_category": false, "is_csp": false, "sw#Gtag_browser_hidden_categors SSf)field_metadata!Glibrary_view books view state!Gtag_browser_hidden_categories5grouped_search_terms)saved_searches+user_categories1 bools_are_tristate  calibre   calibre    EJ-wtabletagstags:CREATE TABLE tags ( id INTEGER k)-tableratingsratings5CREATE TABLE ratings ( id INTEGER PRIMARY KEY, rating INTEGER CHECK(rating > -1 AND rating < 11), UNIQUE (rating) )-*Aindexsqlite_autoindex_ratings_1ratings6 +stableseriesseries8CREATE TABLE series ( id INTEGER PRIMARY KEY, name TEXT NOT NULL COLLATE NOCASE, sort TEXT COLLATE NOCASE, UNIQUE (name) )+,?indexsqlite_autoindex_series_1series9J-wtabletagstags:CREATE TABLE tags ( id INTEGER PRIMARY KEY, name TEXT NOT NULL COLLATE NOCASE, UNIQUE (name) )'.;indexsqlite_autoindex_tags_1tags;    , (SELECT name FROM publishers WHERE publishers.id IN (SELECT publisher from books_publishers_link WHERE book=books.id)) publisher, (SELECT rating FROM ratings WHERE ratings.id IN (SELECT rating from books_ratings_link WHERE book=books.id)) rating, timestamp, (SELECT MAX(uncompressed_size) FROM data WHERE book=books.id) size, (SELECT concat(name) FROM tags WHERE tags.id IN (SELECT tag from books_tags_link WHERE book=books.id)) tags, (SELECT text FROM comments WHERE book=books.id) comments, (SELECT name FROM series WHERE series.id IN (SELECT series FROM books_series_link WHERE book=books.id)) series, series_index, sort, author_sort, (SELECT concat(format) FROM data WHERE data.book=books.id) formats, isbn, path, lccn, pubdate, flags, uuid FROM books &O/viewmetametaCREATE VIEW meta AS SELECT id, title, (SELECT sortconcat(bal.id, name) FROM books_authors_link AS bal JOIN authors ON(author = authors.id) WHERE book = books.id) authors 0) avg_rating, sort AS sort FROM authors ^1EECviewtag_browser_filtered_authorstag_browser_filtered_authorsCREATE VIEW tag_browser_filtered_authors AS SELECT id, name, (SELECT COUNT(books_authors_link.id) FROM books_authors_link WHERE author=authors.id AND books_list_filter(book)) count, (SELECT AVG(ratings.rating) FROM books_authors_link AS tl, books_ratings_link AS bl, ratings WHERE tl.author=authors.id AND bl.book=tl.book AND ratings.id = bl.rating AND ratings.rating <> 0 AND books_list_filter(bl.book)) avg_rating, sort AS sort FROM authors 2KKyviewtag_browser_filtered_publisherstag_browser_filtered_publishersCREATE VIEW tag_browser_filtered_publishers AS SELECT id, name, (SELECT COUNT(books_publishers_link.id) FROM books_publishers_link WHERE publisher=publishers.id AND books_list_filter(book)) count, (SELECT AVG(ratings.rating) FROM books_publishers_link AS tl, books_ratings_link AS bl, ratings WHERE tl.publisher=publishers.id AND bl.book=tl.book AND ratings.id = bl.rating AND ratings.rating <> 0 AND books_list_filter(bl.book)) avg_rating, name AS sort FROM publishers b3EEKviewtag_browser_filtered_ratingstag_browser_filtered_ratingsCREATE VIEW tag_browser_filtered_ratings AS SELECT id, rating, (SELECT COUNT(books_ratings_link.id) FROM books_ratings_link WHERE rating=ratings.id AND books_list_filter(book)) count, (SELECT AVG(ratings.rating) FROM books_ratings_link AS tl, books_ratings_link AS bl, ratings WHERE tl.rating=ratings.id AND bl.book=tl.book AND ratings.id = bl.rating AND ratings.rating <> 0 AND books_list_filter(bl.book)) avg_rating, rating AS sort FROM ratings c4CCQviewtag_browser_filtered_seriestag_browser_filtered_seriesCREATE VIEW tag_browser_filtered_series AS SELECT id, name, (SELECT COUNT(books_series_link.id) FROM books_series_link WHERE series=series.id AND books_list_filter(book)) count, (SELECT AVG(ratings.rating) FROM books_series_link AS tl, books_ratings_link AS bl, ratings WHERE tl.series=series.id AND bl.book=tl.book AND ratings.id = bl.rating AND ratings.rating <> 0 AND books_list_filter(bl.book)) avg_rating, (title_sort(name)) AS sort FROM series @@<=5?? viewtag_browser_filtered_tagstag_browser_filtered_tagsCREATE VIEW tag_browser_filtered_tags AS SELECT id, name, (SELECT COUNT(books_tags_link.id) FROM books_tags_link WHERE tag=tags.id AND books_list_filter(book)) count, (SELECT AVG(ratings.rating) FROM books_tags_link AS tl, books_ratings_link AS bl, ratings WHERE tl.tag=tags.id AND bl.book=tl.book AND ratings.id = bl.rating AND ratings.rating <> 0 AND books_list_filter(bl.book)) avg_rating, name AS sort FROM tags f699kviewtag_browser_publisherstag_browser_publishersCREATE VIEW tag_browser_publishers AS SELECT id, name, (SELECT COUNT(id) FROM books_publishers_link WHERE publisher=publishers.id) count, (SELECT AVG(ratings.rating) FROM books_publishers_link AS tl, books_ratings_link AS bl, ratings WHERE tl.publisher=publishers.id AND bl.book=tl.book AND ratings.id = bl.rating AND ratings.rating <> 0) avg_rating, name AS sort FROM publishers L733Cviewtag_browser_ratingstag_browser_ratingsCREATE VIEW tag_browser_ratings AS SELECT id, rating, (SELECT COUNT(id) FROM books_ratings_link WHERE rating=ratings.id) count, (SELECT AVG(ratings.rating) FROM books_ratings_link AS tl, books_ratings_link AS bl, ratings WHERE tl.rating=ratings.id AND bl.book=tl.book AND ratings.id = bl.rating AND ratings.rating <> 0) avg_rating, rating AS sort FROM ratings N811Kviewtag_browser_seriestag_browser_seriesCREATE VIEW tag_browser_series AS SELECT id, name, (SELECT COUNT(id) FROM books_series_link WHERE series=series.id) count, (SELECT AVG(ratings.rating) FROM books_series_link AS tl, books_ratings_link AS bl, ratings WHERE tl.series=series.id AND bl.book=tl.book AND ratings.id = bl.rating AND ratings.rating <> 0) avg_rating, (title_sort(name)) AS sort FROM series  *9-- viewtag_browser_tagstag_browser_tagsCREATE VIEW tag_browser_tags AS SEL*9-- viewtag_browser_tagstag_browser_tagsCREATE VIEW tag_browser_tags AS SELECT id, name, (SELECT COUNT(id) FROM books_tags_link WHERE tag=tags.id) count, (SELECT AVG(ratings.rating) FROM books_tags_link AS tl, books_ratings_link AS bl, ratings WHERE tl.tag=tags.id AND bl.book=tl.book AND ratings.id = bl.rating AND ratings.rating <> 0) avg_rating, name AS sort FROM tags[:# indexauthors_idxbooksGCREATE INDEX authors_idx ON books (author_sort COLLATE NOCASE)y;;1indexbooks_authors_link_aidxbooks_authors_linkHCREATE INDEX books_authors_link_aidx ON books_authors_link (author)w<;1indexbooks_authors_link_bidxbooks_authors_linkICREATE INDEX books_authors_link_bidx ON books_authors_link (book) ) Schember, John   ? Calibre Quick Start Guide  z +yBuD9/indexbooks_series_link_aidxbooks_series_linkRCREATE INDEX books_series_l>?5!indexbooks_languages_link_aiO=windexbooks_idxbooksJCREATE INDEX books_idx ON books (sort COLLATE NOCASE)>?5!indexbooks_languages_link_aidxbooks_languages_linkKCREATE INDEX books_languages_link_aidx ON books_languages_link (lang_code)??5indexbooks_languages_link_bidxbooks_languages_linkMCREATE INDEX books_languages_link_bidx ON books_languages_link (book)@A7%indexbooks_publishers_link_aidxbooks_publishers_linkNCREATE INDEX books_publishers_link_aidx ON books_publishers_link (publisher)AA7indexbooks_publishers_link_bidxbooks_publishers_linkOCREATE INDEX books_publishers_link_bidx ON books_publishers_link (book)yB;1indexbooks_ratings_link_aidxbooks_ratings_linkPCREATE INDEX books_ratings_link_aidx ON books_ratings_link (rating)wC;1indexbooks_ratings_link_bidxbooks_ratings_linkQCREATE INDEX books_ratings_link_bidx ON books_ratings_link (book)        \=q IDM#_indexformats_idxdata\CREATE INDEX formats_idx ON data (format) NEW.title; ENDDU3Ctriggerfkc_comments_insertcommentsCREATE TRIGGER fkc_comments_insert BEFORE INSERT ON comments BEGIN SELECT CASE WHEN (SELECT id from books WHERE id=NEW.book) IS NULL THEN RAISE(ABORT, 'Foreign key violation: book not in books') END; END ;;LV3Striggerfkc_comments_updatecommentsCREATE TRIGGER fkc_comments_update BEFORE UPDATE OF book ON comments BEGIN SELECT CASE WHEN (SELECT id from books WHERE id=NEW.book) IS NULL THEN RAISE(ABORT, 'Foreign key violation: book not in books') END; END4W+3triggerfkc_data_insertdataCREATE TRIGGER fkc_data_insert BEFORE INSERT ON data BEGIN SELECT CASE WHEN (SELECT id from books WHERE id=NEW.book) IS NULL THEN RAISE(ABORT, 'Foreign key violation: book not in books') END; END 0 THEN RAISE(ABORT, 'Foreign key violation: authors is still referenced') END; ENDpZ;triggerfkc_delete_on_languageslanguagesCREATE TRIGGER fkc_delete_on_languages BEFORE DELETE ON languages BEGIN SELECT CASE WHEN (SELECT COUNT(id) FROM books_languages_link WHERE lang_code=OLD.id) > 0 THEN RAISE(ABORT, 'Foreign key violation: language is still referenced') END; END {{[E5!triggerfkc_delete_on_languages_linkbooks_languages_linkCREATE TRIGGER fkc_delete_on_languages_link BEFORE INSERT ON books_languages_link BEGIN SELECT CASE WHEN (SELECT id from books WHERE id=NEW.book) IS NULL THEN RAISE(ABORT, 'Foreign key violation: book not in books') WHEN (SELECT id from languages WHERE id=NEW.lang_code) IS NULL THEN RAISE(ABORT, 'Foreign key violation: lang_code not in languages') END; ENDw\=!triggerfkc_delete_on_publisherspublishersCREATE TRIGGER fkc_delete_on_publishers BEFORE DELETE ON publishers BEGIN SELECT CASE WHEN (SELECT COUNT(id) FROM books_publishers_link WHERE publisher=OLD.id) > 0 THEN RAISE(ABORT, 'Foreign key violation: publishers is still referenced') END; END QQ\]5utriggerfkc_delete_on_seriesseriesCREATE TRIGGER fkc_delete_on_series BEFORE DELETE ON series BEGIN SELECT CASE WHEN (SELECT COUNT(id) FROM books_series_link WHERE series=OLD.id) > 0 THEN RAISE(ABORT, 'Foreign key violation: series is still referenced') END; ENDM^1_triggerfkc_delete_on_tagstagsCREATE TRIGGER fkc_delete_on_tags BEFORE DELETE ON tags BEGIN SELECT CASE WHEN (SELECT COUNT(id) FROM books_tags_link WHERE tag=OLD.id) > 0 THEN RAISE(ABORT, 'Foreign key violation: tags is still referenced') END; END |_G1 triggerfkc_insert_books_authors_linkbooks_authors_linkCREATE TRIGGER fkc_insert_books_authors_link BEFORE INSERT ON books_authors_link BEGIN SELECT CASE WHEN (SELECT id from books WHERE id=NEW.book) IS NULL THEN RAISE(ABORT, 'Foreign key violation: book not in books') WHEN (SELECT id from authors WHERE id=NEW.author) IS NULL THEN RAISE(ABORT, 'Foreign key violation: author not in authors') END; END `M7/triggerfkc_insert_books_publishers_linkbooks_publishers_linkCREATE TRIGGER fkc_insert_books_publishers_link BEFORE INSERT ON books_publishers_link BEGIN SELECT CASE WHEN (SELECT id from books WHERE id=NEW.book) IS NULL THEN RAISE(ABORT, 'Foreign key violation: book not in books') WHEN (SELECT id from publishers WHERE id=NEW.publisher) IS NULL THEN RAISE(ABORT, 'Foreign key violation: publisher not in publishers') END; END |aG1 triggerfkc_insert_books_ratings_linkbooks_ratings_linkCREATE TRIGGER fkc_insert_books_ratings_link BEFORE INSERT ON books_ratings_link BEGIN SELECT CASE WHEN (SELECT id from books WHERE id=NEW.book) IS NULL THEN RAISE(ABORT, 'Foreign key violation: book not in books') WHEN (SELECT id from ratings WHERE id=NEW.rating) IS NULL THEN RAISE(ABORT, 'Foreign key violation: rating not in ratings') END; END  vbE/triggerfkc_insert_books_series_linkbooks_series_linkCREATE TRIGGER fkc_insert_books_series_link BEFORE INSERT ON books_series_link BEGIN SELECT CASE WHEN (SELECT id from books WHERE id=NEW.book) IS NULL THEN RAISE(ABORT, 'Foreign key violation: book not in books') WHEN (SELECT id from series WHERE id=NEW.series) IS NULL THEN RAISE(ABORT, 'Foreign key violation: series not in series') END; ENDdcA+gtriggerfkc_insert_books_tags_linkbooks_tags_linkCREATE TRIGGER fkc_insert_books_tags_link BEFORE INSERT ON books_tags_link BEGIN SELECT CASE WHEN (SELECT id from books WHERE id=NEW.book) IS NULL THEN RAISE(ABORT, 'Foreign key violation: book not in books') WHEN (SELECT id from tags WHERE id=NEW.tag) IS NULL THEN RAISE(ABORT, 'Foreign key violation: tag not in tags') END; END {xdK1triggerfkc_update_books_authors_link_abooks_authors_linkCREATE TRIGGER fkc_update_books_authors_link_a BEFORE UPDATE OF book ON books_authors_link BEGIN SELECT CASE WHEN (SELECT id from books WHERE id=NEW.book) IS NULL THEN RAISE(ABORT, 'Foreign key violation: book not in books') END; ENDeK1triggerfkc_update_books_authors_link_bbooks_authors_linkCREATE TRIGGER fkc_update_books_authors_link_b BEFORE UPDATE OF author ON books_authors_link BEGIN SELECT CASE WHEN (SELECT id from authors WHERE id=NEW.author) IS NULL THEN RAISE(ABORT, 'Foreign key violation: author not in authors') END; END ffO5triggerfkc_update_books_languages_link_abooks_languages_linkCREATE TRIGGER fkc_update_books_languages_link_a BEFORE UPDATE OF book ON books_languages_link BEGIN SELECT CASE WHEN (SELECT id from books WHERE id=NEW.book) IS NULL THEN RAISE(ABORT, 'Foreign key violation: book not in books') END; ENDgO55triggerfkc_update_books_languages_link_bbooks_languages_linkCREATE TRIGGER fkc_update_books_languages_link_b BEFORE UPDATE OF lang_code ON books_languages_link BEGIN SELECT CASE WHEN (SELECT id from languages WHERE id=NEW.lang_code) IS NULL THEN RAISE(ABORT, 'Foreign key violation: lang_code not in languages') END; END `hQ7 triggerfkc_update_books_publishers_link_abooks_publishers_linkCREATE TRIGGER fkc_update_books_publishers_link_a BEFORE UPDATE OF book ON books_publishers_link BEGIN SELECT CASE WHEN (SELECT id from books WHERE id=NEW.book) IS NULL THEN RAISE(ABORT, 'Foreign key violation: book not in books') END; ENDiQ7=triggerfkc_update_books_publishers_link_bbooks_publishers_linkCREATE TRIGGER fkc_update_books_publishers_link_b BEFORE UPDATE OF publisher ON books_publishers_link BEGIN SELECT CASE WHEN (SELECT id from publishers WHERE id=NEW.publisher) IS NULL THEN RAISE(ABORT, 'Foreign key violation: publisher not in publishers') END; END {xjK1triggerfkc_update_books_ratings_link_abooks_ratings_linkCREATE TRIGGER fkc_update_books_ratings_link_a BEFORE UPDATE OF book ON books_ratings_link BEGIN SELECT CASE WHEN (SELECT id from books WHERE id=NEW.book) IS NULL THEN RAISE(ABORT, 'Foreign key violation: book not in books') END; ENDkK1triggerfkc_update_books_ratings_link_bbooks_ratings_linkCREATE TRIGGER fkc_update_books_ratings_link_b BEFORE UPDATE OF rating ON books_ratings_link BEGIN SELECT CASE WHEN (SELECT id from ratings WHERE id=NEW.rating) IS NULL THEN RAISE(ABORT, 'Foreign key violation: rating not in ratings') END; END   tlI/{triggerfkc_update_books_series_link_abooks_series_linkCREATE TRIGGER fkc_update_books_series_link_a BEFORE UPDATE OF book ON books_series_link BEGIN SELECT CASE WHEN (SELECT id from books WHERE id=NEW.book) IS NULL THEN RAISE(ABORT, 'Foreign key violation: book not in books') END; END|mI/ triggerfkc_update_books_series_link_bbooks_series_linkCREATE TRIGGER fkc_update_books_series_link_b BEFORE UPDATE OF series ON books_series_link BEGIN SELECT CASE WHEN (SELECT id from series WHERE id=NEW.series) IS NULL THEN RAISE(ABORT, 'Foreign key violation: series not in series') END; END ''k9p/5triggerseries_insert_trgseriesCREATE TRIGGER series_insert_trg AFTER INSERT ON series BEGIN UPDATE series SET sort=NEW.name WHERE id=NEW.id; ENDlnE+striggerfkc_update_books_tags_link_abooks_tags_linkCREATE TRIGGER fkc_update_books_tags_link_a BEFORE UPDATE OF book ON books_tags_link BEGIN SELECT CASE WHEN (SELECT id from books WHERE id=NEW.book) IS NULL THEN RAISE(ABORT, 'Foreign key violation: book not in books') END; ENDgoE+itriggerfkc_update_books_tags_link_bbooks_tags_linkCREATE TRIGGER fkc_update_books_tags_link_b BEFORE UPDATE OF tag ON books_tags_link BEGIN SELECT CASE WHEN (SELECT id from tags WHERE id=NEW.tag) IS NULL THEN RAISE(ABORT, 'Foreign key violation: tag not in tags') END; END D9p/5triggerseries_insert_trgseriesCREATE TRIGGER series_insert_trg AFTER INSERT ON series BEGIN UPDATE series SET sort=NEW.name WHERE id=NEW.id; END9q/5triggerseries_update_trgseriesCREATE TRIGGER series_update_trg AFTER UPDATE ON series BEGIN UPDATE series SET sort=NEW.name WHERE id=NEW.id; END SSo{zy1bools_are_tristatetrue+user_categories{})saved_searches{}5grouped_search_terms{}yGtag_browser_hidden_categories[]TGklibrary_view books view state{ "column_alignment": { "timestamp": "center", "pubdate": "center", "size": "center" }, "column_sizes": { 1bools_are_tristatetrue+user_categories{})saved_searches{}5grouped_search_terms{}t)Mfield_metadata{ "rating": { "is_category": true, "is_csp": false, "search_terms": [ "rating" ], "is_multiple": {}, "table": "ratings", "is_editable": true, "kind": "field", "is_custom": false, "name": "Valoraci\u00f3n", "datatype": "rating", "rec_index": 5, "link_column": "rating", "label": "rating", "column": "rating", "category_sort": "rating", "display": {} }, "author_sort": { "is_category": false, "is_csp": false, "sw#Gtag_browser_hidden_categories[]eld", "is_custom": false, "name": "Portada", "datatype": "int", "rec_index": 17, "label": "cover", "column": null, "display": {} }, "ondevice": { "is_category": false, "is_csp": false, "search_terms": [ "ondevice" ], "is_multiple": {}, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": "En el dispositivo", "datatype": "text", "rec_index": 22, "label": "ondevice", "column": null, "display": {} }, "formats": { "is_category": true, "is_csp": false, "search_terms": [ "formats", "format" ], "is_multiple": { "cache_to_list": ",", "list_to_ui": ", ", "ui_to_list": "," }, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": "Formatos", "datatype": "text", "rec_index": 13, "label": "formats", "column": null, "display": {} } }tp": false, "search_terms": [ "series_index" ], "is_multiple": {}, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": null, "datatype": "float", "rec_index": 10, "label": "series_index", "column": null, "display": {} }, "identifiers": { "is_category": true, "is_csp": true, "search_terms": [ "identifiers", "identifier", "isbn" ], "is_multiple": { "cache_to_list": ",", "list_to_ui": ", ", "ui_to_list": "," }, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": "Identificadores", "datatype": "text", "rec_index": 20, "label": "identifiers", "column": null, "display": {} }, "cover": { "is_category": false, "is_csp": false, "search_terms": [ "cover" ], "is_multiple": {}, "table": null, "is_editable": true, "kind": "fi stt~}|}~tus"is_multiple": {}, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "naQGklibrary_view books view state{ "column_alignment": { "timestamp": "center", "pubdate": "center", "size": "center" }, "column_sizes": { "rating": 87, "pubdate": 83, "tags": 81, "series": 59, "timestamp": 65, "title": 138, "publisher": 75, "languages": 0, "last_modified": 0, "authors": 87, "size": 103 }, "languages_injected": true, "column_positions": { "rating": 5, "pubdate": 9, "title": 1, "series": 7, "timestamp": 3, "tags": 6, "publisher": 8, "languages": 11, "last_modified": 10, "ondevice": 0, "authors": 2, "size": 4 }, "sort_history": [ [ "timestamp", false ] ], "hidden_columns": [ "last_modified", "languages" ], "last_modified_injected": true }xearch_terms": [ "author_sort" ], "is_multiple": {}, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": "Orden de autor", "datatype": "text", "rec_index": 12, "label": "author_sort", "column": null, "display": {} }, "pubdate": { "is_category": false, "is_csp": false, "search_terms": [ "pubdate" ], "is_multiple": {}, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": "Publicado", "datatype": "datetime", "rec_index": 15, "label": "pubdate", "column": null, "display": { "date_format": "MMM yyyy" } }, "series": { "is_category": true, "is_csp": false, "search_terms": [ "series" ], "is_multiple": {}, "table": "series", "is_editable": true, "kind": "field", "is_custom": false, "name": "Series", "datatype": "series", "rec_index": 8y, "link_column": "series", "label": "series", "column": "name", "category_sort": "(title_sort(name))", "display": {} }, "marked": { "is_category": false, "is_csp": false, "search_terms": [ "marked" ], "is_multiple": {}, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": null, "datatype": "text", "rec_index": 23, "label": "marked", "column": null, "display": {} }, "path": { "is_category": false, "is_csp": false, "search_terms": [], "is_multiple": {}, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": "Ruta", "datatype": "text", "rec_index": 14, "label": "path", "column": null, "display": {} }, "au_map": { "is_category": false, "is_csp": false, "search_terms": [], "is_multiple": { "cache_to_list": ",", "list_to_ui": null, "uiz_to_list": null }, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": null, "datatype": "text", "rec_index": 18, "label": "au_map", "column": null, "display": {} }, "id": { "is_category": false, "is_csp": false, "search_terms": [], "is_multiple": {}, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": null, "datatype": "int", "rec_index": 0, "label": "id", "column": null, "display": {} }, "size": { "is_category": false, "is_csp": false, "search_terms": [ "size" ], "is_multiple": {}, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": "Tama\u00f1o", "datatype": "float", "rec_index": 4, "label": "size", "column": null, "display": {} }, "uuid": { "is_category": false, "is_csp": false, "search_te{rms": [], "is_multiple": {}, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": null, "datatype": "text", "rec_index": 16, "label": "uuid", "column": null, "display": {} }, "title": { "is_category": false, "is_csp": false, "search_terms": [ "title" ], "is_multiple": {}, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": "T\u00edtulo", "datatype": "text", "rec_index": 1, "label": "title", "column": null, "display": {} }, "series_sort": { "is_category": false, "is_csp": false, "search_terms": [ "series_sort" ], "is_multiple": {}, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": "Orden de serie", "datatype": "text", "rec_index": 24, "label": "series_sort", "column": null, "display": {} }, "comm|ents": { "is_category": false, "is_csp": false, "search_terms": [ "comments", "comment" ], "is_multiple": {}, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": "Comentarios", "datatype": "text", "rec_index": 7, "label": "comments", "column": null, "display": {} }, "languages": { "is_category": true, "is_csp": false, "search_terms": [ "languages", "language" ], "is_multiple": { "cache_to_list": ",", "list_to_ui": ", ", "ui_to_list": "," }, "table": "languages", "is_editable": true, "kind": "field", "is_custom": false, "name": "Idiomas", "datatype": "text", "rec_index": 21, "link_column": "lang_code", "label": "languages", "column": "lang_code", "category_sort": "lang_code", "display": {} }, "sort": { "is_category": false, "is_csp": false, "search_ter}ms": [ "title_sort" ], "is_multiple": {}, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": "Orden de t\u00edtulo", "datatype": "text", "rec_index": 11, "label": "sort", "column": null, "display": {} }, "tags": { "is_category": true, "is_csp": false, "search_terms": [ "tags", "tag" ], "is_multiple": { "cache_to_list": ",", "list_to_ui": ", ", "ui_to_list": "," }, "table": "tags", "is_editable": true, "kind": "field", "is_custom": false, "name": "Etiquetas", "datatype": "text", "rec_index": 6, "link_column": "tag", "label": "tags", "column": "name", "category_sort": "name", "display": {} }, "timestamp": { "is_category": false, "is_csp": false, "search_terms": [ "date" ], "is_multiple": {}, "table": null, "is_editable": true, "kind": "field",~ "is_custom": false, "name": "Fecha", "datatype": "datetime", "rec_index": 3, "label": "timestamp", "column": null, "display": { "date_format": "dd MMM yyyy" } }, "last_modified": { "is_category": false, "is_csp": false, "search_terms": [ "last_modified" ], "is_multiple": {}, "table": null, "is_editable": true, "kind": "field", "is_custom": false, "name": "Modificado", "datatype": "datetime", "rec_index": 19, "label": "last_modified", "column": null, "display": { "date_format": "dd MMM yyyy" } }, "authors": { "is_category": true, "is_csp": false, "search_terms": [ "authors", "author" ], "is_multiple": { "cache_to_list": ",", "list_to_ui": " & ", "ui_to_list": "&" }, "table": "authors", "is_editable": true, "kind": "field", "is_custom": false, "name": "Autores", "datatype": "tuext", "rec_index": 2, "link_column": "author", "label": "authors", "column": "name", "category_sort": "sort", "display": {} }, "news": { "is_category": true, "is_csp": false, "search_terms": [], "is_multiple": {}, "table": "news", "is_editable": true, "kind": "category", "is_custom": false, "name": "Noticias", "datatype": null, "label": "news", "column": "name", "category_sort": "name", "display": {} }, "publisher": { "is_category": true, "is_csp": false, "search_terms": [ "publisher" ], "is_multiple": {}, "table": "publishers", "is_editable": true, "kind": "field", "is_custom": false, "name": "Editoriales", "datatype": "text", "rec_index": 9, "link_column": "publisher", "label": "publisher", "column": "name", "category_sort": "name", "display": {} }, "series_index": { "is_category": false, "is_cs