K stands for Kwality
Meg nem nevezett (mert egyébként semmi bajom vele) EAF4 gyakorlatvezető a következő példakódot prezentálta arra, hogy hogyan egyszerű új elemnek elsődleges kulcsként szolgáló azonosítószámot generálni, az amúgy SQL adatbázisra épülő programban:
int create_index (QSqlTable table){
for (int id = 0; ; ++id)
{
bool found = false;
for (int i = 0; i < table.rowsNum() && !found; ++i)
{
if (id == table.getRow(i)["id"])
found = true;
}
if (!found)
return id;
}
}
Kész bazmeg, ilyen nincs, kifekvés meghalás megkészülés. Kérdezem tőle, tudja-e, hogy ezt meg lehet csinálni jobban (maximumkeresés) és jól (rábízni az egészet az adatbázismotorra)? Erre azt mondja, hogy igen, lehet ezt az adatbázisban is megoldani: felveszünk egy egysoros, egyoszlopos táblát, amiben a legutóbb kiosztott azonosító van, és ezt mindig növeljük egyel, amikor valamelyik táblába új elemet rakunk be.
Erre meg már tényleg nem tudtam mit lépni. Mit lépni, szaladni ki a világból!
