9-Π³ΠΎ Π°ΠΏΡΠ΅Π»Ρ ΡΠΎΡΡΠΎΡΠ»ΡΡ Π²ΡΠΏΡΡΠΊ 3.53.0 ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΠΉ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π‘Π£ΠΠ SQLite. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ C ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π΄ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ (public domain).
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° WAL-reset database corruption bug. Π‘ΠΌ. ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ Π½ΠΎΠ²ΠΎΡΡΡ SQLite 3.51.3 Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ WAL.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² Query Result Formatter (QRF) Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΡΠ΅Π½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Ρ ΡΡΠΈΡΡΠΎΠΌ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠΈΡΠΈΠ½Ρ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ format ΠΊ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ TCL Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ QRF ΠΈΠ· TCL.
- QRF ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΠ΅ sqlite Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΡΠΎ ΡΠ»ΡΡΡΠΈΠ»ΠΎ ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
- ΠΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° SQL:
- Π£Π»ΡΡΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ALTER TABLE Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ NOT NULL ΠΈ CHECK.
- ΠΠΏΠ΅ΡΠ°ΡΠΎΡ REINDEX EXPRESSIONS Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
- Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠΈΠ³Π³Π΅ΡΡ TEMP ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈ/ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡ Π΅ΠΌΡ.
- Π£Π»ΡΡΡΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° VACUUM INTO: Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π΄ΡΠ΅ΡΠ° Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ URI, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠ° reserve=N (Π³Π΄Π΅ N β ΡΠΈΡΠ»ΠΎ ΠΎΡ 0 Π΄ΠΎ 255), ΠΎΠ±ΡΠ΅ΠΌ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π²Π½ΡΠΌ N.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ SQL:
- ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΠ΅:
- ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ .mode.
- ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ QRF ΡΠ»ΡΡΡΠ΅Π½ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΡΠ»Π° ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ Π²ΠΏΡΠ°Π²ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°.
- ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ QRF ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² Π±Π»ΠΎΠΊΠ°Ρ , ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Unicode ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ², ΡΡΠΎ ΠΏΠΎΠ²ΡΡΠΈΠ»ΠΎ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ. Π£ΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ.
- ΠΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠ΅ (Π½Π΅ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ) ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ ΡΠΎΡΠΊΠΎΠΉ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ Π±Π΅Π· ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ. βΠΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°Ρ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ!
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ .testcase ΠΈ .check. Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ , Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ² SQLite, Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ.
- ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌ *.sql ΠΈΠ»ΠΈ *.txt ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΈΠΌΠ΅Π½Π° Π½Π΅ΠΏΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΡΡΡΡ ΠΊΠ°ΠΊ ΡΠΊΡΠΈΠΏΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ SQL-ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈ/ΠΈΠ»ΠΈ [ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ ΡΠΎΡΠΊΠΎΠΉ]((https://sqlite.org/cli.html#dotcmd).
- Π’Π΅ΠΏΠ΅ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ .timer ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ once Π΄Π»Ρ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ SQL-Π·Π°ΠΏΡΠΎΡΠ°.
- ΠΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βtimeout S ΠΊΠΎΠΌΠ°Π½Π΄Ρ .progress ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ S ΡΠ΅ΠΊΡΠ½Π΄.
- ΠΠΎΠΌΠ°Π½Π΄Π° .indexes ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° ΡΠ°ΠΊ, ΡΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ PATTERN ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, Π° Π½Π΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ (Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ΅ΠΌΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ PATTERN ΡΡΠ°Π» Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ .indexes Π±ΡΠ»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠ²ΡΡ ΠΎΠΏΡΠΈΠΉ.
- Π£Π»ΡΡΡΠ΅Π½ΠΈΡ Π² C API:
- sqlite3_str_truncate()
- sqlite3_str_free()
- sqlite3_carray_bind_v2()
- Π ΡΡΠ½ΠΊΡΠΈΡ sqlite3_prepare_v3() Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ SQLITE_PREPARE_FROM_DDL, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°ΡΡ SQL-ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ· ΡΡ Π΅ΠΌΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° SQLITE_UTF8_ZT, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ Π² ΡΡΠ½ΠΊΡΠΈΡΡ sqlite3_result_text64() ΠΈΠ»ΠΈ sqlite3_bind_text64() Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΎ Π² UTF-8 ΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π½ΡΠ»Π΅ΠΌ.
- Π ΡΡΠ½ΠΊΡΠΈΡ sqlite3_limit() Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ SQLITE_LIMIT_PARSER_DEPTH.
- Π ΡΡΠ½ΠΊΡΠΈΡ sqlite3_db_config() Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ SQLITE_DBCONFIG_FP_DIGITS. Π’Π°ΠΊΠΆΠ΅ ΡΠΌ. ΡΠ°ΠΌ ΠΏΡΠ½ΠΊΡ 9b Π½ΠΈΠΆΠ΅.
- Π£Π»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ²:
- ΠΠ»Ρ EXCEPT, INTERSECT ΠΈ UNION Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ Π΅Ρ-ΡΠ°Π±Π»ΠΈΡ.
- Π£Π»ΡΡΡΠ΅Π½ΠΈΡ Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ΅ Π²ΡΠ±ΠΎΡΠ° ΠΏΠΎΡΡΠ΄ΠΊΠ° join ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π² Π·Π²Π΅Π·Π΄ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅.
- Π£ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ EXISTS Π² JOIN ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ JOIN Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠΈΠΊΠ»Π°Ρ , ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΈΠΊΠ»ΠΎΠ² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ EXISTS Π² JOIN Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠΈΠΊΠ»Π°Ρ .
- Π£ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ omit-noop-join ΡΠ°ΠΊ, ΡΡΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΠΏΠΎΡΠΊΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, Π½Π΅ Π²Π»ΠΈΡΡΡΠΈΡ Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
- ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ GROUP BY e1 ORDER BY e2, Π³Π΄Π΅ e1 ΠΈ e2 ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ASC/DESC, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°.
- ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° DISTINCT Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π½Π°Π±ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠ° Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΡ ORDER BY.
- Π ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π°Π½ΡΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡ sqlite3_changegroup:
- Π£Π»ΡΡΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ β ΡΠ΅ΠΊΡΡ.
- ΠΠΎΠ΄ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
- Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π΄ΠΎ 17 Π·Π½Π°ΡΠ°ΡΠΈΡ ΡΠΈΡΡ Π²ΠΌΠ΅ΡΡΠΎ 15, ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ»ΠΎ Π²ΠΎ Π²ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΡΡ . ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ sqlite3_db_config Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ SQLITE_DBCONFIG_FP_DIGITS (ΡΠΌ. ΡΠ°ΠΌ ΠΏΡΠ½ΠΊΡ 6g Π²ΡΡΠ΅).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΠΌΠΎΠ²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
- Π ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΡΡ sqlite3_rsync Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ -p|βport.
- ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Windows RT.
- JavaScript/WASM
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° VFS opfs-wl, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Π°Ρ opfs, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ°Ρ Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ Web Locks, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ, ΡΠ΅ΠΌ Π² ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ opfs. opfs-wl ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Atomics.waitAsync(), ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ ΡΡΠ΅Π±ΡΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ², ΡΠ΅ΠΌ Π΄Π»Ρ opfs.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru
