{"id":55593,"date":"2020-01-24T00:00:00","date_gmt":"2020-01-23T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/reliz-subd-sqlite-3-31-s-podderzhkoj-generiruemyh-stolbtsov"},"modified":"2020-02-18T14:03:43","modified_gmt":"2020-02-18T11:03:43","slug":"reliz-subd-sqlite-3-31-s-podderzhkoj-generiruemyh-stolbtsov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/news\/reliz-subd-sqlite-3-31-s-podderzhkoj-generiruemyh-stolbtsov","title":{"rendered":"Udgivelsen af SQLite 3.31 med underst\u00f8ttelse af genererede kolonner","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.sqlite.org\/changes.html\">Publiceret<\/a><\/noindex> udgivelse <noindex><a rel=\"nofollow\" href=\"http:\/\/sqlite.org\/\">SQLite 3.31.0<\/a><\/noindex>, en letv\u00e6gts databasesystem, der er udformet som et tilslutningsbibliotek. Koden til SQLite distribueres som offentlig dom\u00e6ne (public domain), det vil sige, at den kan bruges uden begr\u00e6nsninger og gratis til enhver form for form\u00e5l. Den finansielle st\u00f8tte til SQLite-udviklerne ydes af et konsortium, som er oprettet specielt til dette form\u00e5l og omfatter virksomheder som Adobe, Oracle, Mozilla, Bentley og Bloomberg. <\/p>\n<p>Vigtige <noindex><a rel=\"nofollow\" href=\"https:\/\/sqlite.org\/releaselog\/3_31_0.html\">Optimeringer<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> Tilf\u00f8jet support for <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sqlite.org\/gencol.html\">genererede kolonner<\/a><\/noindex> (beregnede kolonner), der ved oprettelse af tabellen definerer en kolonne, hvis v\u00e6rdi automatisk beregnes baseret p\u00e5 indholdet af en anden kolonne. Genererede kolonner kan v\u00e6re b\u00e5de virtuelle (som dannes on-the-fly ved hver foresp\u00f8rgsel) og gemte i databasen (gemmes ved hver opdatering af relaterede kolonner). Indholdet af de genererede kolonner er kun tilg\u00e6ngeligt i l\u00e6setilstand (\u00e6ndringer foretages kun ved at modificere v\u00e6rdien i en anden kolonne, der er involveret i beregningen). For eksempel:\n<p>   CREATE TABLE t1(<br \/>\n      a INTEGER PRIMARY KEY,<br \/>\n      b INT,<br \/>\n      c TEXT,<br \/>\n      d INT GENERATED ALWAYS AS (a*abs(b)) VIRTUAL,<br \/>\n      e TEXT GENERATED ALWAYS AS (substr(c,b,b+1)) STORED<br \/>\n   );<\/p>\n<li class=\"l\"> Tilf\u00f8jet PRAGMA <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sqlite.org\/pragma.html#pragma_trusted_schema\">trusted_schema<\/a><\/noindex>, indstilling <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sqlite.org\/c3ref\/c_dbconfig_defensive.html#sqlitedbconfigtrustedschema\">SQLITE_DBCONFIG_TRUSTED_SCHEMA<\/a><\/noindex> og og bygge indstillingen &#171;-DSQLITE_TRUSTED_SCHEMA&#187;, der g\u00f8r det muligt at styre aktiveringen af beskyttelsen mod <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52084\">angreb<\/a><\/noindex> gennem \u00e6ndring af dataskemaet i databasen. Med aktiv beskyttelse begr\u00e6nses brugen af SQL-funktioner (ikke markeret som SQLITE_INNOCUOUS) i triggers, views, CHECK- og DEFAULT-udtryk, indekser og genererede kolonner. Brugen af virtuelle tabeller i triggers og views deaktiveres ogs\u00e5, medmindre den virtuelle tabel klart er erkl\u00e6ret med flagget SQLITE_VTAB_INNOCUOUS.\n<li class=\"l\"> Mulighed for at tildele visse SQL-funktioner i applikationer egenskaber  <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sqlite.org\/c3ref\/c_deterministic.html#sqliteinnocuous\">SQLITE_INNOCUOUS<\/a><\/noindex> (harml\u00f8se funktioner, som ikke afh\u00e6nger af eksterne parametre og ikke kan bruges til at udf\u00f8re skadelige handlinger) og <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sqlite.org\/c3ref\/c_deterministic.html#sqlitedirectonly\">SQLITE_DIRECTONLY<\/a><\/noindex> (kun direkte kald i SQL-foresp\u00f8rgsler, uden mulighed for brug i triggers, views og dataskemaer);\n<li class=\"l\"> Tilf\u00f8jet modul <noindex><a rel=\"nofollow\" href=\"https:\/\/sqlite.org\/src\/file\/ext\/misc\/uuid.c\">uuid<\/a><\/noindex> med implementering af funktioner til behandling af UUID (RFC-4122);\n<li class=\"l\"> Tilf\u00f8jet PRAGMA <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sqlite.org\/pragma.html#pragma_hard_heap_limit\">hard_heap_limit<\/a><\/noindex> og funktion  <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sqlite.org\/c3ref\/hard_heap_limit64.html\">sqlite3_hard_heap_limit64()<\/a><\/noindex> til styring af den maksimale st\u00f8rrelsen af hukommelsen;\n<li class=\"l\"> I PRAGMA <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sqlite.org\/pragma.html#pragma_function_list\">function_list<\/a><\/noindex> tilf\u00f8jet output af type, egenskaber og antal argumenter for hver funktion;\n<li class=\"l\"> I den virtuelle tabel DBSTAT  <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sqlite.org\/dbstat.html#dbstatagg\">tilf\u00f8jet<\/a><\/noindex> tilstand for datagruppemuligheder;\n<li class=\"l\"> I sqlite3_open_v2() implementeret mulighed SQLITE_OPEN_NOFOLLOW, der forhindrer \u00e5bning af symbolske links;\n<li class=\"l\"> For argumentet <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sqlite.org\/json1.html#jsonpath\">PATH<\/a><\/noindex>, som sendes til JSON-funktioner, er der tilf\u00f8jet underst\u00f8ttelse af notationen for arrays &#171;#-N&#187;;\n<li class=\"l\"> I hukommelsesfordelingssystemet <noindex><a rel=\"nofollow\" href=\"http:\/\/sqlite.org\/malloc.html#lookaside\">lookaside<\/a><\/noindex> Der er implementeret underst\u00f8ttelse af to separate hukommelsespuljer, hver af dem kan anvendes til at tildele blokke af forskellige st\u00f8rrelser (adskillelsen muligg\u00f8r en bredere anvendelse af lookaside-systemet, samtidig med at st\u00f8rrelsen p\u00e5 bufferen, der tildeles hver forbindelse, reduceres fra 120 til 48 KB);\n<li class=\"l\"> Underst\u00f8ttelse af PRAGMA er oph\u00f8rt <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sqlite.org\/pragma.html#pragma_legacy_file_format\">legacy_file_format<\/a><\/noindex>, som var uforenelig med VACUUM, genererede kolonner og betalingsindekser (underst\u00f8ttelsen af det for\u00e6ldede format kan genoprettes via flaget SQLITE_DBCONFIG_LEGACY_FILE_FORMAT i sqlite3_db_config()).\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Kilde: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52238\">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.31.0, \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: \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 [&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-55593","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.31.0, \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.\" \/>\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\/da\/blog\/news\/reliz-subd-sqlite-3-31-s-podderzhkoj-generiruemyh-stolbtsov\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\u0420\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 SQLite 3.31 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 | 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.31.0, \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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/da\/blog\/news\/reliz-subd-sqlite-3-31-s-podderzhkoj-generiruemyh-stolbtsov\" \/>\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=\"2020-01-23T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:43+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\udd47Udgivelse af SGBD SQLite 3.31 med underst\u00f8ttelse af genererede kolonner | ProHoster","description":"Udgivelsen af SQLite 3.31.0, en letv\u00e6gts SGBD, er offentliggjort.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/reliz-subd-sqlite-3-31-s-podderzhkoj-generiruemyh-stolbtsov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\u0420\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 SQLite 3.31 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 SQLite 3.31.0, \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.","og:url":"https:\/\/prohoster.info\/da\/blog\/news\/reliz-subd-sqlite-3-31-s-podderzhkoj-generiruemyh-stolbtsov","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":"2020-01-23T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:43+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55593","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:41:37","updated":"2022-09-28 02:47:18","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/55593","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=55593"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/55593\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=55593"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=55593"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=55593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}