Выпуск СКБД SQLite 3.51

Апублікаваны рэліз SQLite 3.51, легкаважнай СКБД, аформленай у выглядзе бібліятэкі, якая падключаецца. Код SQLite распаўсюджваецца як грамадскі здабытак (public domain), г.зн. можа выкарыстоўвацца без абмежаванняў і бязвыплатна ў любых мэтах. Фінансавую падтрымку распрацоўшчыкаў SQLite ажыццяўляе спецыяльна створаны кансорцыум.

Асноўныя змены:

  • Дададзеныя новыя JSON-функцыі jsonb_each() і jsonb_tree(), якія адрозніваюцца ад раней даступных функцый json_each() і json_tree() тым, што вяртаюць значэнне JSONB для дадзеных з тыпам масіў ці аб'ект.
  • Код пашырэнняў carray і percentile перанесены ў базавы файл "sqlite3.c" са ўбудаваным кодам SQLite. Па змаўчанні дадзеныя дадаткі адключаныя і патрабуюць указання пры зборцы параметраў "-DSQLITE_ENABLE_CARRAY" і "-DSQLITE_ENABLE_PERCENTILE".
  • Палепшаны інтэрфейс для выкарыстання SQLite у скрыптах на мове Tcl. У каманду "eval" дададзены сцяг "-asdict" для выстаўлення радкоў з выкарыстаннем тыпу "dict" замест "array". Дададзена магчымасць перапынення карыстацкіх функцый для вяртання значэння NULL.
  • Змены ў інтэрфейсе каманднага радка:
    • Дакладнасць каманды ".timer" павялічана да мікрасекунд;
    • У рэжымах фарматавання "box" і "column" рэалізавана падтрымка сімвалаў з падвойнай шырынёй;
    • Каманда ".imposter" зараз можа падаваць у рэжыме толькі для чытання imposter-табліцы (дазваляюць атрымаць доступ да дадзеных у азначніку як да табліцы), якія працуюць з аперацыяй VACUUM і не патрабавальныя запуску са сцягам "—unsafe-testing»;
    • Ва ўтыліту sqlite і каманду ".open" дададзена опцыя "-ifexists".
    • Максімальная шырыня радка, якая выстаўляецца пры дапамозе каманды ".width", абмежавана 30000 знакаў.
  • Унесены аптымізацыі прадукцыйнасці:
    • Скарочана нагрузка на CPU пры фіксацыі транзакцый, абмежаваных доступам на чытанне;
    • Палепшана вызначэнне аперацый зліцця (JOIN), якія не вяртаюць радкі з-за таго, што адна або некалькі табліц не змяшчае радкоў;
    • Выключана выкананне скалярных подзапросов, якія не ўплываюць на вынік;
    • Паскорана праца аконных функцый у запытах з выразам "BETWEEN 😡 FOLLOWING AND :y FOLLOWING" і вельмі вялікім значэнні ":y".
  • Дададзена прагма "PRAGMA wal_checkpoint=NOOP" і функцыя API sqlite3_wal_checkpoint() для фіксацыі змен у WAL-логу
  • У API дададзеныя функцыі sqlite3_set_errmsg() і sqlite3_db_status64().
  • У JavaScript/WASM-версіі SQLite рэалізавана падтрымка зборкі ва ўяўленне WebAssembly з 64-разраднымі паказальнікамі.
  • Падвышаная ўстойлівасць ад пашкоджання БД у прыкладаннях, якія здымаюць POSIX-блакаванні праз выклік close().
  • Палепшана падтрымка платформы VxWorks.

Крыніца: opennet.ru

Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы 🔥 Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы | ProHoster