{"id":105659,"date":"2022-11-21T15:36:52","date_gmt":"2022-11-21T13:36:52","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-subd-sqlite-3-40"},"modified":"2022-11-21T15:36:52","modified_gmt":"2022-11-21T13:36:52","slug":"vypusk-subd-sqlite-3-40","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-subd-sqlite-3-40","title":{"rendered":"Lansarea SGBD SQLite 3.40","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A fost publicat\u0103 versiunea SQLite 3.40, o baz\u0103 de date u\u0219oar\u0103, disponibil\u0103 ca bibliotec\u0103 conectabil\u0103. Codul SQLite este distribuit ca domeniu public, adic\u0103 poate fi utilizat f\u0103r\u0103 restric\u021bii \u0219i gratuit \u00een orice scop. Sprijinul financiar pentru dezvoltatorii SQLite este asigurat de un consor\u021biu creat special, care include companii precum Adobe, Oracle, Mozilla, Bentley \u0219i Bloomberg.     <\/p>\n<p>Modific\u0103ri principale:  <\/p>\n<ul>\n<li class=\"l\"> A fost implementat\u0103 o func\u021bionalitate experimental\u0103 de compilare a SQLite \u00een cod intermediar WebAssembly, care poate fi rulat \u00een browser \u0219i este potrivit pentru a gestiona baze de date din aplica\u021bii web scrise \u00een JavaScript. Dezvoltatorii web primesc o interfa\u021b\u0103 orientat\u0103 pe obiect de nivel \u00eenalt pentru lucrul cu datele \u00een stilul sql.js sau Node.js, o \u00eenf\u0103\u0219urare asupra API-ului C de nivel inferior \u0219i un API bazat pe mecanismul Web Worker, care permite crearea de handleri asincroni rula\u021bi \u00een fire separate. Datele pe care aplica\u021biile web le salveaz\u0103 \u00een versiunea WASM a SQLite pot fi salvate pe partea clientului folosind OPFS (Origin-Private FileSystem) sau API window.localStorage.\n<li class=\"l\"> A fost ad\u0103ugat un modul de recuperare, destinat recuper\u0103rii datelor din fi\u0219ierele corupte cu Baza de Date. \u00cen interfa\u021ba liniei de comand\u0103 pentru recuperare se utilizeaz\u0103 comanda &#171;.recover&#187;.\n<li class=\"l\"> S-au \u00eembun\u0103t\u0103\u021bit func\u021bionalit\u0103\u021bile planificatorului de interog\u0103ri. Au fost eliminate restric\u021biile la utilizarea indicilor cu tabele care au mai mult de 63 de coloane (anterior, \u00een cadrul opera\u021biunilor cu coloane, num\u0103rul secven\u021bial c\u0103rora dep\u0103\u0219ea 63, indexarea nu era aplicat\u0103). Indexarea valorilor utilizate \u00een expresii a fost \u00eembun\u0103t\u0103\u021bit\u0103. S-a oprit \u00eenc\u0103rcarea de pe disc a \u0219irurilor mari \u0219i a blob-urilor \u00een timpul proces\u0103rii operatorilor NOT NULL \u0219i IS NULL. A fost exclus\u0103 materializarea vederilor pentru care scansarea complet\u0103 se efectueaz\u0103 o singur\u0103 dat\u0103.\n<li class=\"l\"> \u00cen baza de cod, \u00een loc de tipul &#171;char *&#187; pentru reprezentarea numelui fi\u0219ierelor, a fost folosit un tip distinct sqlite3_filename.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 o func\u021bie intern\u0103 sqlite3_value_encoding().\n<li class=\"l\"> A fost ad\u0103ugat modul SQLITE_DBCONFIG_DEFENSIVE, care interzice modificarea versiunii schemei de stocare a datelor.\n<li class=\"l\"> \u00cen implementarea parametrului &#171;PRAGMA integrity_check&#187; au fost ad\u0103ugate verific\u0103ri suplimentare. De exemplu, tabelele f\u0103r\u0103 semnul STRICT nu trebuie s\u0103 con\u021bin\u0103 valori numerice \u00een coloanele de tip TEXT \u0219i valori de tip \u0219ir \u00een coloanele de tip NUMERIC. De asemenea, a fost ad\u0103ugat\u0103 o verificare a corectitudinii ordinii r\u00e2ndurilor \u00een tabelele cu semnul &#171;WITHOUT ROWID&#187;.\n<li class=\"l\"> \u00cen expresia &#171;VACUUM INTO&#187; au fost luate \u00een considerare set\u0103rile &#171;PRAGMA synchronous&#187;.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 op\u021biunea de compilare SQLITE_MAX_ALLOCATION_SIZE, care permite limitarea dimensiunii blocurilor \u00een timpul aloc\u0103rii memoriei.\n<li class=\"l\"> Algoritmul \u00eencorporat \u00een SQLite pentru generarea numerelor pseudo-random a fost schimbat de la utilizarea cifrului de flux RC4 la Chacha20.\n<li class=\"l\"> A fost permis\u0103 utilizarea \u00een diferite scheme de date a indicilor cu nume identice.\n<li class=\"l\"> Au fost efectuate optimiz\u0103ri de performan\u021b\u0103, reduc\u00e2nd \u00eenc\u0103rcarea CPU cu aproximativ 1% \u00een condi\u021bii de activitate tipic\u0103.      <\/ul>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58162\">opennet.ro<\/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.40, \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 Adobe, Oracle, Mozilla, Bentley \u0438 Bloomberg. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f: \u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 [&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-105659","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.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.40, \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\/ro\/blog\/news\/vypusk-subd-sqlite-3-40\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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.40 | 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.40, \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\/ro\/blog\/news\/vypusk-subd-sqlite-3-40\" \/>\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=\"2022-11-21T13:36:52+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-11-21T13:36:52+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\udd47Lansarea bazei de date SQLite 3.40 | ProHoster","description":"A fost publicat versiunea SQLite 3.40, o baz\u0103 de date u\u0219oar\u0103, disponibil\u0103 ca bibliotec\u0103 dinamic\u0103. Codul SQLite este distribuit ca domeniu public (public domain), adic\u0103.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-subd-sqlite-3-40","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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.40 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 SQLite 3.40, \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\/ro\/blog\/news\/vypusk-subd-sqlite-3-40","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":"2022-11-21T13:36:52+00:00","article:modified_time":"2022-11-21T13:36:52+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\/ro\/wp-json\/wp\/v2\/posts\/105659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=105659"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/105659\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=105659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=105659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=105659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}