SQLite 3.35 bertsioa

SQLite 3.35 bertsioa argitaratu da, plug-in liburutegi gisa diseinatutako DBMS arina. SQLite kodea domeinu publikoan banatzen da, hau da. mugarik gabe eta doan erabil daiteke edozein helburutarako. SQLite garatzaileentzako laguntza ekonomikoa bereziki sortutako partzuergo batek eskaintzen du, Adobe, Oracle, Mozilla, Bentley eta Bloomberg bezalako enpresak barne hartzen dituena.

Aldaketa nagusiak:

  • SQL-n erabil daitezkeen matematika-funtzio integratuak (log2(), cos(), tg(), exp(), ln(), pow(), etab. Funtzio integratuak gaitzeko "-DSQLITE_ENABLE_MATH_FUNCTIONS" aukerarekin eraiki behar da.
  • "ALTER TABLE DROP COLUMN" adierazpenaren euskarria ezarri da taula batetik zutabeak kentzeko eta zutabe jakin batean aurrez gordetako datuak garbitzeko.
  • UPSERT (gehitu edo aldatu) eragiketaren inplementazioa zabaldu egin da, "txertatu ... GATAZKAN EZER EGIN/EGUNERATU/EGUNERATU" bezalako esamoldeen bidez errore bati ez ikusiarena egin edo gehitzea ezinezkoa bada txertatu beharrean eguneratzea egitea ahalbidetuz. datuak "txertatu" bidez (adibidez, erregistro bat badago jada, EGUNERATU egin dezakezu txertatu beharrean). Bertsio berriak ON GATAZKAN bloke anitz zehazteko aukera ematen du, ordenan prozesatuko direnak. "GATAZKA ON" blokeak gatazka zehazteko parametroa ezabatzea ahalbidetzen du, "EGUNERATU EGIN" erabiltzeko.
  • DELETE, INSERT eta UPDATE eragiketek RETURNING adierazpena onartzen dute, ezabatutako, txertatu edo aldatutako erregistro baten edukia bistaratzeko erabil daitekeena. Esate baterako, "txertatu ... itzuleran id-a" esapideak gehitutako lerroaren identifikatzailea itzuliko du, eta "eguneratu ... ezarri prezioa = prezioa * 1.10 itzultzen den prezioa" aldatutako prezioaren balioa itzuliko du.
  • WITH sententzia erabiliz zehaztutako aldi baterako izendun emaitza multzoak erabiltzea ahalbidetzen duten Taula Ohiko Adierazpenetarako (CTE), "MATERIALIZATUA" eta "EZ MATERIALIZATUA" moduak aukeratzea onartzen da. "MATERIALIZATUA"-k ikuspegian zehaztutako kontsulta taula fisiko batean gordetzea eta, ondoren, taula honetako datuak eskuratzea esan nahi du, eta "MATERIALIZATUA EZ"-arekin kontsultak errepikatuko dira ikuspegira sartzen den bakoitzean. SQLite hasiera batean "MATERIALIZATUA EZ" zen lehenetsia, baina orain "MATERIALIZATUA" bihurtu da behin baino gehiagotan erabilitako CTEetarako.
  • Memoria-kontsumoa murrizten da TESTU edo BLOB balio oso handiak dituzten datu-baseetan VACUUM eragiketa egitean.
  • Optimizatzailearen eta kontsulta-planifikatzailearen errendimendua areagotzeko lana egin da:
    • Optimizazioak gehitu dira "IN" adierazpenarekin min eta max funtzioak erabiltzean.
    • EXISTS adierazpenaren exekuzioa bizkortu da.
    • JOIN-en parte gisa erabiltzen diren UNION ALL adierazpenen azpikontsulten hedapena inplementatu da.
    • Indizea IS NOT NULL adierazpenetarako erabiltzen da.
    • "X NULL IS" eta "x IS NOT NULL" GEZURRA edo EGIA bihurtzen direla ziurtatzen du "NOT NULL" atributua duten zutabeetarako.
    • Saltatu atzerriko gakoak egiaztatzea UPDATE-n, eragiketak atzerriko gakoarekin lotutako zutabeak aldatzen ez baditu.
    • WHERE bloke baten zatiak leiho-funtzioak dituzten azpikontsultetara mugitzea onartzen da, betiere zati horiek leiho-funtzioetan erabiltzen diren PARTITION BY blokeetako konstanteekin eta adierazpenen kopiekin lan egitera mugatzen badira.
  • Komando-lerroko interfazearen aldaketak:
    • ".filectrl data_version" komandoa gehitu da.
    • ".once" eta ".output" komandoek orain irteera onartzen dute izenik gabeko kanalizazioak erabiliz deitutako kudeatzaile bati ("|") pasatzea.
    • "stmt" eta "vmstep" argumentuak ".stats" komandoan gehitu dira adierazpenen eta makina birtualen kontagailuen estatistikak bistaratzeko.

Iturria: opennet.ru

Gehitu iruzkin berria