рдЙрддреНрдкрдиреНрди рд╕реНрддрдореНрднрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдердирдХреЛ рд╕рд╛рде DBMS SQLite 3.31 рдХреЛ рд░рд┐рд▓реАрдЬ

рдкреНрд░рдХрд╛рд╢рд┐рдд рд░рд┐рд▓реАрдЬ SQLite рей, рдкреНрд▓рдЧ-рдЗрди рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдХреЛ рд░реВрдкрдорд╛ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣рд▓реНрдХрд╛ DBMSред SQLite рдХреЛрдб рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрдирдХреЛ рд░реВрдкрдорд╛ рд╡рд┐рддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЕрд░реНрдерд╛рддреНред рдХреБрдиреИ рдкрдирд┐ рдЙрджреНрджреЗрд╢реНрдпрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рддрд┐рдмрдиреНрдз рдмрд┐рдирд╛ рд░ рдирд┐: рд╢реБрд▓реНрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред SQLite рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рддреНрддреАрдп рд╕рдорд░реНрдерди рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдХрдиреНрд╕реЛрд░реНрдЯрд┐рдпрдорджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдорд╛ Adobe, Oracle, Mozilla, Bentley рд░ Bloomberg рдЬрд╕реНрддрд╛ рдХрдореНрдкрдиреАрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред

рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реН:

  • рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ рдЙрддреНрдкрдиреНрди рд╕реНрддрдореНрднрд╣рд░реВ (рдЧрдгрдирд╛ рдЧрд░рд┐рдПрдХрд╛ рд╕реНрддрдореНрднрд╣рд░реВ), рдЬрд╕рд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдПрдЙрдЯрд╛ рд╕реНрддрдореНрдн рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдЬрдм рддрдкрд╛рдЗрдБ рддрд╛рд▓рд┐рдХрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рдЬрд╕рдХреЛ рдорд╛рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдЕрд░реНрдХреЛ рд╕реНрддрдореНрднрдХреЛ рд╕рд╛рдордЧреНрд░реАрдХреЛ рдЖрдзрд╛рд░рдорд╛ рдЧрдгрдирд╛ рдЧрд░рд┐рдиреНрдЫред рдЙрддреНрдкрдиреНрди рдЧрд░рд┐рдПрдХрд╛ рд╕реНрддрдореНрднрд╣рд░реВ рдпрд╛ рдд рднрд░реНрдЪреБрдЕрд▓ (рдкреНрд░рддреНрдпреЗрдХ рдкрд╣реБрдБрдЪрдХреЛ рд╕рд╛рде рдЙрдбрд╛рдирдорд╛ рдЙрддреНрдкрдиреНрди) рд╡рд╛ рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ (рд╕рдореНрдмрдиреНрдзрд┐рдд рд╕реНрддрдореНрднрд╣рд░реВ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рд╣реБрдБрджрд╛ рдкреНрд░рддреНрдпреЗрдХ рдкрдЯрдХ рдмрдЪрдд рдЧрд░рд┐рдПрдХреЛ)ред рдЙрддреНрдкрдиреНрди рдЧрд░рд┐рдПрдХрд╛ рд╕реНрддрдореНрднрд╣рд░реВрдХреЛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдкрдвреНрдиреЗ рдореЛрдбрдорд╛ рдорд╛рддреНрд░ рдЙрдкрд▓рдмреНрдз рдЫрдиреН (рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЧрдгрдирд╛рдорд╛ рд╕рдВрд▓рдЧреНрди рдЕрд░реНрдХреЛ рд╕реНрддрдореНрднрдорд╛ рдорд╛рди рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЧрд░реЗрд░ рдорд╛рддреНрд░ рдЧрд░рд┐рдиреНрдЫ)ред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐:

    рддрд╛рд▓рд┐рдХрд╛ t1 рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реН
    рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдЮреНрдЬреА,
    b INT,
    рдЧ рдкрд╛рда,
    d рд╕рдзреИрдВ (a*abs(b)) рднрд░реНрдЪреБрдЕрд▓ рд░реВрдкрдорд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫ,
    e рдкрд╛рда рд╕рдзреИрдВ (substr(c,b,b+1)) рднрдгреНрдбрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рд░реВрдкрдорд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫ
    );

  • PRAGMA рдердкреНрдиреБрднрдпреЛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп_рд╕реНрдХреАрдорд╛, рд╕реЗрдЯрд┐рдЩ 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() рдЕрдзрд┐рдХрддрдо рдвреЗрд░ рдЖрдХрд╛рд░ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди;
  • PRAGMA рдорд╛ function_list рдкреНрд░рдХрд╛рд░, рдЧреБрдг рд░ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░реНрдп рдХреЛ рддрд░реНрдХ рдХреЛ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдердкрд┐рдпреЛ;
  • рднрд░реНрдЪреБрдЕрд▓ рддрд╛рд▓рд┐рдХрд╛ DBSTAT рдорд╛ рдердкреЗ рдбрд╛рдЯрд╛ рдПрдХрддреНрд░реАрдХрд░рдг рдореЛрдб;
  • sqlite3_open_v2() рд▓реЗ SQLITE_OPEN_NOFOLLOW рд╡рд┐рдХрд▓реНрдк рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдЩреНрдХ рдЦреЛрд▓реНрдиреЗ рдЕрд╕рдХреНрд╖рдо рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ;
  • рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреА PATH, JSON рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛ рдкрд╛рд╕ рдЧрд░рд┐рдпреЛ, "#-N" рдПрд░реЗ рдиреЛрдЯреЗрд╢рдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ;
  • рдореЗрдореЛрд░реА рд╡рд┐рддрд░рдг рдкреНрд░рдгрд╛рд▓реАрдорд╛ рддрд┐рд░ рд╣реЗрд░реНрджреИ рджреБрдИ рдЕрд▓рдЧ рдореЗрдореЛрд░реА рдкреВрд▓рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХрд▓рд╛рдИ рд╡рд┐рднрд┐рдиреНрди рд╕рд╛рдЗрдЬрдХрд╛ рдмреНрд▓рдХрд╣рд░реВ рдЖрд╡рдВрдЯрд┐рдд рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ (рдкреГрдердХрддрд╛рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд▓реБрдХрд╕рд╛рдЗрдб рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдкреНрд░рдпреЛрдЧ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЬрдмрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЬрдбрд╛рдирдорд╛ рдЫреБрдЯреНрдпрд╛рдЗрдПрдХреЛ рдмрдлрд░рдХреЛ рдЖрдХрд╛рд░рд▓рд╛рдИ резреиреж рджреЗрдЦрд┐ рекрео рд╕рдореНрдо рдШрдЯрд╛рдЙрдБрдЫред KB);
  • PRAGMA рд╕рдорд░реНрдерди рдмрдиреНрдж рдЧрд░рд┐рдПрдХреЛ рдЫ legacy_file_format, рдЬреБрди VACUUM рд╕рдБрдЧ рдЕрд╕рдВрдЧрдд рдерд┐рдпреЛ, рд╕реНрддрдореНрднрд╣рд░реВ, рд░ рдШрдЯреНрджреЛ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛рд╣рд░реВ (рд▓реЗрдЧреЗрд╕реА рдврд╛рдБрдЪрд╛ рд╕рдорд░реНрдерди sqlite3_db_config() рдорд╛ SQLITE_DBCONFIG_LEGACY_FILE_FORMAT рдлреНрд▓реНрдпрд╛рдЧ рдорд╛рд░реНрдлрдд рдлрд░реНрдХрд╛рдЙрди рд╕рдХрд┐рдиреНрдЫ)ред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди