reede, 12. veebruar 2010

Veelkord WebKit'i kohalikust andmebaasist

Kirjutasin millalgi kuidas iPhone brauseris JavaScriptiga andmete säilitamiseks SQLite andmebaasi kasutada, tollal jäid osad asjad siiski segaseks, peamiselt andmebaasiga ühenduse loomisel kasutatavate parameetrite tähendus.

Andmebaasiga saab ühenduse järgnevalt:
db = openDatabase(db_name:String, 
db_version:String, db_description:String, db_size:Int);

Mida aga need parameetrid siis õigupoolest ikkagi tähendavad?

db_name - iseenesest selge, tegu on avatava andmebaasi nimega. Juhul kui sellist andmebaasi ei ole, siis see luuakse. See väärtus peab olema unikaalne, kuna andmebaase eristatakse just nime järgi.

db_version - selle parameetri kohalt oli varem segadus, kõik näited kasutasid väärtusena stringi "1.0" ja seetõttu tundus tegu olevat mingi konstandiga. Tegelikult on see rakenduse looja määrata ning tähistab andmebaasi kasutatavat versiooni. Juhul kui brauseris on juba andmebaas olemas, aga vahepeal on saidi soft ja sellega seoses andmebaasi ülesehitus uuenenud, siis saab antud parameetri järgi andmebaasimootorile teada anda, kas temal olev andmebaas on ikkagi korrektne või juba vananenud. Pikemalt on antud teemal juttu Safari Dev Center'is.

db_description - andmebaasi pikem nimetus, kui nimi peab olema unikaalne, siis see võib olla suvaline, kuna on ainult informatiivse iseloomuga

db_size - maksimaalne andmebaasi suurus baitides. Juhul kui andmebaas kasvab sellest väärtusest suuremaks, teavitatakse kasutajat ning küsitakse andmebaasi suurendamiseks kasutaja luba (vähemalt teoorias, ma ise pole proovinud).