mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-08-18 12:08:22 +00:00
refactor: explicitly define json struct to ingest jsonbench data (#7462)
ingest jsonbench data Signed-off-by: luofucong <luofc@foxmail.com>
This commit is contained in:
@@ -62,7 +62,6 @@ mod test {
|
||||
use common_meta::rpc::router::region_distribution;
|
||||
use common_query::Output;
|
||||
use common_recordbatch::RecordBatches;
|
||||
use common_test_util::recordbatch::check_output_stream;
|
||||
use frontend::instance::Instance;
|
||||
use query::parser::QueryLanguageParser;
|
||||
use query::query_engine::DefaultSerializer;
|
||||
@@ -76,11 +75,10 @@ mod test {
|
||||
|
||||
use super::*;
|
||||
use crate::standalone::GreptimeDbStandaloneBuilder;
|
||||
use crate::test_util::execute_sql_and_expect;
|
||||
use crate::tests;
|
||||
use crate::tests::MockDistributedInstance;
|
||||
use crate::tests::test_util::{
|
||||
MockInstance, both_instances_cases, distributed, execute_sql, standalone,
|
||||
};
|
||||
use crate::tests::test_util::{MockInstance, both_instances_cases, distributed, standalone};
|
||||
|
||||
#[tokio::test(flavor = "multi_thread")]
|
||||
async fn test_distributed_handle_ddl_request() {
|
||||
@@ -1242,8 +1240,7 @@ CREATE TABLE {table_name} (
|
||||
.unwrap();
|
||||
assert!(matches!(output.data, OutputData::AffectedRows(3)));
|
||||
|
||||
let output = execute_sql(&frontend, "show create table auto_created_table").await;
|
||||
|
||||
let sql = "show create table auto_created_table";
|
||||
let expected = r#"+--------------------+---------------------------------------------------+
|
||||
| Table | Create Table |
|
||||
+--------------------+---------------------------------------------------+
|
||||
@@ -1261,6 +1258,6 @@ CREATE TABLE {table_name} (
|
||||
| | 'compaction.type' = 'twcs' |
|
||||
| | ) |
|
||||
+--------------------+---------------------------------------------------+"#;
|
||||
check_output_stream(output.data, expected).await;
|
||||
execute_sql_and_expect(&frontend, sql, expected).await;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ use common_base::Plugins;
|
||||
use common_config::Configurable;
|
||||
use common_meta::key::catalog_name::CatalogNameKey;
|
||||
use common_meta::key::schema_name::SchemaNameKey;
|
||||
use common_query::Output;
|
||||
use common_runtime::runtime::BuilderBuild;
|
||||
use common_runtime::{Builder as RuntimeBuilder, Runtime};
|
||||
use common_test_util::ports;
|
||||
@@ -774,3 +775,16 @@ pub(crate) async fn prepare_another_catalog_and_schema(instance: &Instance) {
|
||||
.await
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
pub async fn execute_sql(instance: &Arc<Instance>, sql: &str) -> Output {
|
||||
SqlQueryHandler::do_query(instance.as_ref(), sql, QueryContext::arc())
|
||||
.await
|
||||
.remove(0)
|
||||
.unwrap()
|
||||
}
|
||||
|
||||
pub async fn execute_sql_and_expect(instance: &Arc<Instance>, sql: &str, expected: &str) {
|
||||
let output = execute_sql(instance, sql).await;
|
||||
let output = output.data.pretty_print().await;
|
||||
assert_eq!(output, expected.trim());
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ mod instance_noop_wal_test;
|
||||
mod instance_test;
|
||||
mod promql_test;
|
||||
mod reconcile_table;
|
||||
pub(crate) mod test_util;
|
||||
pub mod test_util;
|
||||
|
||||
use std::collections::HashMap;
|
||||
use std::sync::Arc;
|
||||
|
||||
@@ -27,8 +27,8 @@ use store_api::storage::RegionId;
|
||||
use table::metadata::TableId;
|
||||
|
||||
use crate::cluster::GreptimeDbClusterBuilder;
|
||||
use crate::test_util::{StorageType, TempDirGuard, get_test_store_config};
|
||||
use crate::tests::test_util::{MockInstanceBuilder, TestContext, execute_sql, wait_procedure};
|
||||
use crate::test_util::{StorageType, TempDirGuard, execute_sql, get_test_store_config};
|
||||
use crate::tests::test_util::{MockInstanceBuilder, TestContext, wait_procedure};
|
||||
|
||||
/// Helper function to get table route information for GC procedure
|
||||
async fn get_table_route(
|
||||
|
||||
@@ -18,9 +18,8 @@ use common_test_util::recordbatch::check_output_stream;
|
||||
use common_wal::config::{DatanodeWalConfig, MetasrvWalConfig};
|
||||
|
||||
use crate::cluster::GreptimeDbClusterBuilder;
|
||||
use crate::tests::test_util::{
|
||||
MockInstanceBuilder, RebuildableMockInstance, TestContext, execute_sql,
|
||||
};
|
||||
use crate::test_util::execute_sql;
|
||||
use crate::tests::test_util::{MockInstanceBuilder, RebuildableMockInstance, TestContext};
|
||||
|
||||
pub(crate) async fn distributed_with_noop_wal() -> TestContext {
|
||||
common_telemetry::init_default_ut_logging();
|
||||
|
||||
@@ -23,9 +23,10 @@ use common_test_util::recordbatch::check_output_stream;
|
||||
use table::table_reference::TableReference;
|
||||
|
||||
use crate::cluster::GreptimeDbClusterBuilder;
|
||||
use crate::test_util::execute_sql;
|
||||
use crate::tests::test_util::{
|
||||
MockInstanceBuilder, RebuildableMockInstance, TestContext, dump_kvbackend, execute_sql,
|
||||
restore_kvbackend, try_execute_sql, wait_procedure,
|
||||
MockInstanceBuilder, RebuildableMockInstance, TestContext, dump_kvbackend, restore_kvbackend,
|
||||
try_execute_sql, wait_procedure,
|
||||
};
|
||||
|
||||
const CREATE_MONITOR_TABLE_SQL: &str = r#"
|
||||
|
||||
@@ -439,10 +439,6 @@ pub fn find_testing_resource(path: &str) -> String {
|
||||
prepare_path(&p)
|
||||
}
|
||||
|
||||
pub async fn execute_sql(instance: &Arc<Instance>, sql: &str) -> Output {
|
||||
execute_sql_with(instance, sql, QueryContext::arc()).await
|
||||
}
|
||||
|
||||
pub async fn try_execute_sql(instance: &Arc<Instance>, sql: &str) -> Result<Output> {
|
||||
try_execute_sql_with(instance, sql, QueryContext::arc()).await
|
||||
}
|
||||
@@ -455,16 +451,6 @@ pub async fn try_execute_sql_with(
|
||||
instance.do_query(sql, query_ctx).await.remove(0)
|
||||
}
|
||||
|
||||
pub async fn execute_sql_with(
|
||||
instance: &Arc<Instance>,
|
||||
sql: &str,
|
||||
query_ctx: QueryContextRef,
|
||||
) -> Output {
|
||||
try_execute_sql_with(instance, sql, query_ctx)
|
||||
.await
|
||||
.unwrap_or_else(|e| panic!("Failed to execute sql: {sql}, error: {e:?}"))
|
||||
}
|
||||
|
||||
/// Dump the kv backend to a vector of key-value pairs.
|
||||
pub async fn dump_kvbackend(kv_backend: &KvBackendRef) -> Vec<(Vec<u8>, Vec<u8>)> {
|
||||
let req = RangeRequest::new().with_range(vec![0], vec![0]);
|
||||
|
||||
Reference in New Issue
Block a user