Rhyddhau DBMS SQLite 3.31 gyda chefnogaeth ar gyfer colofnau a gynhyrchir

Cyhoeddwyd rhyddhau SQLite 3.31.0, DBMS ysgafn wedi'i ddylunio fel llyfrgell plug-in. Mae'r cod SQLite yn cael ei ddosbarthu fel parth cyhoeddus, h.y. gellir ei ddefnyddio heb gyfyngiadau ac yn rhad ac am ddim at unrhyw ddiben. Darperir cymorth ariannol i ddatblygwyr SQLite gan gonsortiwm a grëwyd yn arbennig, sy'n cynnwys cwmnïau fel Adobe, Oracle, Mozilla, Bentley a Bloomberg.

Y prif newidiadau:

  • Cefnogaeth ychwanegol colofnau a gynhyrchir (colofnau wedi'u cyfrifo), sy'n caniatáu ichi ddiffinio colofn pan fyddwch chi'n creu tabl y mae ei werth yn cael ei gyfrifo'n awtomatig yn seiliedig ar gynnwys colofn arall. Gall y colofnau a gynhyrchir fod naill ai'n rhithwir (wedi'u cynhyrchu ar y hedfan gyda phob mynediad) neu eu storio yn y gronfa ddata (arbed bob tro y bydd y colofnau cysylltiedig yn cael eu diweddaru). Mae cynnwys y colofnau a gynhyrchir ar gael yn y modd darllen yn unig (dim ond trwy addasu'r gwerth mewn colofn arall sy'n ymwneud â'r cyfrifiad y gwneir newidiadau). Er enghraifft:

    CREU TABL t1(
    ALLWEDD CYNRADD CYFRIFOL,
    b INT,
    c TESTUN,
    ch YN GYNHYRCHU BOB AMSER FEL (a*abs(b)) RHithwir,
    e TESTUN A GYNHYRCHIR BOB AMSER FEL (substr(c,b,b+1)) STORIO
    );

  • Ychwanegwyd PRAGMA sgema_ymddiried, gosodiad SQLITE_DBCONFIG_TRUSTED_SCHEMA a'r opsiwn cydosod “-DSQLITE_TRUSTED_SCHEMA”, sy'n eich galluogi i reoli cynnwys amddiffyniad rhag ymosodiadau trwy addasu'r sgema data yn y gronfa ddata. Mae amddiffyniad gweithredol yn cyfyngu ar y defnydd o swyddogaethau SQL (heb ei farcio SQLITE_INNOCUOUS) mewn sbardunau, golygfeydd, datganiadau TWYLLO a DEFAULT, mynegeion, a cholofnau a gynhyrchir. Mae defnyddio tablau rhithwir mewn sbardunau a golygfeydd hefyd wedi'i analluogi oni bai bod y tabl rhithwir wedi'i ddatgan yn benodol gyda baner SQLITE_VTAB_INNOCUOUS.
  • Wedi gweithredu'r gallu i aseinio eiddo i swyddogaethau SQL a ddiffinnir mewn cymwysiadau SQLITE_INNOCUOUS (swyddogaethau diniwed nad ydynt yn dibynnu ar baramedrau allanol ac na ellir eu defnyddio i gyflawni gweithredoedd maleisus) a SQLITE_DIRECTONLY (dim ond ymholiadau SQL galw i mewn, heb y posibilrwydd o ddefnyddio mewn sbardunau, golygfeydd a diagramau strwythur data);
  • Ychwanegwyd modiwl newydd gyda gweithredu swyddogaethau ar gyfer prosesu UUID (RFC-4122);
  • Ychwanegwyd PRAGMA caled_terfyn_terfyn a swyddogaeth sqlite3_hard_heap_limit64() i reoli maint uchaf y domen;
  • Yn PRAGMA swyddogaeth_rhestr allbwn ychwanegol o fath, priodweddau a nifer y dadleuon ar gyfer pob swyddogaeth;
  • I fwrdd rhithwir DBSTAT wedi adio modd cydgasglu data;
  • Mae sqlite3_open_v2() yn gweithredu'r opsiwn SQLITE_OPEN_NOFOLLOW, sy'n eich galluogi i analluogi agor dolenni symbolaidd;
  • Am ddadl PATH, wedi'i drosglwyddo i swyddogaethau JSON, cefnogaeth ychwanegol ar gyfer nodiant arae “#-N”;
  • Yn y system ddosbarthu cof edrych o'r neilltu mae cefnogaeth ar gyfer dau bwll cof ar wahân wedi'i roi ar waith, a gellir defnyddio pob un ohonynt i ddyrannu blociau o wahanol feintiau (mae gwahanu yn caniatáu ichi ehangu'r defnydd o'r system edrych o'r neilltu, tra'n lleihau maint y byffer a ddyrennir i bob cysylltiad o 120 i 48 KB);
  • Mae cymorth PRAGMA wedi dod i ben fformat_ffeil_ etifeddiaeth, a oedd yn anghydnaws â VACUUM, colofnau a gynhyrchwyd, a mynegeion disgynnol (gellir dychwelyd cefnogaeth fformat etifeddiaeth trwy'r baner SQLITE_DBCONFIG_LEGACY_FILE_FORMAT yn sqlite3_db_config()).

Ffynhonnell: opennet.ru

Ychwanegu sylw