SQLite

Software kuvakaappaus:
SQLite
Ohjelmiston tiedot:
Versio: 3.24.0 Päivitetty
Lähetyksen päivämäärä: 22 Jun 18
Kehittäjä: D. Richard Hipp
Lupa: Vapaa
Suosio: 21

Rating: 5.0/5 (Total Votes: 1)

SQLite on avoimen lähdekoodin, monen käyttöjärjestelmän, vapaan ja pienen C-kirjaston, joka toteuttaa itsenäisen, sulautettavan, transaktio-ohjelman, palvelimattoman ja nollakokoisen SQL-tietokannan moottorin. Se on maailman suurin SQL-tietokannan moottori.


Ominaisuudet yhdellä silmäyksellä

Tärkeimpiä ominaisuuksia ovat tuki yksittäisille, atomisille, kestäville ja johdonmukaisille transaktioille, SQL92-toteutus, tietokannat voidaan jakaa vapaasti tietokoneiden kesken, tukee jopa 2 teratavun tietokantoja, tukea gigatavun kokoisille blobeille ja kielille, pieni koodijalka sekä helppokäyttöinen ja erittäin yksinkertainen API (Application Programming Interface).

Lisäksi SQLite ei vaadi alkuasetusta tai lisäkäsittelyä, joten kehittäjät voivat tallentaa täydellisen tietokannan yhdelle levynmuotoiselle levytiedostolle, joka on täydellinen sovellustiedostomuotojen käyttämiseksi, ei ole ulkoisia riippuvuuksia, TCL (Tool Command Language) -yhteydet ja kattavat asiakirjat.

Lukuisat muut ohjelmointikielet ovat saatavilla erikseen. Sen lähdekoodi on hyvin kommentoinut, ja siinä on erillinen CLI (Command-Line Interface) -asiakas, joka on suunniteltu offsetista käytettäväksi SQLite-tietokantojen hallinnointiin.


Mitä voin käyttää sitä varten?

SQLite-tietokantaohjelmaa voidaan käyttää mihin tahansa tarkoitukseen, henkilökohtaiseen tai kaupalliseen tarkoitukseen. SQLite-ohjelmaan ehdotetut käyttötarkoitukset sisältävät gadgetien tietokannan, verkkosivustotietokannan, yrityksen RDBMS: n (Relational Database Management System) valmiustilan sekä sovellustiedostomuodon.


Kannen alla ja tuetuissa käyttöjärjestelmissä

SQLite-jakelussa on erillinen komentorivin käyttöohjelma (sqlite), jota voidaan käyttää SQLite-tietokannan hallintaan ja joka toimii esimerkkinä SQLite-kirjaston käyttämisestä. Se on kirjoitettu kokonaan ANSI-C-ohjelmointikielellä.

Tuetut työpöydän käyttöjärjestelmät sisältävät GNU / Linux, Mac OS X ja Microsoft Windows. Tuetut mobiilit käyttöjärjestelmät ovat Android ja iOS. Se on testattu onnistuneesti sekä 32-bittisellä että 64-bittisellä laitteistolla, ja se on helposti siirrettävissä muihin käyttöjärjestelmille.

Mitä uutta on tässä versiossa:

  • Tämän julkaisun tärkeimmät kohteet ovat PostgreSQL-tyyppisen UPSERT-tuen ja paremman suorituskyvyn parantaminen erityisesti ORDER BY LIMIT-kyselyissä.

