{"id":113031,"date":"2024-01-21T17:28:02","date_gmt":"2024-01-21T15:28:02","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-subd-sqlite-3-45"},"modified":"2024-01-21T17:28:02","modified_gmt":"2024-01-21T15:28:02","slug":"vypusk-subd-sqlite-3-45","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-subd-sqlite-3-45","title":{"rendered":"Vyd\u00e1n\u00ed SDB SQLite 3.45","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Byl vyd\u00e1n nov\u00fd SQLite 3.45, lehk\u00e1 datab\u00e1zov\u00e1 knihovna. K\u00f3d SQLite je \u0161\u00ed\u0159en jako ve\u0159ejn\u00e9 vlastnictv\u00ed (public domain), tedy jej lze pou\u017e\u00edvat bez jak\u00fdchkoli omezen\u00ed a bez n\u00e1roku na odm\u011bnu pro jak\u00e9koli \u00fa\u010dely. Finan\u010dn\u00ed podporu v\u00fdvoj\u00e1\u0159\u016fm SQLite zaji\u0161\u0165uje speci\u00e1ln\u011b vytvo\u0159en\u00fd konsorcium, mezi kter\u00e9 pat\u0159\u00ed spole\u010dnosti jako Bentley, Bloomberg, Expensify a Navigation Data Standard.    <\/p>\n<p>Hlavn\u00ed zm\u011bny:  <\/p>\n<ul>\n<li class=\"l\"> V\u0161echny SQL funkce pro pr\u00e1ci s JSON formatem byly p\u0159epracov\u00e1ny a p\u0159evedeny do nov\u00e9ho intern\u00edho form\u00e1tu JSONB, kter\u00fd je serializov\u00e1n a m\u016f\u017ee b\u00fdt ulo\u017een v datab\u00e1zi, aby se zabr\u00e1nilo op\u011btovn\u00e9mu zpracov\u00e1n\u00ed hodnot JSON. Nov\u00e9 verze funkc\u00ed pro generov\u00e1n\u00ed JSON nyn\u00ed generuj\u00ed bin\u00e1rn\u00ed form\u00e1t JSONB m\u00edsto textov\u00e9ho. Funkci json_valid() byl p\u0159id\u00e1n voliteln\u00fd druh\u00fd argument, kter\u00fd m\u016f\u017ee nastavit bitovou masku definuj\u00edc\u00ed vlastnosti platn\u00e9ho JSON (nap\u0159\u00edklad s 0x04 bude platn\u00fdm blob JSONB, s 0x01 textov\u00fd JSON ve form\u00e1tu RFC-8259 a s 0x05 oba varianty).\n<li class=\"l\"> Do virtu\u00e1ln\u00ed tabulky FTS5, pou\u017e\u00edvan\u00e9 pro fulltextov\u00e9 vyhled\u00e1v\u00e1n\u00ed, byla p\u0159id\u00e1na mo\u017enost tokendata, kter\u00e1 umo\u017e\u0148uje pou\u017e\u00edvat vlastn\u00ed tokenizer.\n<li class=\"l\"> Ve v\u00fdchoz\u00edm nastaven\u00ed je povolena optimalizace SQLITE_DIRECT_OVERFLOW_READ, p\u0159i kter\u00e9 jsou overflow str\u00e1nky v\u011bt\u0161\u00ed ne\u017e standardn\u00ed velikost str\u00e1nky b-tree \u010dteny p\u0159\u00edmo z souboru, obch\u00e1zej\u00edc\u00ed cache. Pro jej\u00ed deaktivaci p\u0159i sestaven\u00ed m\u016f\u017eete pou\u017e\u00edt mo\u017enost \u00ab-DSQLITE_DIRECT_OVERFLOW_READ=0\u00bb.\n<li class=\"l\"> V pl\u00e1nova\u010di dotaz\u016f byla zv\u00fd\u0161ena efektivita optimalizace tranzitivn\u00edch omezen\u00ed a zlep\u0161eno ignorov\u00e1n\u00ed index\u016f, kter\u00e9 jsou pova\u017eov\u00e1ny za n\u00edzkokvalitn\u00ed b\u011bhem operace ANALYZE.\n<li class=\"l\"> V p\u0159\u00edkazov\u00e9m rozhran\u00ed bylo vylep\u0161eno zobrazen\u00ed obsahu v k\u00f3dov\u00e1n\u00ed UTF-8 na platform\u011b Windows. Bylo zaji\u0161t\u011bno automatick\u00e9 rozpozn\u00e1n\u00ed pou\u017eit\u00ed CLI rozhran\u00ed p\u0159i p\u0159ehr\u00e1v\u00e1n\u00ed skript\u016f \u00ab.dump\u00bb a proveden\u00ed odpov\u00eddaj\u00edc\u00edch zm\u011bn v nastaven\u00edch, jako jsou \u00ab.dbconfig defensive off\u00bb a \u00ab.dbconfig dqs_dll on\u00bb.\n<li class=\"l\"> Do SQL funkc\u00ed definovan\u00fdch na stran\u011b aplikace bylo p\u0159id\u00e1no vlastnost SQLITE_RESULT_SUBTYPE, kter\u00e9 umo\u017e\u0148uje volat funkci sqlite3_result_subtype() pro inspekci podtyp\u016f argument\u016f.      <\/ul>\n<p>D\u00e1le lze zm\u00ednit v\u00fdvoj v experiment\u00e1ln\u00edch sestaven\u00edch SQLite nov\u00e9ho re\u017eimu protokolov\u00e1n\u00ed transakc\u00ed \u2014 WAL2 (\u00abPRAGMA journal_mode = wal2\u00bb), p\u0159i kter\u00e9m se pou\u017e\u00edvaj\u00ed dva wal soubory (\u00abdatabase-wal\u00bb a \u00abdatabase-wal2\u00bb) m\u00edsto jednoho. P\u0159i z\u00e1pisu dat do DB se prov\u00e1d\u00ed p\u0159id\u00e1n\u00ed nov\u00fdch dat do prvn\u00edho wal souboru. Pokud prvn\u00ed wal soubor dos\u00e1hne dostate\u010dn\u011b velk\u00e9 velikosti, doch\u00e1z\u00ed k p\u0159epnut\u00ed na z\u00e1pis do druh\u00e9ho souboru. Po p\u0159epnut\u00ed na druh\u00fd wal soubor se prvn\u00ed st\u00e1v\u00e1 dostupn\u00fdm pro potvrzen\u00ed zm\u011bn (checkpoint) a p\u0159eps\u00e1n\u00ed. Kdy\u017e druh\u00fd wal soubor dos\u00e1hne velk\u00e9 velikosti, doch\u00e1z\u00ed k p\u0159epnut\u00ed na prvn\u00ed a tak d\u00e1le, co\u017e \u0159e\u0161\u00ed probl\u00e9m s nekontrolovateln\u00fdm zvy\u0161ov\u00e1n\u00edm velikosti wal souboru v situac\u00edch, kdy dlouho nen\u00ed potvrzena transakce nebo se prov\u00e1d\u011bj\u00ed dlouh\u00e9 procesy \u010dten\u00ed.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=60460\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 SQLite 3.45, \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u043e\u0439 \u0421\u0423\u0411\u0414, \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u043d\u043e\u0439 \u0432 \u0432\u0438\u0434\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041a\u043e\u0434 SQLite \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0434\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 (public domain), \u0442.\u0435. \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0431\u0435\u0437 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0438 \u0431\u0435\u0437\u0432\u043e\u0437\u043c\u0435\u0437\u0434\u043d\u043e \u0432 \u043b\u044e\u0431\u044b\u0445 \u0446\u0435\u043b\u044f\u0445. \u0424\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u0443\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 SQLite \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0441\u043e\u0440\u0446\u0438\u0443\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0445\u043e\u0434\u044f\u0442 \u0442\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u043a\u0430\u043a Bentley, Bloomberg, Expensify \u0438 Navigation Data Standard. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f: \u0412\u0441\u0435 SQL-\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-113031","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 SQLite 3.45, \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u043e\u0439 \u0421\u0423\u0411\u0414, \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u043d\u043e\u0439 \u0432 \u0432\u0438\u0434\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041a\u043e\u0434 SQLite \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0434\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 (public domain), \u0442.\u0435.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-subd-sqlite-3-45\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0421\u0423\u0411\u0414 SQLite 3.45 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 SQLite 3.45, \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u043e\u0439 \u0421\u0423\u0411\u0414, \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u043d\u043e\u0439 \u0432 \u0432\u0438\u0434\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041a\u043e\u0434 SQLite \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0434\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 (public domain), \u0442.\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-subd-sqlite-3-45\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-01-21T15:28:02+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-01-21T15:28:02+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Vyd\u00e1n\u00ed datab\u00e1zov\u00e9ho syst\u00e9mu SQLite 3.45 | ProHoster","description":"Byla vyd\u00e1na verze SQLite 3.45, lehk\u00e9ho datab\u00e1zov\u00e9ho syst\u00e9mu, kter\u00fd se dod\u00e1v\u00e1 jako dynamick\u00e1 knihovna. K\u00f3d SQLite je distribuov\u00e1n jako ve\u0159ejn\u00e9 vlastnictv\u00ed (public domain), t.j.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-subd-sqlite-3-45","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0421\u0423\u0411\u0414 SQLite 3.45 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 SQLite 3.45, \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u043e\u0439 \u0421\u0423\u0411\u0414, \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u043d\u043e\u0439 \u0432 \u0432\u0438\u0434\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041a\u043e\u0434 SQLite \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0434\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 (public domain), \u0442.\u0435.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-subd-sqlite-3-45","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-01-21T15:28:02+00:00","article:modified_time":"2024-01-21T15:28:02+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/113031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=113031"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/113031\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=113031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=113031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=113031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}