Skip to content

Commit ea870b3

Browse files
Merge pull request #55 from JakeRoggenbuck/add-delete
Add delete
2 parents 6558275 + db0f95d commit ea870b3

File tree

3 files changed

+21
-9
lines changed

3 files changed

+21
-9
lines changed

simple_tester.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from lstore.db import Database
22
from lstore.query import Query
3-
from lstore import show_logo
3+
from lstore import print_logo
44

5-
show_logo()
5+
print_logo()
66

77
db = Database()
88
grades_table = db.create_table('Grades', 5, 0)
@@ -12,8 +12,17 @@
1212

1313
for i in range(0, 10):
1414
rec = query.insert(10 + i, 93, 0, 0, 0)
15-
recs.append(rec)
15+
recs.append(10 + i)
1616

1717
for rec in recs:
18-
vals = query.select(rec.rid, 0, [0])
18+
vals = query.select(rec, 0, [0])
19+
print(vals)
20+
21+
for rec in recs:
22+
if rec % 2 == 0:
23+
print(f"Deleting {rec}")
24+
query.delete(rec)
25+
26+
for rec in recs:
27+
vals = query.select(rec, 0, [0])
1928
print(vals)

src/database.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,10 @@ impl RTable {
106106
}
107107
}
108108

109+
pub fn delete(&mut self, rid: u64) {
110+
self.page_directory.remove(&rid);
111+
}
112+
109113
fn _merge() {
110114
unreachable!("Not used in milestone 1")
111115
}

src/query.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,8 @@ impl RQuery {
1313
RQuery { table }
1414
}
1515

16-
fn delete(&mut self, primary_key: i64) {
17-
// Delete the value in each column where the id == primary_key
18-
// i.e. delete the whole record
16+
fn delete(&mut self, primary_key: u64) {
17+
self.table.delete(primary_key)
1918
}
2019

2120
fn insert(&mut self, values: Vec<u64>) -> Record {
@@ -27,8 +26,8 @@ impl RQuery {
2726
search_key: i64,
2827
_search_key_index: i64,
2928
_projected_columns_index: Vec<i64>,
30-
) -> Vec<u64> {
31-
self.table.read(search_key as u64).unwrap()
29+
) -> Option<Vec<u64>> {
30+
self.table.read(search_key as u64)
3231
}
3332

3433
fn select_version(&mut self) {}

0 commit comments

Comments
 (0)