Uutta versiona:

  • Hyödynnä atomi-kirjoitusominaisuuksia F2FS-tiedostojärjestelmässä, kun se on saatavilla, huomattavasti alhaisempiin transaktioverheisiin. Tämä edellyttää tällä hetkellä SQLITE_ENABLE_BATCH_ATOMIC_WRITE-kääntöaikaa.
  • Salli ATTACH- ja DETACH-komennot toimimaan tapahtuman sisällä.
  • Salli ilman ROWID-virtuaalitaulukoiden kirjoittamista, jos PRIMARY KEY sisältää täsmälleen yhden sarakkeen.
  • "fsync ()" joka tapahtuu sen jälkeen, kun otsikko on kirjoitettu WAL-nollaukseen, käyttää nyt tarkistuspisteiden synkronointiasetuksia. Tämä tarkoittaa, että se käyttää "fullfsync" jos PRAGMA checkpoint_fullfsync asetetaan.
  • sqlite3_sourceid () -toiminto yrittää havaita, onko lähdekoodia muutettu tarkistetusta versiosta, ja jos on olemassa muutoksia, version hash: n neljä viimeistä merkkiä näytetään & quot; alt1 & quot; tai "alt2". Tavoitteena on havaita tahattomia ja / tai huolimattomia muokkauksia. Varomies voi vääristää tämän ominaisuuden.
  • CREATE TABLE AS -lausekkeiden sarakkeen nimeämisen parantaminen yhdistämällä kyselyn oikealla puolella.
  • Vähemmän "stat ()" Unix VFS: n myöntämät järjestelmäpyynnöt.
  • Lisätty LIKE-optimointi niin, että se toimii ESCAPE-lausekkeen kanssa.
  • Parannettu PRAGMA integrity_check ja PRAGMA quick_check havaitsevat epäselvät rivi-korruptiot, jotka aiemmin puuttuivat. Päivitä myös molemmat pragmas niin, että ne palauttavat SQLITE_CORRUPT: n sijasta virheilmoituksen, kun ne törmäävät rekistereihin.
  • Kyselysuunnittelija nyt haluaa toteuttaa FROM-lausekkeen alikyselyjä käyttämällä rinnakkaisia ​​rutiineja pikemminkin käyttämällä kyselyn sovittimen optimointia. Tuki rinnakkaisten rutiinien käyttämiselle alikyselyille ei välttämättä ole enää käytössä.
  • Siirrä tiedot virtuaalitaulukoiden xBestIndex-menetelmästä! =, IS, NOT NOT, NOT NULL ja IS NULL rajoitukset.
  • Vahvistettiin CSV-virtuaalitaulukkoa niin, että se hyväksyy viimeisen rivin syöttämisen, jos lopullinen uuden rivin merkki puuttuu.
  • Poista harvoin käytetty "naarmu" muistin allokointi. Vaihda se SQLite_CONFIG_SMALL_MALLOC-määritysasetuksella, joka antaa SQLite-vihjeen, että suuria muistin allokointia on vältettävä mahdollisuuksien mukaan.
  • Liitetyt virtuaalitaulukot lisätään olemassa olevaan virtuaaliseen virtuaaliseen taulukon laajennukseen.
  • Lisätty sqlite_dbpage-virtuaalitaulukko suoran pääsyn tarjoamiseksi tietokantatiedoston sivuille. Lähdekoodi on rakennettu yhdistämiseen ja se aktivoidaan käyttämällä -DSQLITE_ENABLE_DBPAGE_VTAB-käännöstoimintoa.
  • Lisää uuden tyyppinen fts5vocab-virtuaalitaulukko - "instance" - joka tarjoaa suoraa pääsyä FTS5-koko teksti-indeksiin mahdollisimman alhaisella tasolla.
  • Poista rand_s () -puhelu Windows VFS: ssä, koska se aiheutti ongelmia Firefoxissa vanhemmissa kannettavissa tietokoneissa.
  • Komentorivin komentojonon src / shell.c-lähdekoodi ei enää ole versionhallinnan alla. Tämä tiedosto luodaan osana rakentamisprosessia.
  • Erilaiset mikrooptimisoinnit vähentävät prosessorin käyttöä noin 2,1%.
  • Virheiden korjaukset:
  • Korjaa virheellinen assert () -lausunto, jonka OSSFuzz havaitsi. Lippu cb91bf4290c211d
  • Korjaa epäselvä muistivuoto sqlite3_result_pointer (): ssa. Lippu 7486aa54b968e9b
  • Vältä mahdollisen käytön jälkeinen virhe viivästämällä kaavion nollauksia vasta sitten, kun kysely suunnittelija on päättynyt. Lippu be436a7f4587ce5
  • Optimoi ORDER BY tai GROUP BY, jos COLLATE on oikea. Lippu e20dd54ab0e4383
  • Korjaa vika, joka oli tulossa, kun indeksin-ilmaisujen ilmaisu on todella vakio. Lippu aa98619ad08ddca
  • Korjaa vika, joka voi tapahtua PRAGMA reverse_unordered_selects -ohjelman jälkeen. Lippu cb91bf4290c211d
  • Korjaa oletus, joka voi tapahtua kyselyille, jotka käyttävät taulukon arvoisia toimintoja IN- tai EXISTS-alikyselyssä. Lippu b899b6042f97f5
  • Korjaa potentiaalinen kokonaisluvun ylivuoto-ongelma, kun kootaan tietyn kauhean yhteisen taulukon ilmentymä. Tämä oli toinen ongelma, jonka OSSFuzz havaitsi. Sisäänkirjautuminen 6ee8cb6ae5.
  • Korjaa potentiaalinen out-of-bound -luku, kun haetaan virheellistä tietokantatiedostoa, jonka Natalie Silvanovich havaitsi Google Project Zero -ohjelmassa. Kirjaudu sisään 04925dee41a21f.

