Serbestberdana DBMS SQLite 3.31 bi piştgirîya stûnên çêkirî

weşandin berdan SQLite 3.31.0, DBMSek sivik wekî pirtûkxaneyek pêvek hatî çêkirin. Koda SQLite wekî qada gelemperî tê belav kirin, ango. dikare ji bo her armancê bê sînor û belaş were bikar anîn. Piştgiriya darayî ji bo pêşdebirên SQLite ji hêla konsorsiyûmek taybetî ve hatî afirandin, ku tê de pargîdaniyên wekî Adobe, Oracle, Mozilla, Bentley û Bloomberg tê peyda kirin.

sereke guhertin:

  • Piştgiriya zêde kir stûnên çêkirin (stûnên hesabkirî), ku dihêle hûn stûnek diyar bikin dema ku hûn tabloyek ku nirxa wê bixweber li ser bingeha naveroka stûnek din tê hesibandin diafirînin. Stûnên çêkirî dikarin virtual bin (bi her gihîştinê re di firînê de têne çêkirin) an jî di databasê de têne hilanîn (her gava ku stûnên têkildar têne nûve kirin têne tomar kirin). Naveroka stûnên çêkirî tenê di moda xwendinê de peyda dibin (guhartin tenê bi guheztina nirxê di stûnek din a ku di hesabkirinê de ye têne çêkirin). Bo nimûne:

    MASÊ ÇÊ DIKIN t1(
    KEYÊN SEREKÎ TEVGER,
    b INT,
    c TEXT,
    d HER HER WEK LI SER ÇÊBÛNA (a*abs(b)) VIRTUAL,
    e TEXT HER DEM WEK HATINE ÇÊKIRIN (substr(c,b,b+1)) PARASTIN
    );

  • PRAGMA lê zêde kir trusted_schema, danîn SQLITE_DBCONFIG_TRUSTED_SCHEMA û vebijarka kombûnê "-DSQLITE_TRUSTED_SCHEMA", ku dihêle hûn tevlêbûna parastinê li dijî kontrol bikin êrîşên bi guherandina şemaya daneyê ya di databasê de. Parastina çalak bikaranîna fonksiyonên SQL-ê (SQLITE_INNOCUOUS nayên nîşankirin) di tetîkkêşan, dîtinan, CHECK û DEFAULT daxuyaniyên, navnîşan û stûnên çêkirî de sînordar dike. Heya ku tabloya virtual bi eşkere bi ala SQLITE_VTAB_INNOCUOUS neyê ragihandin, karanîna tabloyên virtual di tetik û dîmenan de jî neçalak e.
  • Kapasîteya danasîna taybetmendiyan ji fonksiyonên SQL yên ku di serîlêdanan de hatine destnîşankirin bicîh anîn SQLITE_INNOCUOUS (fonksiyonên bêzerar ên ku bi pîvanên derveyî ve girêdayî ne û ji bo pêkanîna kiryarên xirab nayên bikar anîn) û SQLITE_DIRECTONLY (Di pirsên SQL-ê de tenê banga rasterast, bêyî ku îmkana karanîna di tetikan, dîtin û diagramên avahiya daneyê de were bikar anîn);
  • Module lê zêde kirin uuid bi pêkanîna fonksiyonên ji bo pêvajoyê UUID (RFC-4122);
  • PRAGMA lê zêde kir hard_heap_limit û fonksiyonê sqlite3_hard_heap_limit64() ji bo kontrolkirina mezinahiya herî zêde ya gir;
  • Li PRAGMA function_list berhema zêdekirî ya celeb, taybetmendî û hejmara argumanên her fonksiyonê;
  • Ji bo sifrê virtual DBSTAT zêde kirin moda berhevkirina daneyan;
  • sqlite3_open_v2() vebijarka SQLITE_OPEN_NOFOLLOW pêk tîne, ku dihêle hûn vekirina girêdanên sembolîk neçalak bikin;
  • Ji bo argumana ŞOP, ji fonksiyonên JSON re derbas bû, ji bo nîşana rêzika "#-N" piştgirî zêde kir;
  • Di pergala belavkirina bîranînê de binêre piştgirî ji bo du hewzên bîranînê yên cihêreng hatine bicîh kirin, ku her yek ji wan dikare were bikar anîn da ku blokên bi pîvanên cihêreng veqetîne (veqetandin dihêle hûn karanîna pergala lênihêrînê berfireh bikin, di heman demê de mezinahiya tampona ku ji her girêdanê re hatî veqetandin ji 120 ber 48 kêm dike. KB);
  • Piştgiriya PRAGMA hate rawestandin legacy_file_format, ya ku bi VACUUM re nehevaheng bû, stûnên çêkirî, û navnîşên daketinê (piştgiriya formata mîras dikare bi ala SQLITE_DBCONFIG_LEGACY_FILE_FORMAT di sqlite3_db_config() de were vegerandin).

Source: opennet.ru

Ji bo malperên bi parastina DDoS, serverên VPS VDS mêvandariya pêbawer bikirin 🔥 Hostinga malperê ya pêbawer bi parastina DDoS, serverên VPS VDS bikirin | ProHoster