feat: impl select (grpc) (#138)

* SelectExpr: change to oneof expr

* Convert between Vec<u8> and SelectResult

* Chore: use encode_to_vec and decode, instead of encode_length_delimited_to_vec and decode_length_delimited

* Chore: move bitset into separate file

* Grpc select impl
This commit is contained in:
fys
2022-08-15 18:31:47 +08:00
committed by GitHub
parent 60dc77d1d9
commit 34133fae5a
22 changed files with 981 additions and 180 deletions
+13 -9
View File
@@ -1,15 +1,19 @@
use api::v1::*;
use api::v1::{codec::InsertBatch, *};
use client::{Client, Database};
#[tokio::main]
async fn main() {
let url = "http://127.0.0.1:3001";
let db_name = "db";
let table_name = "demo";
fn main() {
tracing::subscriber::set_global_default(tracing_subscriber::FmtSubscriber::builder().finish())
.unwrap();
let client = Client::connect(url).await.unwrap();
let db = Database::new(db_name, client);
db.insert(table_name, insert_batches()).await.unwrap();
run();
}
#[tokio::main]
async fn run() {
let client = Client::connect("http://127.0.0.1:3001").await.unwrap();
let db = Database::new("greptime", client);
db.insert("demo", insert_batches()).await.unwrap();
}
fn insert_batches() -> Vec<Vec<u8>> {
+23
View File
@@ -0,0 +1,23 @@
use api::v1::{select_expr, SelectExpr};
use client::{Client, Database};
use tracing::{event, Level};
fn main() {
tracing::subscriber::set_global_default(tracing_subscriber::FmtSubscriber::builder().finish())
.unwrap();
run();
}
#[tokio::main]
async fn run() {
let client = Client::connect("http://127.0.0.1:3001").await.unwrap();
let db = Database::new("greptime", client);
let select_expr = SelectExpr {
expr: Some(select_expr::Expr::Sql("select * from demo".to_string())),
};
let result = db.select(select_expr).await.unwrap();
event!(Level::INFO, "result: {:#?}", result);
}