ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° Π²Π΅ΡΡΠΈΡ SQLite 3.38, Π»Π΅ΠΊΠ° Π‘Π£ΠΠ, ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π° ΠΊΠ°ΡΠΎ ΡΠ²ΡΡΠ·Π²Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°. ΠΠΎΠ΄ΡΡ Π½Π° SQLite ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΊΠ°ΡΠΎ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π΄ΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Ρ.Π΅. ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±Π΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈ Π±Π΅Π·Π²ΡΠ·ΠΌΠ΅Π·Π΄Π½ΠΎ Π·Π° Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΡΠ΅Π»ΠΈ. Π€ΠΈΠ½Π°Π½ΡΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° SQLite ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΊΠΎΠ½ΡΠΎΡΡΠΈΡΠΌ, Π² ΠΊΠΎΠΉΡΠΎ ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΊΠ°ΡΠΎ Adobe, Oracle, Mozilla, Bentley ΠΈ Bloomberg.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ -> ΠΈ ->>, ΠΊΠΎΠΈΡΠΎ ΠΎΠΏΡΠΎΡΡΡΠ²Π°Ρ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Π² JSON ΡΠΎΡΠΌΠ°Ρ. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡΡ Π½Π° Π½ΠΎΠ²ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ Π΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ MySQL ΠΈ PostgreSQL.
- Π ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΡΡΡΡΠ°Π² ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π΄Π°Π½Π½ΠΈ Π² JSON ΡΠΎΡΠΌΠ°Ρ, Π·Π° ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΈ Π±Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Ρ ΡΠ»Π°Π³Π° Β«-DSQLITE_ENABLE_JSON1Β». ΠΠ° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° JSON Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΡΠ»Π°Π³ Β«-DSQLITE_OMIT_JSONΒ».
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° unixepoch(), ΠΊΠΎΡΡΠΎ Π²ΡΡΡΠ° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° Π΅ΠΏΠΎΡ Π°ΡΠ° (Π±ΡΠΎΠΉ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΠΎΡ 1 ΡΠ½ΡΠ°ΡΠΈ 1970 Π³.).
- ΠΠ° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π²ΡΠ΅ΠΌΠ΅ ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈΡΠ΅ Β«autoΒ» ΠΈ Β«juliandayΒ».
- SQL-ΡΡΠ½ΠΊΡΠΈΡΡΠ° printf() Π΅ ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π° Π½Π° format() Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Ρ Π΄ΡΡΠ³ΠΈ Π‘Π£ΠΠ (ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΡΠ°ΡΠΎΡΠΎ ΠΈΠΌΠ΅ Π΅ Π·Π°ΠΏΠ°Π·Π΅Π½Π°).
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ sqlite3_error_offset() Π·Π° ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ Π² Π·Π°ΡΠ²ΠΊΠ°ΡΠ°.
- Π ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ: sqlite3_vtab_distinct(), sqlite3_vtab_rhs_value() ΠΈ sqlite3_vtab_in(), ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½ΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ SQLITE_INDEX_CONSTRAINT_LIMIT ΠΈ SQLITE_INDEX_CONSTRAINT_OFFSET.
- Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ Π·Π° ΡΠ°Π±ΡΠ»Π°ΡΠΈΡ ΠΈ Π½ΠΎΠ² ΡΠ΅Π΄ Π² ΡΠ΅ΠΊΡΡΠ°, ΠΈΠ·Π²Π΅Π΄Π΅Π½ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΎΠ»ΠΎΠ½Π½ΠΈ ΡΠ΅ΠΆΠΈΠΌΠΈ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΠΈΡΠ΅ Β«βwrap NΒ», Β«βwordwrap onΒ» ΠΈ Β«βquoteΒ» ΠΏΡΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π² Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΈ. Π ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° .import Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π½Π° ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΠ΅.
- Π ΠΏΠ»Π°Π½ΠΈΡΠ°ΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΈ Π·Π°ΡΠ²Π½ΠΈΡΠΈ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ½Π° ΡΡΡΡΠΊΡΡΡΠ° bloom filter, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ Π² Π½Π°Π±ΠΎΡΠ°. ΠΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅ UNION ΠΈ UNION ALL, ΠΎΠ±Ρ Π²Π°ΡΠ°ΡΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ SELECT Ρ ΡΠ΅ΠΊΡΠΈΠΈ ORDER BY, Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΎ Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½ΠΎ Π΄ΡΡΠ²ΠΎ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅.
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Π½Π°Π±ΠΎΡΠ° sqlite-utils 3.24, Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ° ΡΡΠΈΠ»ΠΈΡΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ ΠΠ SQLite. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ JSON, CSV ΠΈΠ»ΠΈ TSV Π² ΡΠ°ΠΉΠ» Π½Π° ΠΠ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° ΡΡ
Π΅ΠΌΠ° Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° SQL Π·Π°ΡΠ²ΠΊΠΈ Π²ΡΡΡ
Ρ CSV, TSV ΠΈ JSON ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ»Π΅Π½ ΡΠ΅ΠΊΡΡΠΎΠ² ΡΡΡΡΠ΅Π½Π΅ Π² ΠΠ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΡΡ
Π΅ΠΌΠ° Π½Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ALTER TABLE Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠΈΠΏΠ° Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΠ΅), ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ Π² ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
