DBMS SQLite 3.35 рдХрд╛ рд╡рд┐рдореЛрдЪрди

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

рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрди:

  • рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЧрдгрд┐рдд рдлрд╝рдВрдХреНрд╢рдВрд╕ (log2(), cos(), tg(), exp(), ln(), pow(), рдЖрджрд┐) рдЬреЛрдбрд╝реЗ рдЧрдП рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ SQL рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "-DSQLITE_ENABLE_MATH_FUNCTIONS" рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
  • рдХрд┐рд╕реА рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдХреЙрд▓рдо рд╣рдЯрд╛рдиреЗ рдФрд░ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдХреЙрд▓рдо рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "ALTER TABLE DROP COLUMN" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
  • UPSERT (рдРрдб-рдпрд╛-рдореЙрдбрд┐рдлрд╛рдИ) рдСрдкрд░реЗрд╢рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ "INSERT ... ON CONFLICT DO NOTHING/UPDATE" рдЬреИрд╕реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдпрд╛ рдпрджрд┐ рдЬреЛрдбрд╝рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рддреЛ рдбрд╛рд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред рдбреЗрдЯрд╛ рдХреЛ "INSERT" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХреЛрдИ рд░рд┐рдХреЙрд░реНрдб рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЖрдк INSERT рдХреЗ рдмрдЬрд╛рдп UPDATE рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЖрдкрдХреЛ рдПрдХрд╛рдзрд┐рдХ ON CONFLICT рдмреНрд▓реЙрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдХреНрд░рдо рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдВрддрд┐рдо "ON CONFLICT" рдмреНрд▓реЙрдХ "DO UPDATE" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдШрд░реНрд╖ рдкрд░рд┐рднрд╛рд╖рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  • рдбрд┐рд▓реАрдЯ, рдЗрдВрд╕рд░реНрдЯ рдФрд░ рдЕрдкрдбреЗрдЯ рдСрдкрд░реЗрд╢рди рд░рд┐рдЯрд░реНрдирд┐рдВрдЧ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдЯрд╛рдП рдЧрдП, рдбрд╛рд▓реЗ рдЧрдП рдпрд╛ рд╕рдВрд╢реЛрдзрд┐рдд рд░рд┐рдХреЙрд░реНрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "рдЗрдиреНрд╕рд░реНрдЯ рдЗрди ... рд░рд┐рдЯрд░реНрдирд┐рдВрдЧ рдЖрдИрдбреА" рдЬреЛрдбрд╝реА рдЧрдИ рд▓рд╛рдЗрди рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд▓реМрдЯрд╛ рджреЗрдЧреА, рдФрд░ "рдЕрдкрдбреЗрдЯ ... рд╕реЗрдЯ рдореВрд▓реНрдп = рдореВрд▓реНрдп * 1.10 рд░рд┐рдЯрд░реНрдирд┐рдВрдЧ рдореВрд▓реНрдп" рдмрджрд▓реЗ рд╣реБрдП рдореВрд▓реНрдп рдореВрд▓реНрдп рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧреАред
  • рдХреЙрдорди рдЯреЗрдмрд▓ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдВрд╕ (рд╕реАрдЯреАрдИ) рдХреЗ рд▓рд┐рдП, рдЬреЛ рд╡рд┐рдж рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрд╕реНрдерд╛рдпреА рдирд╛рдорд┐рдд рдкрд░рд┐рдгрд╛рдо рд╕реЗрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, "рднреМрддрд┐рдХрдХреГрдд" рдФрд░ "рднреМрддрд┐рдХреАрдХреГрдд рдирд╣реАрдВ" рдореЛрдб рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред "рднреМрддрд┐рдХрдХреГрдд" рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рдПрдХ рдЕрд▓рдЧ рднреМрддрд┐рдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рджреГрд╢реНрдп рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреНрд╡реЗрд░реА рдХреЛ рдХреИрд╢ рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ, рдФрд░ "рдЕрднреМрддрд┐рдХреАрдХреГрдд" рдХреЗ рд╕рд╛рде рджреГрд╢реНрдп рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░ рд╣рд░ рдмрд╛рд░ рдмрд╛рд░-рдмрд╛рд░ рдХреНрд╡реЗрд░реА рдХреА рдЬрд╛рдПрдЧреАред SQLite рдореВрд▓ рд░реВрдк рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ "NOT MATERIALIZED" рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП CTE рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ "MATERIALIZED" рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  • рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ VACUUM рдСрдкрд░реЗрд╢рди рдХрд░рддреЗ рд╕рдордп рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдмрд╣реБрдд рдмрдбрд╝реЗ рдЯреЗрдХреНрд╕реНрдЯ рдпрд╛ BLOB рдорд╛рди рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред
  • рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рдФрд░ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рдирд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
    • "IN" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдиреНрдпреВрдирддрдо рдФрд░ рдЕрдзрд┐рдХрддрдо рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЕрдиреБрдХреВрд▓рди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
    • EXISTS рдХрдерди рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рддреЗрдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
    • JOIN рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ UNION рд╕реЗ рд╕рдмрдХреНрд╡реЗрд░реАрдЬрд╝ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╡рд┐рд╕реНрддрд╛рд░ред
    • рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ IS NOT NULL рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
    • рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ "x IS NULL" рдФрд░ "x IS NOT NULL" рдХреЛ "NOT NULL" рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд╛рд▓реЗ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП FALSE рдпрд╛ TRUE рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
    • рдпрджрд┐ рдСрдкрд░реЗрд╢рди рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рд╕реЗ рдЬреБрдбрд╝реЗ рдХреЙрд▓рдо рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ рддреЛ рдЕрджреНрдпрддрди рдореЗрдВ рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЫреЛрдбрд╝ рджреЗрдВред
    • рдЗрд╕реЗ WHERE рдмреНрд▓реЙрдХ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╡рд╛рд▓реЗ рд╕рдмрдХреНрд╡реЗрд░реАрдЬрд╝ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рд╣рд┐рд╕реНрд╕реЗ рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ PARTITION BY рдмреНрд▓реЙрдХ рдХреЗ рд╕реНрдерд┐рд░рд╛рдВрдХ рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреА рдкреНрд░рддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рддрдХ рд╕реАрдорд┐рдд рд╣реИрдВред
  • рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди:
    • ".filectrl data_version" рдХрдорд╛рдВрдб рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
    • ".once" рдФрд░ ".output" рдХрдорд╛рдВрдб рдЕрдм рдЕрдирд╛рдо рдкрд╛рдЗрдк ("|") рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред
    • рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдкрд░ рдЖрдВрдХрдбрд╝реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ".stats" рдХрдорд╛рдВрдб рдореЗрдВ "stmt" рдФрд░ "vmstep" рддрд░реНрдХ рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