Uutta versiossa 3.20.1:

  • Versio 3.20.1-korjaustiedosto muuttaa sqlite3_result_pointer () -rajapintaan kaksi riviä koodia harvinaisen muistivuodon korjaamiseksi.

Uutta versiossa 3.9.2:

  • SQLite-versio 3.9.2 on korjaustiedosto, joka vahvistaa kaksi epämääräistä vikaa.

Uutta versiossa 3.8.9:

  • Tämän julkaisun uudet ominaisuudet sisältävät PRAGMA index_xinfo -komennon, sqlite3_status64 () -rajapinnan ja komentorivin kuvaruudun ".dbinfo" -komennon.

Uutta versio 3.8.8.2:

  • 3.8.8.2-korjaustiedosto korjaa yhden vähäisen ongelman: Varmistaa, että sqlite3_wal_checkpoint (TRUNCATE) -toiminto katkaisee aina kirjoittautumislokin, vaikka loki olisi jo nollattu eikä sisältänyt uutta sisältöä. On epäselvää, onko tämä virheenkorjaus tai uusi ominaisuus.
  • Jotain tällaista tavallisesti mennään seuraaviin säännöllisesti suunniteltuihin julkaisuihin, mutta merkittävä SQLite-käyttäjä tarvitsi muutosta kiireessä, joten onnistuimme kiirehtimään tämän korjaustiedoston kautta.
  • Ei ole mitään syytä päivittää, ellei tosiasiassa tarvitse sqlite3_wal_checkpoint (TRUNCATE): n tehostettua toimintaa.

Uutta versio 3.8.8.1:

  • Korjaa virhe, joka on olemassa versiosta 3.8.4 lähtien lajitteluslogiasta, joka voi aiheuttaa tuotoksen väärään järjestykseen kyselyissä, jotka sisältävät ORDER BY-lausekkeen, LIMIT-lausekkeen ja jotka sisältävät noin 60 tai useampia sarakkeita tulosjoukko. Lippu f97c4637102a3ae72b79.
  • SQLITE_SOURCE_ID: "2015-01-20 16:51:25 f73337e3e289915a76ca96e7a05a1a8d4e890d55"
  • SHA1 sqlite3.c: 33987fb50dcc09f1429a653d6b47672f5a96f19e

