{"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\/pl\/blog\/news\/vypusk-subd-sqlite-3-45","title":{"rendered":"Wydanie systemu zarz\u0105dzania baz\u0105 danych SQLite 3.45","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Opublikowano wersj\u0119 SQLite 3.45, lekkiej bazy danych w postaci biblioteki. Kod SQLite jest udost\u0119pniany jako w\u0142asno\u015b\u0107 publiczna (public domain), co oznacza, \u017ce mo\u017ce by\u0107 u\u017cywany bez ogranicze\u0144 i bezp\u0142atnie w dowolnych celach. Finansowanie tw\u00f3rc\u00f3w SQLite zapewnia specjalnie powsta\u0142y konsorcjum, w sk\u0142ad kt\u00f3rego wchodz\u0105 takie firmy jak Bentley, Bloomberg, Expensify i Navigation Data Standard.    <\/p>\n<p>G\u0142\u00f3wne zmiany:  <\/p>\n<ul>\n<li class=\"l\"> Wszystkie funkcje SQL do pracy z formatem JSON zosta\u0142y przepisane i przekszta\u0142cone w nowy wewn\u0119trzny format drzewa analizy JSONB, kt\u00f3ry jest serializowany i mo\u017ce by\u0107 przechowywany w bazie danych, aby wykluczy\u0107 ponown\u0105 analiz\u0119 przy u\u017cywaniu warto\u015bci JSON. Nowe wersje funkcji tworz\u0105cych JSON teraz generuj\u0105 binarny format JSONB zamiast tekstowego. Do funkcji json_valid() dodano opcjonalny drugi argument, za pomoc\u0105 kt\u00f3rego mo\u017cna ustawi\u0107 mask\u0119 bitow\u0105 okre\u015blaj\u0105c\u0105 cechy poprawnego JSON (na przyk\u0142ad, wskazuj\u0105c 0x04, blob JSONB b\u0119dzie uznawany za poprawny, przy wskazaniu 0x01 poprawny b\u0119dzie tekstowy JSON w formacie RFC-8259, a przy wskazaniu 0x05 oba warianty).\n<li class=\"l\"> Do wirtualnej tabeli FTS5, u\u017cywanej do pe\u0142notekstowego przeszukiwania, dodano opcj\u0119 tokendata, pozwalaj\u0105c\u0105 na u\u017cycie w\u0142asnych tokenizator\u00f3w.\n<li class=\"l\"> Domy\u015blnie w\u0142\u0105czona jest optymalizacja SQLITE_DIRECT_OVERFLOW_READ, w kt\u00f3rej strony overflow, wi\u0119ksze ni\u017c standardowy rozmiar strony b-drzewa, s\u0105 odczytywane bezpo\u015brednio z pliku, omijaj\u0105c pami\u0119\u0107 podr\u0119czn\u0105. Aby wy\u0142\u0105czy\u0107 t\u0119 opcj\u0119 podczas kompilacji, mo\u017cna u\u017cy\u0107 flagi &#171;-DSQLITE_DIRECT_OVERFLOW_READ=0&#187;.\n<li class=\"l\"> W planowaniu zapyta\u0144 zwi\u0119kszono efektywno\u015b\u0107 optymalizacji transytywnych ogranicze\u0144 (transitive constraint) i poprawiono ignorowanie indeks\u00f3w, kt\u00f3re uznano za niskiej jako\u015bci podczas wykonywania operacji ANALYZE.\n<li class=\"l\"> W interfejsie wiersza polece\u0144 poprawiono wy\u015bwietlanie zawarto\u015bci w kodowaniu UTF-8 na platformie Windows. Umo\u017cliwiono automatyczne rozpoznawanie u\u017cycia interfejsu CLI przy odtwarzaniu skrypt\u00f3w &#171;.dump&#187; oraz wprowadzanie odpowiednich zmian w ustawieniach, takich jak &#171;.dbconfig defensive off&#187; i &#171;.dbconfig dqs_dll on&#187;.\n<li class=\"l\"> Do definiowanych po stronie aplikacji funkcji SQL dodano w\u0142a\u015bciwo\u015b\u0107 SQLITE_RESULT_SUBTYPE, kt\u00f3ra umo\u017cliwia wywo\u0142ywanie z funkcji sqlite3_result_subtype() w celu inspekcji podtyp\u00f3w argument\u00f3w.      <\/ul>\n<p>Dodatkowo warto zaznaczy\u0107 rozw\u00f3j nowego trybu rejestrowania transakcji \u2014 WAL2 (&#171;PRAGMA journal_mode = wal2&#187;), w kt\u00f3rym u\u017cywane s\u0105 dwa pliki wal (&#171;database-wal&#187; i &#171;database-wal2&#187;) zamiast jednego. Podczas zapisu danych w bazie danych nowe dane s\u0105 dodawane do pierwszego pliku wal. Je\u015bli pierwszy plik wal osi\u0105gnie wystarczaj\u0105co du\u017cy rozmiar, nast\u0119puje prze\u0142\u0105czenie na zapis do drugiego pliku. Po prze\u0142\u0105czeniu na drugi plik wal, pierwszy staje si\u0119 dost\u0119pny do potwierdzenia zmian (checkpoint) i nadpisania. W zwi\u0105zku z tym, gdy drugi plik wal osi\u0105ga du\u017cy rozmiar, nast\u0119puje prze\u0142\u0105czenie na pierwszy i tak dalej, co rozwi\u0105zuje problem z niekontrolowanym wzrostem pliku wal w sytuacjach, gdy transakcja d\u0142ugo nie jest potwierdzana lub wykonywane s\u0105 d\u0142ugotrwa\u0142e procesy odczytu.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <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.1.1 - 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\/pl\/blog\/news\/vypusk-subd-sqlite-3-45\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\/pl\/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\udd47Wydanie bazy danych SQLite 3.45 | ProHoster","description":"Opublikowano wydanie SQLite 3.45, lekkiej bazy danych, dost\u0119pnej jako biblioteka do za\u0142\u0105czenia. Kod SQLite jest udost\u0119pniany jako w\u0142asno\u015b\u0107 publiczna (public domain), tzn.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-subd-sqlite-3-45","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/113031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=113031"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/113031\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=113031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=113031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=113031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}