from template.db import Database from template.query import Query #from template.config import init from random import choice, randint, sample, seed #init() db = Database() db.open('./ECS165') grades_table = db.get_table('Grades') query = Query(grades_table) # repopulate with random data records = {} seed(3562901) for i in range(0, 1000): key = 92106429 + i records[key] = [ key, randint(0, 20), randint(0, 20), randint(0, 20), randint(0, 20) ] # Simulate updates keys = sorted(list(records.keys())) for _ in range(10): for key in keys: for j in range(1, grades_table.num_columns):
from template.db import Database from template.query import Query import os ''' READ ME!! Before using this demo, be sure that the Tail_Const is set to a value high enough to guaranteed that all updates are contained within the same block. config.py -> TAIL_CONST = 4 This program is meant to run sequentially through all parts starting with an empty ECS165 directory. ''' db2 = Database() db2.open("ECS165") #db2.open() print(db2) g_table = db2.get_table('Grades') q = Query(g_table) rec3 = q.select(92106429, 0, [1, 1, 1, 1, 1])[0] rec4 = q.select(92106430, 0, [1, 1, 1, 1, 1])[0] print("Rec = ", rec3) print("Rec2 = ", rec4) rec3f = q.selectFull(92106429, 0) rec4f = q.selectFull(92106430, 0) print("Rec_full = ", rec3f) print("Rec2_full = ", rec4f) db2.close()
from template.db import Database database = Database() grades_table = database.create_table('Grades', 5, 0) # retValue = database.get_table('Grades') # print(retValue) # db_length = len(database.tables_directory) # print(db_length) sec_grades_table = database.create_table('Grades2', 5, 0) retNewTable = database.get_table('Grades2') print(retNewTable) db_length2 = len(database.tables_directory) print("Data base length:",db_length2) print("Table name:",sec_grades_table.name) print("Table key",sec_grades_table.Table_key) print("Table columns:",sec_grades_table.num_columns) print("Table page directory:",sec_grades_table.page_directory) print("Table index:",sec_grades_table.index) print("Table record directory:",sec_grades_table.record_directory) print("Table prange:",sec_grades_table.prange_num) print("Table free base rid:",sec_grades_table.free_brid) print("Table free tail rid:",sec_grades_table.free_trid) print("Before calling drop", len(database.tables_directory)) database.drop_table('Grades') print("After calling drop", len(database.tables_directory))
from time import process_time from random import choice, randrange import sys # Student Id and 4 grades ''' READ ME!! Before using this demo, be sure that the Tail_Const is set to a value high enough to guaranteed that all updates are contained within the same block. config.py -> TAIL_CONST = 4 This program is meant to run sequentially through all parts starting with an empty ECS165 directory. ''' db = Database() db.open('ECS165') grades_table = db.get_table("Grades") q = Query(grades_table) keys = [] loop = 1000 rec = q.select(92106429, 0, [1, 1, 1, 1, 1])[0] rec2 = q.select(92106430, 0, [1, 1, 1, 1, 1])[0] print("Original Record Contents: ") print(rec) print(rec2) print("Update Test ", loop, " times:") record = q.select(92106429, 0, [1, 1, 1, 1, 1])[0] updater = [None, None, 100, None, None] updater2 = [None, None, None, 100, None]
from template.table import * import pickle import io import os from template.query import * from random import choice, randint, sample, seed from template.db import Database from time import process_time db = Database() db.open('./ECS165') # newtable = db.create_table('nidaye', 5, 0) newtable = db.get_table('nidaye') query = Query(newtable) keys = [] # for i in range(0, 30000): # query.insert(906659671 + i, 93, 0, 0, 0) # keys.append(906659671 + i) # update_time_0 = process_time() # for i in range(0, 30000): # up = [0, 94, 1, 1, 1] # query.update(906659671 + i, *up) # update_time_1 = process_time() # print("Updating 10k records took: \t\t\t", update_time_1 - update_time_0) # for i in range(0, 30000): # query.insert(106659671 + i, 93, 0, 0, 0) # keys.append(106659671 + i)