Uutta versiossa 3.8.8:

  • Uudet ominaisuudet:
  • Lisätty PRAGMA data_version -komento, jota voidaan käyttää määrittämään, onko tietokanta tiedostoa muutettu toisella prosessilla.
  • Lisätty SQLITE_CHECKPOINT_TRUNCATE -vaihtoehto sqlite3_wal_checkpoint_v2 () -rajapintaan, jossa vastaavat PRAGMA wal_checkpoint -parannukset.
  • Lisätty sqlite3_stmt_scanstatus () -rajapinta, joka on käytettävissä vain, kun se on koottu SQLITE_ENABLE_STMT_SCANSTATUS: lla.
  • sqlite3_table_column_metadata () on parannettu toimimaan oikein ilman ROWID-taulukoita ja tarkistaa, onko olemassa taulukko, jos sarakkeen nimeä koskeva parametri on NULL. Käyttöliittymä on nyt myös sisällytetty rakennukseen oletusarvoisesti ilman, että SQLITE_ENABLE_COLUMN_METADATA-käännöstoimintoa vaaditaan.
  • Lisätty SQLITE_ENABLE_API_ARMOR kääntöaika -vaihtoehto.
  • Lisätty SQLITE_REVERSE_UNORDERED_SELECTS kääntöaika -vaihtoehto.
  • Lisätty SQLITE_SORTER_PMASZ-kääntäjä-aika -vaihtoehto ja SQLITE_CONFIG_PMASZ-aloitusaika -vaihtoehto.
  • SQLite_CONFIG_PCACHE_HDRSZ lisäsi sqlite3_config () -ominaisuuteen, mikä helpottaa sovellusten määrittämistä SQLite_CONFIG_PAGECACHEn kanssa käytettävän muistin määrän kanssa.
  • SQLite_LIMIT_COMPOUND_SELECT ei rajoita lukujen rivien määrää VALUES-lausekkeessa.
  • Lisäsi eval.c-ladattavan laajennuksen, joka toteuttaa SQL-rekursiivisen eval () SQL-toiminnon.
  • Suorituskyvyn parannukset:
  • Vähennä b-puun tasapainottamiseen liittyvien memcpy () -toimintojen määrää 3,2%: n kokonaistehokkuudella.
  • Parannukset skip-scan -optimoinnin kustannusarvioihin.
  • Automaattinen indeksoinnin optimointi pystyy nyt luomaan osittaisen indeksin, jos se on tarkoituksenmukaista.
  • Virheiden korjaukset:
  • Varmista kestävyys tehohäviön seurauksena "PRAGMA journal_mode = TRUNCATE" kutsumalla fsync () heti lehden tiedoston katkaisemisen jälkeen.
  • Kyselyn suunnittelija tunnistaa nyt, että LEFT JOIN: n oikeanpuoleisessa taulukossa oleva sarake voi olla NULL, vaikka kyseisellä sarakkeella ei ole NULL-rajoitusta. Älä yritä optimoida NULL-testejä näissä tapauksissa. Korjaa lippu 6f2222d550f5b0ee7ed.
  • Varmista, että ORDER BY asettaa rivit nousevaan järjestykseen, vaikka DISTINCT-operaattori toteutettaisiin laskevalla indeksillä. Korjaa lippu c5ea805691bfc4204b1cb9e.
  • Korjaa joukkoviestintää, joka voi ilmetä jännityksen aikana, kun se toimii useilla kierroksilla jaetussa välimuistitilassa, jossa jotkin langat avaavat ja sulkevat yhteydet.
  • Korjaa epäselviä törmäysvasteita, joita amerikkalainen sumea loppu löytää. Lippu a59ae93ee990a55.
  • Työnnä GCC-optimointivirhe (gcc 4.2.1 MacOS 10.7: ssä), joka aiheutti R-puun laajennuksen laskemalla vääriä tuloksia, kun se on koottu -O3: lla.
  • Muut muutokset:
  • Poista strchrnul () C-kirjaston rutiini käytöstä, ellei se ole erityisen käytössä käyttämällä -DHAVE_STRCHRNULL-käännöstoimintoa.
  • Todennäköisyys (), todennäköinen () ja epätodennäköinen () SQL-vihjeen toimintojen tehokkuus ja tarkkuus.
  • SQLITE_SOURCE_ID: "2015-01-16 12:08:06 7d68a42face3ab14ed88407d4331872f5b243fdf"
  • SHA1 sqlite3.c: 91aea4cc722371d58aae3d22e94d2a4165276905

Uutta versiossa 3.8.7.4:

  • Nämä julkaisuratkaisut lisäävät mutexia, jota 3.8.7.3-korjaustiedoston muutokset vaativat mutta jätettiin vahingossa pois. Mutexia ei vaadittu millä tahansa sisäisellä SQLite-testillä, mutta Firefox kaatuu ilman sitä. Testitapauksia on lisätty sen varmistamiseksi, että mutexia ei koskaan enää jätetä.

Uutta versiossa 3.8.7.3:

  • Virheenkorjaus: Varmista, että välimuistiin tallennetut KeyInfo-objektit (sisäinen abstraktio ei ole näkyvissä sovelluksessa) eivät mene vanhentuneiksi, kun ne toimivat jaetulla välimuistitoiminnolla ja usein sulkevat ja uudelleen avaavat joitain tietokoneyhteyksiä samalla, kun muut tietokantayhteydet ovat samassa jaetussa välimuistissa auki jatkuvasti. Lippu e4a18565a36884b00edf.
  • Virheenkorjaus: Tunnista, että LEFT JOIN: n oikeanpuoleisessa taulukossa oleva sarake voi olla NULL, vaikka sarakkeessa ei ole NULL-rajoitusta. Älä käytä optimointeja, jotka olettavat, että sarake ei koskaan ole NULL. Lippu 6f2222d550f5b0ee7ed.
  • SQLITE_SOURCE_ID: "2014-12-05 22:29:24 647e77e853e81a5effeb4c33477910400a67ba86"
  • SHA1 sqlite3.c: 3ad2f5ba3a4a3e3e51a1dac9fda9224b359f0261

