ΠΠ° 9 Π°ΠΏΡΠΈΠ» Π±Π΅ΡΠ΅ ΠΏΡΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ 3.53.0 Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π°ΡΠ° ΠΊΡΠΎΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½Π° Π‘Π£ΠΠ SQLite. ΠΡΠΎΠ΅ΠΊΡΠ½ΠΈΡΡ ΠΊΠΎΠ΄ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΊΠ°ΡΠΎ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π΄ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ (public domain).
ΠΡΠΎΠΌΠ΅Π½ΠΈ:
- ΠΠΎΠΏΡΠ°Π²Π΅Π½Π° Π΅ Π³ΡΠ΅ΡΠΊΠ° Π±Π°Π³ Ρ ΠΊΠΎΡΡΠΏΡΠΈΡ ΠΏΡΠΈ Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° WAL Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. ΠΠΈΠΆΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π½ΠΎΠ²ΠΈΠ½Π° SQLite 3.51.3 Ρ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠ° Π·Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ WAL.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΡ SQL Π·Π°ΡΠ²ΠΊΠΈ Π€ΠΎΡΠΌΠ°ΡΠ΅Ρ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΡ Π·Π°ΡΠ²ΠΊΠΈ (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() , Π·Π° Π΄Π° ΡΠ΅ ΡΠΊΠ°ΠΆΠ΅, ΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π΅ ΠΊΠΎΠ΄ΠΈΡΠ°Π½a Π² 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
