コード例 #1
0
    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)
コード例 #2
0
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
コード例 #3
0
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
コード例 #4
0
    def next_record(self, rec):
        """Get next record from database."""
        if self.locking:
            self.start_read()
        try:
            r = wgdb.get_next_record(self._db, rec.get__rec())
        except wgdb.error:
            r = None
        finally:
            if self.locking:
                self.end_read()

        if not r:
            return None
        return self._new_record(r)
コード例 #5
0
 def get_next_record(self, rec):
     try:
         rec = wgdb.get_next_record(self.d, rec)
     except wgdb.error:
         rec = None
     return rec