Uutta versiossa 3.8.7.2:

  • Tämän julkaisun ensisijainen syy on parantaa ROLLBACK-komentoa, jotta se voi jatkaa käynnissä olevien samassa tietokannassa olevia käynnissä olevia kyselyitä, kunhan ROLLBACK ei muuta kaavaa. Kaikissa aiemmissa SQLite-versioissa ROLLBACK aiheuttaisi vireillä olevat kyselyt välittömästi ja palauttavat SQLITE_ABORT tai SQLITE_ABORT_ROLLBACK. Odottamattomat kyselyt keskeytyvät, jos ROLLBACK muuttaa tietokantakaavaa, mutta tämän korjaustiedoston julkaisusta kyselyt voivat jatkaa toimintaa, jos kaava ei muutu.
  • ROLLBACK-lisälaitteen lisäksi tämä korjaustiedosto sisältää myös korjauksia kolmelle epämääräiselle virheelle.

Uutta versio 3.8.7.1:

  • Tämän virheenkorjaustiedoston ensisijainen syy on ratkaista ongelma, jossa taulukon lopussa olevien kenttien arvon päivittäminen lisätään ALTER TABLE ADD COLUMNin avulla. Tämä ongelma 1 ilmestyi ensimmäisen kerran 3.8.7-versiossa.
  • Toinen vähäinen ikävyys 3.8.7-julkaisussa oli se, että Android-rakentaminen yritti käyttää strchrnul () -toimintoa tavallisesta C-kirjastosta, mutta toiminto ei ole käytettävissä Androidissa. Android-rakennusten oli lisättävä -DHAVE_STRCHRNUL = 0 ongelman ratkaisemiseksi. Tämä korjaustiedosto korjaa tämän, jotta Androidin rakennukset toimisivat nyt ilman mitään muutoksia.
  • PRAGMA journal_mode = TRUNCATE-toimintoa on parannettu siten, että se kutsuu fsync () kun leikekirja on katkaistu, kun PRAGMA synchronous = FULL. Tämä auttaa säilyttämään kaupankäynnin kestävyyden siinä tapauksessa, että tehohäviö tapahtuu lähiaikoina.
  • Lopuksi muutamia pitkäaikaisia ​​ja epäselviä ongelmia, jotka liittyivät UPDATE- ja DELETE-toimintoihin VIEW-sivuilla, vahvistettiin.

Uutta versiossa 3.8.7:

  • Useimmat muutokset edellisestä julkaisusta ovat olleet mikrooptimointeja, jotka on suunniteltu auttamaan SQLitea toimimaan hieman nopeammin. Jokainen yksilöllinen optimointi on mittaamattoman pieni suorituskykyvaikutus. Mutta parannukset lisätään. Määritellyllä hyvin määritellyllä työmäärällä (jota SQLite-kehittäjät käyttävät välityspalvelimena tyypilliseen sovellustyökuormaan) käyttäen cachegrindia Linuxissa ja joka on koottu gcc 4.8.1: n ja -Os: n kanssa x64-linuxissa, nykyinen julkaisu tekee yli 20% enemmän työtä sama määrä suorittimen syklejä verrattuna edelliseen julkaisuun. Cachegrind ei ole todellinen suorittimen, ja mittaukseen käytetty työmäärä on vain välityspalvelin. Joten suorituskyky voi vaihdella. Odotamme noin puolet mitatusta ja raportoidusta parannuksesta todellisissa sovelluksissa. 10% on alle 20%, mutta se on silti melko hyvä, ajattelemme.
  • Tämä julkaisu sisältää uuden joukon C-kielirajapintoja, joissa on allekirjoittamaton 64-bittinen allekirjoitettujen 32-bittisten parametrien sijaan. Uudet sovellusliittymät eivät tarjoa uusia ominaisuuksia. Mutta niiden avulla on helpompi kirjoittaa sovelluksia, jotka vastustavat kokonaisluvun ylivuotoriskejä.
  • Tämä julkaisu sisältää myös uuden lajittelijan, joka pystyy käyttämään useita säikeitä suurien lajitteluoperaatioiden avulla. (Joskus on tarpeen suorittaa ORDER BY- ja / tai GROUP BY -lausekkeet ja ne ovat lähes aina välttämättömiä CREATE INDEX: lle.) Multi-thread-lajittelulaite on oletusarvoisesti pois päältä ja sen on oltava käytössä PRAGMA-ketjujen SQL-komennolla. Huomaa, että monisäikeinen sorter tarjoaa nopeamman reaaliaikaisen suorituskyvyn suurille lajityypeille, mutta se käyttää myös enemmän suorittimen syklejä ja enemmän energiaa.

