def test_creation(self): """Tests record creation and low level scanning to retrieve records from the database.""" rec = wgdb.create_record(self.d, 3) self.assertTrue(wgdb.is_record(rec)) l = wgdb.get_record_len(self.d, rec) self.assertEqual(l, 3) rec2 = wgdb.create_raw_record(self.d, 678) self.assertTrue(wgdb.is_record(rec2)) l = wgdb.get_record_len(self.d, rec2) self.assertEqual(l, 678) # wgdb module only allows comparing records by contents # so we need to use recognizable data for this test. wgdb.set_field(self.d, rec, 0, 99531179) wgdb.set_field(self.d, rec2, 0, 55498756) # XXX: the following relies on certain assumptions on memory # management of WhiteDB. By the API description, the records # are not necessarily fetched in order of creation, it is just # useful for the current test case that it happens to be the case. # cand = wgdb.get_first_record(self.d) self.assertEqual(wgdb.get_field(self.d, cand, 0), 99531179) cand = wgdb.get_next_record(self.d, cand) self.assertEqual(wgdb.get_field(self.d, cand, 0), 55498756) # This, however, should always work correctly wgdb.delete_record(self.d, rec) cand = wgdb.get_first_record(self.d) self.assertEqual(wgdb.get_field(self.d, cand, 0), 55498756)
def runTest(): record = wgdb.get_first_record(db); while record is not None: for j in range(0,field_count): wgdb.set_field(db, record, j, j + 1); try: record = wgdb.get_next_record(db, record); except wgdb.error: record = None
def runTest(): count = 0 record = wgdb.get_first_record(db); while record is not None: country = wgdb.get_field(db, record, 0); if country == "ee": count += 1 try: record = wgdb.get_next_record(db, record); except wgdb.error: record = None
def first_record(self): """Get first record from database.""" if self.locking: self.start_read() try: r = wgdb.get_first_record(self._db) except wgdb.error: r = None finally: if self.locking: self.end_read() if not r: return None return self._new_record(r)
def get_first_record(self): try: rec = wgdb.get_first_record(self.d) except wgdb.error: rec = None return rec