1
0

fixed bugs

This commit is contained in:
Ishan Jain 2022-07-26 14:42:42 +05:30
parent 4b4c691ebf
commit f383e5566a
2 changed files with 4 additions and 4 deletions

View File

@ -89,8 +89,7 @@ fn main() -> Result<()> {
v => {
let db_header = read_db_header(&database)?;
if v.contains("count(*)") {
if v.to_lowercase().contains("count(*)") {
count_rows_in_table(v, db_header, &database)
} else {
read_columns(v, db_header, &database)
@ -125,11 +124,11 @@ fn read_columns(query: &str, db_header: DBHeader, database: &[u8]) -> Result<(),
let (_, offset) = parse_varint(stream);
let (_, read_bytes) = parse_varint(&stream[offset..]);
parse_record(&stream[offset + read_bytes + 1..], 2).unwrap()
parse_record(&stream[offset + read_bytes..], 3).unwrap()
});
for row in rows {
let cpos = *column_map.get(&columns[0]).unwrap() - 1;
let cpos = *column_map.get(&columns[0]).unwrap();
println!("{}", String::from_utf8_lossy(&row[cpos]));
}

View File

@ -28,6 +28,7 @@ pub fn parse_record(stream: &[u8], column_count: usize) -> Result<Vec<Vec<u8>>>
fn parse_column_value(stream: &[u8], serial_type: usize) -> Result<Vec<u8>> {
let column_value = match serial_type {
0 => vec![],
// 8 bit twos-complement integer
1 => vec![stream[0]],
// Text encoding