Uutta versio 3.8.3.1:

  • SQLite-versio 3.8.3.1 korjaa versiot 3.8.1, 3.8.2 ja 3.8.3, jotka voivat aiheuttaa kyselyjen jättävän kelvollisia ulos rivejä. Päivityksiä näistä versioista on suositeltavaa.
  • Ongelma ilmenee vain, jos SQLite on koottu joko SQLITE_ENABLE_STAT3- tai SQLITE_ENABLE_STAT4-kääntösuunta-asetuksilla. Tällöin kyselyllä on WHERE-lauseke, joka sisältää tällaisia ​​lausekkeita:
  • WHERE (expr1 OR expr2 TAI ... TAI EXPR) AND sarake EI NULL
  • Jos kaikki expr1: n kautta exprN: n kautta soveltuvat indekseihin, kyselyn suunnittelussa SQLite saattaa virheellisesti muuntaa "sarakkeen IS NOT NULL" termi "sarakkeeseen & gt; NULL". Viimeksi mainittu termi ei ole koskaan totta, joten kysely ei palaisi rivejä.

Uutta versiossa 3.8.3:

  • Lisätuki yhteisiin taulukkolakeihin ja WITH-lausekkeeseen.
  • Lisätty printf () SQL-funktio.
  • Lisätty SQLITE_DETERMINISTIC valinnainen bitti neljännellä argumentilla sqlite3_create_function (): een ja niihin liittyviin rajapintoihin, jolloin sovellukset pystyvät luomaan uusia toimintoja, jotka voidaan ottaa huomioon sisäiseltä silmukoilta, kun heillä on vakioita argumentteja.
  • Lisää SQLITE_READONLY_DBMOVED -virhekoodi, joka palautetaan tapahtuman alussa, ja ilmoittaa, että taustalla oleva tietokantatiedosto on nimety uudelleen tai siirretty SQLite-sivuston alle.
  • Salli mielivaltaiset lausekkeet, mukaan lukien funktion puhelut ja alikyselyt, ATEN-tiedoston tiedostonimiin.
  • Anna VALUES-lauseketta käytettäväksi missä tahansa SELECT-lausekkeessa.
  • Tarkastele PRNG, jota sqlite3_randomness (N, P) käyttää, kun sitä kutsutaan N == 0: lla. Automaattinen resonointi haarukan () jälkeen unixilla.
  • Paranna spellfix1-virtuaalitaulukkoa niin, että se voi etsiä tehokkaasti rivillä.
  • Suorituskyvyn parannukset.
  • VDBE-tavuekoodin kommenttien parannukset näkyvät EXPLAIN-ohjelman käytön aikana.
  • Lisää "% token_class" -direktiivi LEMON-parsergeneraattoriin ja käytä sitä kieliopin yksinkertaistamiseksi.
  • Muuta LEMON-lähdekoodia, jotta C-kirjaston toimintoja, joita OpenBSD pitää vaarallisena, vältetään. (Esim. Sprintf).
  • Virheenkorjaus: komentorivin CSV-tuontitoiminnossa älä lopeta kenttää, kun CRLN-rivin lopussa on poistettu kaksoislupakirja.
  • SQLITE_SOURCE_ID: "2014-02-03 13:52:03 e816dd924619db5f766de6df74ea2194f3e3b538"
  • SHA1 sqlite3.c: 98a07da78f71b0275e8d9c510486877adc31dbee

Vastaavia ohjelmistoja

CloverETL Engine
CloverETL Engine

11 Apr 16

phpPgAdmin
phpPgAdmin

14 Apr 15

Percona Server
Percona Server

20 Jan 18

Sesame
Sesame

20 Feb 15

Kommentit SQLite

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!