{"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\/pt\/blog\/news\/vypusk-subd-sqlite-3-40","title":{"rendered":"Lan\u00e7amento do SGBD SQLite 3.40.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Foi lan\u00e7ado o vers\u00e3o 3.40 do SQLite, um SGBD leve, disponibilizado na forma de uma biblioteca incorpor\u00e1vel. O c\u00f3digo do SQLite \u00e9 distribu\u00eddo como dom\u00ednio p\u00fablico, ou seja, pode ser utilizado sem restri\u00e7\u00f5es e gratuitamente para quaisquer fins. O suporte financeiro aos desenvolvedores do SQLite \u00e9 fornecido por um cons\u00f3rcio especialmente criado, que inclui empresas como Adobe, Oracle, Mozilla, Bentley e Bloomberg.     <\/p>\n<p>Principais mudan\u00e7as:  <\/p>\n<ul>\n<li class=\"l\"> Foi implementada uma funcionalidade experimental para compilar o SQLite em c\u00f3digo intermedi\u00e1rio WebAssembly, capaz de ser executado em navegadores da web e adequado para trabalhar com bancos de dados em aplica\u00e7\u00f5es web usando JavaScript. Os desenvolvedores web t\u00eam acesso a uma interface orientada a objetos de alto n\u00edvel para trabalhar com dados ao estilo do sql.js ou Node.js, uma camada sobre a API de C de baixo n\u00edvel e uma API baseada no mecanismo Web Worker, que permite criar manipuladores ass\u00edncronos executados em threads separadas. Os dados que as aplica\u00e7\u00f5es web salvam na vers\u00e3o WASM do SQLite podem ser armazenados no lado do cliente usando OPFS (Origin-Private FileSystem) ou a API window.localStorage.\n<li class=\"l\"> Adicionado o recurso de recupera\u00e7\u00e3o, destinado \u00e0 recupera\u00e7\u00e3o de dados de arquivos corrompidos com o banco de dados. No interface de linha de comando, \u00e9 usada a comando &#171;.recover&#187; para recupera\u00e7\u00e3o.\n<li class=\"l\"> Melhorou o funcionamento do planejador de consultas. Foram removidas as limita\u00e7\u00f5es ao usar \u00edndices com tabelas que possuem mais de 63 colunas (anteriormente, opera\u00e7\u00f5es em colunas cujo n\u00famero sequencial excedia 63 n\u00e3o aplicavam indexa\u00e7\u00e3o). Melhorou-se a indexa\u00e7\u00e3o de valores utilizados em express\u00f5es. Foi interrompido o carregamento de grandes linhas e blobs do disco ao processar os operadores NOT NULL e IS NULL. A materializa\u00e7\u00e3o de vis\u00f5es para as quais a varredura completa \u00e9 executada apenas uma vez foi exclu\u00edda.\n<li class=\"l\"> Na base de c\u00f3digo, em vez do tipo &#171;char *&#187; para representar nomes de arquivos, foi utilizado um tipo separado sqlite3_filename.\n<li class=\"l\"> Foi adicionada a fun\u00e7\u00e3o interna sqlite3_value_encoding().\n<li class=\"l\"> Foi adicionado o modo SQLITE_DBCONFIG_DEFENSIVE, que pro\u00edbe a altera\u00e7\u00e3o da vers\u00e3o do esquema de armazenamento de dados.\n<li class=\"l\"> Na implementa\u00e7\u00e3o do par\u00e2metro &#171;PRAGMA integrity_check&#187;, foram adicionadas verifica\u00e7\u00f5es adicionais. Por exemplo, tabelas sem a indica\u00e7\u00e3o STRICT n\u00e3o devem conter valores num\u00e9ricos nas colunas do tipo TEXT e valores de texto que representam n\u00fameros nas colunas do tipo NUMERIC. Tamb\u00e9m foi adicionada uma verifica\u00e7\u00e3o da ordem correta das linhas em tabelas com a indica\u00e7\u00e3o &#171;WITHOUT ROWID&#187;.\n<li class=\"l\"> Na express\u00e3o &#171;VACUUM INTO&#187;, foram consideradas as configura\u00e7\u00f5es &#171;PRAGMA synchronous&#187;.\n<li class=\"l\"> Foi adicionada a op\u00e7\u00e3o de compila\u00e7\u00e3o SQLITE_MAX_ALLOCATION_SIZE, permitindo limitar o tamanho dos blocos ao alocar mem\u00f3ria.\n<li class=\"l\"> O algoritmo de gera\u00e7\u00e3o de n\u00fameros pseudoaleat\u00f3rios embutido no SQLite foi alterado do uso do cifrador de fluxo RC4 para o Chacha20.\n<li class=\"l\"> Agora \u00e9 permitido o uso de \u00edndices com os mesmos nomes em diferentes esquemas de dados.\n<li class=\"l\"> Foram feitas otimiza\u00e7\u00f5es de desempenho que reduziram a carga na CPU em cerca de 1% sob atividade t\u00edpica.      <\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58162\">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.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.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.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\/pt\/blog\/news\/vypusk-subd-sqlite-3-40\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47Lan\u00e7amento do SGBD SQLite 3.40 | ProHoster","description":"Foi lan\u00e7ado o SQLite 3.40, um SGBD leve disponibilizado como uma biblioteca din\u00e2mica. O c\u00f3digo do SQLite \u00e9 distribu\u00eddo como dom\u00ednio p\u00fablico (public domain), ou seja,","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/vypusk-subd-sqlite-3-40","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/105659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=105659"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/105659\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=105659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=105659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=105659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}