ΠΠ»Π°Π²Π½ΠΈΡΠ΅
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°
Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ (ΠΏΡΠ΅ΡΠΌΠ΅ΡΠ°Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ), ΠΊΠΎΠΈ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π°Ρ Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½Π° ΠΊΠΎΠ³Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΠ°Π±Π΅Π»Π° ΡΠΈΡΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΡΠ΅ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°ΡΠ° Π½Π° Π΄ΡΡΠ³Π° ΠΊΠΎΠ»ΠΎΠ½Π°. ΠΠ΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π±ΠΈΠ΄Π°Ρ ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ (Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π»Π΅Ρ ΡΠΎ ΡΠ΅ΠΊΠΎΡ ΠΏΡΠΈΡΡΠ°ΠΏ) ΠΈΠ»ΠΈ Π·Π°ΡΡΠ²Π°Π½ΠΈ Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ (ΡΠ΅ Π·Π°ΡΡΠ²ΡΠ²Π°Π°Ρ ΡΠ΅ΠΊΠΎΡ ΠΏΠ°Ρ ΠΊΠΎΠ³Π° ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°Π°Ρ). Π‘ΠΎΠ΄ΡΠΆΠΈΠ½Π°ΡΠ° Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ Π΅ Π΄ΠΎΡΡΠ°ΠΏΠ½Π° ΡΠ°ΠΌΠΎ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠΈΡΠ°ΡΠ΅ (ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠ°Π²Π°Ρ ΡΠ°ΠΌΠΎ ΠΏΡΠ΅ΠΊΡ ΠΏΡΠΎΠΌΠ΅Π½Π° Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠ° Π²ΠΎ Π΄ΡΡΠ³Π° ΠΊΠΎΠ»ΠΎΠ½Π° Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π²ΠΎ ΠΏΡΠ΅ΡΠΌΠ΅ΡΠΊΠ°ΡΠ°). ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ:ΠΠ ΠΠΠ ΠΠ Π’ΠΠΠΠΠ t1(
Π¦ΠΠ ΠΠ ΠΠΠΠ ΠΠ ΠΠΠ£Π§,
Π± ΠΠΠ’,
Π² Π’ΠΠΠ‘Π’,
Π³ ΠΠΠΠΠ ΠΠ ΠΠΠ Π‘ΠΠΠΠΠΠ¨ ΠΠΠΠ (a*abs(b)) ΠΠΠ Π’Π£ΠΠΠΠ,
e Π’ΠΠΠ‘Π’ ΠΠΠΠΠ ΠΠ ΠΠ Π‘ΠΠΠΠΠΠ¨ ΠΠΠΠ (substr(c,b,b+1)) Π§Π£ΠΠ
); - ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ PRAGMA
trusted_schema , ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅SQLITE_DBCONFIG_TRUSTED_SCHEMA ΠΈ ΠΎΠΏΡΠΈΡΠ°ΡΠ° Π·Π° ΡΠΊΠ»ΠΎΠΏΡΠ²Π°ΡΠ΅ β-DSQLITE_TRUSTED_SCHEMAβ, ΠΊΠΎΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄Π½Π°ΠΏΠ°Π΄ΠΈ ΠΏΡΠ΅ΠΊΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠ½Π°ΡΠ° ΡΠ΅ΠΌΠ° Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠΊΡΠΈΠ²Π½Π°ΡΠ° Π·Π°ΡΡΠΈΡΠ° ΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π° ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ SQL (Π½Π΅ ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈ ΠΊΠ°ΠΊΠΎ SQLITE_INNOCUOUS) Π²ΠΎ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΡΠ²Π°ΡΠΈΡΠ΅, ΠΏΡΠ΅Π³Π»Π΅Π΄ΠΈΡΠ΅, ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈΡΠ΅ ΠΈΠ·ΡΠ°Π²ΠΈ, ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ. Π£ΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΡΠ°Π±Π΅Π»ΠΈ Π²ΠΎ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΡΠ²Π°ΡΠΈΡΠ΅ ΠΈ ΠΏΡΠΈΠΊΠ°Π·ΠΈΡΠ΅ Π΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½Π°, ΠΎΡΠ²Π΅Π½ Π°ΠΊΠΎ Π²ΠΈΡΡΡΠ΅Π»Π½Π°ΡΠ° ΡΠ°Π±Π΅Π»Π° Π½Π΅ Π΅ Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°Π½Π° ΡΠΎ Π·Π½Π°ΠΌΠ΅Π½ΡΠ΅ΡΠΎ SQLITE_VTAB_INNOCUOUS. - ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π·Π° Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ ΡΠ²ΠΎΡΡΡΠ²Π° Π½Π° SQL ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅
SQLITE_INNOCUOUS (Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠΈ Π½Π΅ Π·Π°Π²ΠΈΡΠ°Ρ ΠΎΠ΄ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠ°Π»ΠΈΡΠΈΠΎΠ·Π½ΠΈ Π΄Π΅ΡΡΡΠ²Π°) ΠΈSQLITE_DIRECTONLY (ΡΠ°ΠΌΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ ΠΏΠΎΠ²ΠΈΠΊ Π²ΠΎ SQL ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ°, Π±Π΅Π· ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π²ΠΎ ΡΡΠΈΠ³Π΅ΡΠΈ, ΠΏΡΠ΅Π³Π»Π΅Π΄ΠΈ ΠΈ Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌΠΈ Π·Π° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ); - ΠΠΎΠ΄Π°Π΄Π΅Π½ ΠΌΠΎΠ΄ΡΠ»
uuid ΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° UUID (RFC-4122); - ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ PRAGMA
hard_heap_limit ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠ°sqlite3_hard_heap_limit64() Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° Π³ΡΠ°ΠΌΠ°Π΄Π°; - ΠΠΎ ΠΠ ΠΠΠΠ
ΡΡΠ½ΠΊΡΠΈΡΠ°_Π»ΠΈΡΡΠ° Π΄ΠΎΠ΄Π°Π΄Π΅Π½ ΠΈΠ·Π»Π΅Π· Π½Π° ΡΠΈΠΏ, ΡΠ²ΠΎΡΡΡΠ²Π° ΠΈ Π±ΡΠΎΡ Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ Π½Π° ΡΠ΅ΠΊΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΡΠ°; - ΠΠ° Π²ΠΈΡΡΡΠ΅Π»Π½Π° ΡΠ°Π±Π΅Π»Π° DBSTAT
Π΄ΠΎΠ΄Π°Π΄Π΅ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ; - sqlite3_open_v2() ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΎΠΏΡΠΈΡΠ°ΡΠ° SQLITE_OPEN_NOFOLLOW, ΠΊΠΎΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈΡΠ΅ ΠΎΡΠ²ΠΎΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΡΠΈΠΌΠ±ΠΎΠ»ΠΈΡΠ½ΠΈ Π²ΡΡΠΊΠΈ;
- ΠΠ° Π°ΡΠ³ΡΠΌΠ΅Π½Ρ
PATH , ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ Π½Π° JSON ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π½ΠΎΡΠ°ΡΠΈΡΠ° Π½Π° Π½ΠΈΠ·Π°ΡΠ° β#-Nβ; - ΠΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°
Π½Π°ΡΡΡΠ°Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π΄Π²Π° ΠΏΠΎΡΠ΅Π±Π½ΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ Π±Π°Π·Π΅Π½ΠΈ, ΠΎΠ΄ ΠΊΠΎΠΈ ΡΠ΅ΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π±Π° Π½Π° Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½ΠΈ (ΠΎΠ΄Π²ΠΎΡΡΠ²Π°ΡΠ΅ΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ° ΠΏΡΠΎΡΠΈΡΠΈΡΠ΅ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° ΠΏΠΎΠ³Π»Π΅Π΄, Π΄ΠΎΠ΄Π΅ΠΊΠ° ΡΠ° Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΡΠ°ΠΌΠΏΠΎΠ½ΠΎΡ Π΄ΠΎΠ΄Π΅Π»Π΅Π½ Π½Π° ΡΠ΅ΠΊΠΎΡΠ° Π²ΡΡΠΊΠ° ΠΎΠ΄ 120 Π½Π° 48 ΠΠ); - ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π½Π° PRAGMA Π΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π°ΡΠ°
legacy_file_format , ΡΡΠΎ Π±Π΅ΡΠ΅ Π½Π΅ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎ ΡΠΎ VACUUM, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΈ ΠΎΠΏΠ°ΡΠ°ΡΠΊΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ (ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° Π½Π°ΡΠ»Π΅Π΄Π΅Π½ ΡΠΎΡΠΌΠ°Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΡΠ°ΡΠΈ ΠΏΡΠ΅ΠΊΡ Π·Π½Π°ΠΌΠ΅ΡΠΎ SQLITE_DBCONFIG_LEGACY_FILE_FORMAT Π²ΠΎ sqlite3_db_config()).
ΠΠ·Π²ΠΎΡ: opennet.ru