ВСрсия Π½Π° SQLite 3.40

Π˜Π·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° SQLite 3.40, Π»Π΅ΠΊΠ° Π‘Π£Π‘Π”, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π° ΠΊΠ°Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° с Π΄ΠΎΠ±Π°Π²ΠΊΠΈ, бСшС ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π°. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° SQLite сС разпространява Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΡ‚ΠΎ пространство, Ρ‚.Π΅. ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±Π΅Π· ограничСния ΠΈ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ Π·Π° всякакви Ρ†Π΅Π»ΠΈ. Ѐинансовата ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° SQLite сС осигурява ΠΎΡ‚ спСциално създадСн консорциум, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΊΠ°Ρ‚ΠΎ Adobe, Oracle, Mozilla, Bentley ΠΈ Bloomberg.

Основни ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ:

  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ СкспСримСнтална функция Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° SQLite Π² ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ ΠΊΠΎΠ΄ Π½Π° WebAssembly, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС изпълнява Π² ΡƒΠ΅Π± Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ ΠΈ Π΅ подходящ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ JavaScript ΡƒΠ΅Π± прилоТСния. На ΡƒΠ΅Π± Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ сС прСдоставя високо Π½ΠΈΠ²ΠΎ, ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ интСрфСйс Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½ΠΈ Π² стила Π½Π° sql.js ΠΈΠ»ΠΈ Node.js, ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° ΠΎΠΊΠΎΠ»ΠΎ ниско Π½ΠΈΠ²ΠΎ C API ΠΈ API, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Web Worker, позволяващ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° асинхронни процСсори, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ нишки. Π”Π°Π½Π½ΠΈΡ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½ΠΈ ΠΎΡ‚ ΡƒΠ΅Π± прилоТСнията във WASM вСрсията Π½Π° SQLite, ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ ΠΎΡ‚ страна Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ OPFS (Origin-Private FileSystem) ΠΈΠ»ΠΈ window.localStorage API.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΏΠΎΠ²Ρ€Π΅Π΄Π΅Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žrecoverβ€œ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π² интСрфСйса Π½Π° командния Ρ€Π΅Π΄.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° Π΅ производитСлността Π½Π° планиращия заявки. ΠŸΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΈ са ограничСнията Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° индСкси с Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ с ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 63 ΠΊΠΎΠ»ΠΎΠ½ΠΈ (ΠΏΡ€Π΅Π΄ΠΈ индСксиранСто Π½Π΅ сС ΠΏΡ€ΠΈΠ»Π°Π³Π°ΡˆΠ΅ Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΊΠΎΠ»ΠΎΠ½ΠΈ с Ρ€Π΅Π΄Π½ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π°, ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΡ‚ 63). ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎ Π΅ индСксиранСто Π½Π° стойности, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΠΈΠ·Ρ€Π°Π·ΠΈ. Π—Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ ΠΈ Π±Π»ΠΎΠ±ΠΎΠ²Π΅ ΠΎΡ‚ диска ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ NOT NULL ΠΈ IS NULL Π΅ спряно. ΠŸΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚Π° Π΅ матСриализацията Π½Π° ΠΈΠ·Π³Π»Π΅Π΄ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ пълно сканиранС сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° само вСднъТ.
  • Π’ ΠΊΠΎΠ΄ΠΎΠ²Π°Ρ‚Π° Π±Π°Π·Π°, вмСсто Ρ‚ΠΈΠΏΠ° "char *", сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Ρ‚ΠΈΠΏ sqlite3_filename Π·Π° прСдставянС Π½Π° ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½Π° функция sqlite3_value_encoding().
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ Ρ€Π΅ΠΆΠΈΠΌ SQLITE_DBCONFIG_DEFENSIVE, ΠΊΠΎΠΉΡ‚ΠΎ забранява промяната Π½Π° вСрсията Π½Π° схСмата Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ към имплСмСнтацията Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° "PRAGMA integrity_check". НапримСр, Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π±Π΅Π· Ρ„Π»Π°Π³Π° STRICT Π½Π΅ трябва Π΄Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ числови стойности Π² ΠΊΠΎΠ»ΠΎΠ½ΠΈ TEXT ΠΈΠ»ΠΈ Π½ΠΈΠ·ΠΎΠ²ΠΈ стойности с числа Π² ΠΊΠΎΠ»ΠΎΠ½ΠΈ NUMERIC. Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»Π΅Π½ Ρ€Π΅Π΄ Π½Π° Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ с Ρ„Π»Π°Π³ "WITHOUT ROWID".
  • Π˜Π·Ρ€Π°Π·ΡŠΡ‚ "VACUUM INTO" Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ настройкитС Π½Π° "PRAGMA synchronous".
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опция Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ SQLITE_MAX_ALLOCATION_SIZE, която Π²ΠΈ позволява Π΄Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ ΠΏΡ€ΠΈ разпрСдСлянС Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚.
  • ВградСният Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° псСвдослучайни числа Π½Π° SQLite Π΅ ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Π» ΠΎΡ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΡ‚ΠΎΡ‡Π΅Π½ ΡˆΠΈΡ„ΡŠΡ€ RC4 към Chacha20.
  • Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° индСкси с Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ ΠΈΠΌΠ΅Π½Π° Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ схСми Π·Π° Π΄Π°Π½Π½ΠΈ.
  • НаправСни са ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° производитСлността, ΠΊΠΎΠΈΡ‚ΠΎ намаляват Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° процСсора с ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ 1% ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ‚ΠΈΠΏΠΈΡ‡Π½Π° активност.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru