Itusilẹ ti DBMS SQLite 3.31 pẹlu atilẹyin fun awọn ọwọn ti ipilẹṣẹ

atejade tu silẹ SQLite 3.31.0, DBMS iwuwo fẹẹrẹ ti a ṣe apẹrẹ bi ile-ikawe plug-in. Awọn koodu SQLite ti pin bi agbegbe gbogbo eniyan, i.e. le ṣee lo laisi awọn ihamọ ati laisi idiyele fun eyikeyi idi. Atilẹyin owo fun awọn olupilẹṣẹ SQLite ti pese nipasẹ ajọṣepọ ti a ṣẹda pataki, eyiti o pẹlu awọn ile-iṣẹ bii Adobe, Oracle, Mozilla, Bentley ati Bloomberg.

akọkọ iyipada:

  • Atilẹyin ti a ṣafikun ti ipilẹṣẹ ọwọn (awọn ọwọn iṣiro), eyiti o gba ọ laaye lati ṣalaye iwe kan nigbati o ṣẹda tabili ti iye rẹ jẹ iṣiro laifọwọyi da lori awọn akoonu ti iwe miiran. Awọn ọwọn ti ipilẹṣẹ le jẹ boya foju (ti ipilẹṣẹ lori fo pẹlu wiwọle kọọkan) tabi ti o fipamọ sinu ibi ipamọ data (ti o fipamọ ni gbogbo igba ti awọn imudojuiwọn ti o jọmọ). Awọn akoonu ti awọn ọwọn ti ipilẹṣẹ wa nikan ni ipo kika (awọn iyipada ṣe nikan nipasẹ iyipada ti iye ninu iwe miiran ti o ni ipa ninu iṣiro). Fun apere:

    Ṣẹda tabili t1(
    Bọtini akọkọ INTEGER kan,
    b INT,
    c Ọrọ,
    d INT ti ipilẹṣẹ nigbagbogbo bi (a*abs (b)) FIRTUAL,
    e TEXT ti ipilẹṣẹ nigbagbogbo bi (substr(c,b,b+1)) Ti o ti fipamọ
    );

  • PRAGMA ti a ṣafikun gbẹkẹle_schema, eto SQLITE_DBCONFIG_TRUSTED_SCHEMA ati aṣayan apejọ “-DSQLITE_TRUSTED_SCHEMA”, eyiti o gba ọ laaye lati ṣakoso ifisi aabo lodi si awọn ikọlu nipasẹ iyipada ti eto data ni database. Idaabobo ti nṣiṣe lọwọ ṣe ihamọ lilo awọn iṣẹ SQL (kii ṣe samisi SQLITE_INNOCUOUS) ni awọn okunfa, awọn iwo, Ṣayẹwo ati awọn alaye DEFAULT, awọn atọka, ati awọn ọwọn ti ipilẹṣẹ. Lilo awọn tabili foju ni awọn okunfa ati awọn iwo tun jẹ alaabo ayafi ti tabili foju ba jẹ ikede ni gbangba pẹlu asia SQLITE_VTAB_INNOCUOUS.
  • Ti ṣe imuse agbara lati fi awọn ohun-ini si awọn iṣẹ SQL ti a ṣalaye ninu awọn ohun elo SQLITE_INNOCUOUS (awọn iṣẹ ti ko lewu ti ko dale lori awọn paramita ita ati pe a ko le lo lati ṣe awọn iṣe irira) ati SQLITE_DIRECTONLY (ipe taara nikan ni awọn ibeere SQL, laisi iṣeeṣe ti lilo ninu awọn okunfa, awọn iwo ati awọn aworan igbekalẹ data);
  • module kun uuid pẹlu imuse awọn iṣẹ fun sisẹ UUID (RFC-4122);
  • PRAGMA ti a ṣafikun lile_heap_limit ati iṣẹ sqlite3_hard_heap_limit64() lati ṣakoso iwọn okiti ti o pọju;
  • Ninu PRAGMA function_list fi kun o wu iru, -ini ati awọn nọmba ti awọn ariyanjiyan ti kọọkan iṣẹ;
  • Si foju tabili DBSTAT fi kun ipo apapọ data;
  • sqlite3_open_v2 () ṣe imuse aṣayan SQLITE_OPEN_NOFOLLOW, eyiti o fun ọ laaye lati mu ṣiṣi awọn ọna asopọ aami ṣiṣẹ;
  • Fun ariyanjiyan PATH, ti o ti kọja si awọn iṣẹ JSON, atilẹyin ti a fi kun fun "#-N" ohun kikọ silẹ;
  • Ninu eto pinpin iranti oju oju atilẹyin fun awọn adagun iranti meji lọtọ ti ṣe imuse, ọkọọkan eyiti a le lo lati pin awọn bulọọki ti awọn titobi oriṣiriṣi (ipinya gba ọ laaye lati faagun lilo eto lookaside, lakoko ti o dinku iwọn ifipamọ ti a pin si asopọ kọọkan lati 120 si 48 KB);
  • Atilẹyin PRAGMA ti dawọ duro legacy_file_kika, eyi ti ko ni ibamu pẹlu VACUUM, awọn ọwọn ti a ti ipilẹṣẹ, ati awọn atọka ti o sọkalẹ (atilẹyin ọna kika julọ le jẹ pada nipasẹ SQLITE_DBCONFIG_LEGACY_FILE_FORMAT asia ni sqlite3_db_config ()).

orisun: opennet.ru

Fi ọrọìwòye kun