Make interpreter a library
This commit is contained in:
parent
37f8b7be91
commit
430d092def
8 changed files with 12 additions and 16 deletions
|
|
@ -1,5 +1,5 @@
|
||||||
use crate::internals::row::ColumnPosition;
|
use crate::internals::row::ColumnPosition;
|
||||||
use crate::internals::schema::{ColumnName, TableName};
|
use crate::schema::{ColumnName, TableName};
|
||||||
use crate::operation::InsertionValues;
|
use crate::operation::InsertionValues;
|
||||||
use crate::type_system::{DbType, Uuid, Value};
|
use crate::type_system::{DbType, Uuid, Value};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
pub mod column_index;
|
pub mod column_index;
|
||||||
pub mod row;
|
pub mod row;
|
||||||
pub mod schema;
|
|
||||||
pub mod table;
|
pub mod table;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ use std::collections::{BTreeMap, HashMap, HashSet};
|
||||||
use crate::error::Error;
|
use crate::error::Error;
|
||||||
use crate::internals::column_index::ColumnIndex;
|
use crate::internals::column_index::ColumnIndex;
|
||||||
use crate::internals::row::{ColumnPosition, Row};
|
use crate::internals::row::{ColumnPosition, Row};
|
||||||
use crate::internals::schema::{ColumnName, TableSchema, TableName};
|
use crate::schema::{ColumnName, TableSchema, TableName};
|
||||||
use crate::result::DbResult;
|
use crate::result::DbResult;
|
||||||
use crate::type_system::{IndexableValue, Uuid, Value};
|
use crate::type_system::{IndexableValue, Uuid, Value};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
use crate::error::Error;
|
use crate::error::Error;
|
||||||
use crate::internals::row::{ColumnPosition, Row};
|
use crate::internals::row::{ColumnPosition, Row};
|
||||||
use crate::internals::schema::{TableName, TableSchema};
|
use crate::schema::{TableName, TableSchema};
|
||||||
use crate::internals::table::Table;
|
use crate::internals::table::Table;
|
||||||
use crate::operation::{ColumnSelection, Condition, Operation};
|
use crate::operation::{ColumnSelection, Condition, Operation};
|
||||||
use crate::result::DbResult;
|
use crate::result::DbResult;
|
||||||
|
|
|
||||||
7
minisql/src/lib.rs
Normal file
7
minisql/src/lib.rs
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
pub mod schema;
|
||||||
|
pub mod interpreter;
|
||||||
|
pub mod operation;
|
||||||
|
pub mod type_system;
|
||||||
|
mod error;
|
||||||
|
mod internals;
|
||||||
|
mod result;
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
mod error;
|
|
||||||
mod internals;
|
|
||||||
mod interpreter;
|
|
||||||
mod operation;
|
|
||||||
mod result;
|
|
||||||
mod type_system;
|
|
||||||
|
|
||||||
fn main() {
|
|
||||||
interpreter::example();
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
use crate::internals::schema::{ColumnName, TableName, TableSchema};
|
use crate::schema::{ColumnName, TableName, TableSchema};
|
||||||
use crate::type_system::Value;
|
use crate::type_system::Value;
|
||||||
|
|
||||||
// ==============SQL operations================
|
// ==============SQL operations================
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ pub type TableName = String;
|
||||||
pub type ColumnName = String;
|
pub type ColumnName = String;
|
||||||
|
|
||||||
impl TableSchema {
|
impl TableSchema {
|
||||||
pub fn new(table_name: TableName, primary_key: ColumnPosition, column_name_position_map: Vec<(ColumnName, ColumnPosition)>, types: Vec<DbType>) -> Self {
|
pub(crate) fn new(table_name: TableName, primary_key: ColumnPosition, column_name_position_map: Vec<(ColumnName, ColumnPosition)>, types: Vec<DbType>) -> Self {
|
||||||
let mut column_name_position_mapping: BiMap<ColumnName, ColumnPosition> = BiMap::new();
|
let mut column_name_position_mapping: BiMap<ColumnName, ColumnPosition> = BiMap::new();
|
||||||
for (column_name, column_position) in column_name_position_map {
|
for (column_name, column_position) in column_name_position_map {
|
||||||
column_name_position_mapping.insert(column_name, column_position);
|
column_name_position_mapping.insert(column_name, column_position);
|
||||||
Loading…
Add table
Add a link
Reference in a new issue