Жасалған бағандарға қолдау көрсететін ДҚБЖ SQLite 3.31 шығарылымы

жарияланды босату SQLite 3.31.0, қосылатын модуль кітапханасы ретінде жасалған жеңіл ДҚБЖ. SQLite коды жалпыға ортақ домен ретінде таратылады, яғни. кез келген мақсатта шектеусіз және тегін пайдалануға болады. SQLite әзірлеушілеріне қаржылық қолдау Adobe, Oracle, Mozilla, Bentley және Bloomberg сияқты компанияларды қамтитын арнайы құрылған консорциуммен қамтамасыз етіледі.

басты өзгерту:

  • Қосымша қолдау құрылған бағандар (есептелген бағандар), олар басқа бағанның мазмұны негізінде мәні автоматты түрде есептелетін кестені жасаған кезде бағанды ​​анықтауға мүмкіндік береді. Жасалған бағандар виртуалды болуы мүмкін (әр қатынау кезінде жылдам жасалған) немесе дерекқорда сақталуы мүмкін (қатысты бағандар жаңартылған сайын сақталады). Жасалған бағандардың мазмұны тек оқу режимінде қол жетімді (өзгертулер тек есептеуге қатысатын басқа бағандағы мәнді өзгерту арқылы жасалады). Мысалы:

    t1 КЕСТЕСІН ҚҰРУ(
    БҮТІН САН БАСТАУЫШ КҮЙЕУІ,
    b INT,
    c МӘТІН,
    d ИНТ ӘРҚАШАН (a*abs(b)) ВИРТУАЛДЫҚ,
    e МӘТІН ӘРҚАШАН (substr(c,b,b+1)) САҚТАЛАТЫН
    );

  • ПРАГМА қосылды сенімді_схема, орнату SQLITE_DBCONFIG_TRUSTED_SCHEMA және қорғауды қосуды басқаруға мүмкіндік беретін «-DSQLITE_TRUSTED_SCHEMA» құрастыру опциясы шабуылдар дерекқордағы деректер схемасын өзгерту арқылы. Белсенді қорғау триггерлерде, көріністерде, CHECK және DEFAULT мәлімдемелерінде, индекстерде және жасалған бағандарда SQL функцияларын (SQLITE_INNOCUOUS деп белгіленбеген) пайдалануды шектейді. Виртуалды кестелерді SQLITE_VTAB_INNOCUOUS жалаушасымен анық жарияламайынша, триггерлер мен көріністерде виртуалды кестелерді пайдалану да өшіріледі.
  • Қосымшаларда анықталған SQL функцияларына сипаттарды тағайындау мүмкіндігін іске асырды SQLITE_INNOCUOUS (сыртқы параметрлерге тәуелді емес және зиянды әрекеттерді орындау үшін пайдаланылмайтын зиянсыз функциялар) және SQLITE_DIRECTONLY (триггерлерде, көріністерде және деректер құрылымы диаграммаларында пайдалану мүмкіндігінсіз тек SQL сұрауларында тікелей шақыру);
  • Қосылған модуль uuid UUID өңдеу функцияларын жүзеге асырумен (RFC-4122);
  • ПРАГМА қосылды қатты_үйме_шегі және функция sqlite3_hard_heap_limit64() максималды үйме өлшемін басқару;
  • ПРАГМА-да функция_тізімі әр функцияның түрінің, қасиеттерінің және аргументтерінің санының қосылған шығысы;
  • DBSTAT виртуалды кестесіне қосылды мәліметтерді жинақтау режимі;
  • sqlite3_open_v2() символдық сілтемелерді ашуды өшіруге мүмкіндік беретін SQLITE_OPEN_NOFOLLOW опциясын жүзеге асырады;
  • Аргумент үшін PATH, JSON функцияларына берілді, «#-N» массив белгілеуіне қолдау қосылды;
  • Жадты тарату жүйесінде қарап екі бөлек жад пулын қолдау жүзеге асырылды, олардың әрқайсысы әртүрлі өлшемдегі блоктарды бөлу үшін пайдаланылуы мүмкін (бөлу әр қосылымға бөлінген буфер өлшемін 120-дан 48-ге дейін қысқарта отырып, сыртқы жүйені пайдалануды кеңейтуге мүмкіндік береді. KB);
  • PRAGMA қолдауы тоқтатылды бұрынғы_файл_пішіміVACUUM, жасалған бағандар және кему индекстерімен үйлеспейтін (бұрынғы пішім қолдауын sqlite3_db_config() ішіндегі SQLITE_DBCONFIG_LEGACY_FILE_FORMAT жалаушасы арқылы қайтаруға болады).

Ақпарат көзі: opennet.ru

пікір қалдыру