SQLite 3.37 release

De frijlitting fan SQLite 3.37, in lichtgewicht DBMS Γ»ntworpen as in plug-in bibleteek, is publisearre. De SQLite-koade wurdt ferspraat yn it publike domein, d.w.s. kin brΓ»kt wurde sΓ»nder beheiningen en fergees foar elk doel. Finansjele stipe foar SQLite-Γ»ntwikkelders wurdt levere troch in spesjaal makke konsortium, dat bedriuwen lykas Adobe, Oracle, Mozilla, Bentley en Bloomberg omfettet.

Grutte feroaringen:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° создания Ρ‚Π°Π±Π»ΠΈΡ† с ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ Β«STRICTΒ», Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ указания Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΈ объявлСнии столбцов ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΌ ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ соотвСтствия Ρ‚ΠΈΠΏΠΎΠ² добавляСмых Π² столбцы Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ выставлСнии Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π»Π°Π³Π° SQLite станСт Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ нСвозмоТности привСсти ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊ Ρ‚ΠΈΠΏΡƒ столбца. НапримСр, Ссли столбСц создан ΠΊΠ°ΠΊ Β«INTEGERΒ», Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° строкового значСния β€˜123’ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ добавлСнию числа 123, Π½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° указания β€˜xyz’ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ ошибкой.
  • Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Β«ALTER TABLE ADD COLUMNΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условий сущСствования строк ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ столбцов с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌΠΈ Π½Π° Π±Π°Π·Π΅ выраТСния Β«CHECKΒ» ΠΈΠ»ΠΈ с условиями Β«NOT NULLΒ».
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Β«PRAGMA table_listΒ» для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… ΠΈ прСдставлСниях.
  • Π’ интСрфСйсС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«.connectionΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ нСсколько соСдинСний ΠΊ Π‘Π”.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«β€”safeΒ», ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ CLI-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ SQL-выраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π‘Π”, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ ΠΎΡ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Π‘Π”.
  • Π’ CLI ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ чтСния SQL-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π½Π° нСсколько строк.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sqlite3_autovacuum_pages(), sqlite3_changes64() ΠΈ sqlite3_total_changes64().
  • Π’ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ΅ запросов обСспСчСно ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Β«ORDER BYΒ» Π² подзапросах ΠΈ прСдставлСниях, Ссли ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ измСняСт сСмантику запроса.
  • ИзмСнСно Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ generate_series(START,END,STEP), ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ (Β«STARTΒ») ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ Π² разряд ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…. Для возвращСния старого повСдСния Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° пСрСсборка с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ Β«-DZERO_ARGUMENT_GENERATE_SERIESΒ».
  • Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти для хранСния схСмы Π‘Π”.

Boarne: opennet.ru

Add a comment