mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-05-16 21:10:38 +00:00
chore: upgrade rust toolchain to latest nightly (#2049)
* chore: upgrade rust toolchain to latest nightly * rebase develop * update rust toolchain in ci
This commit is contained in:
@@ -15,7 +15,7 @@ api = { path = "../api" }
|
||||
arrow-flight.workspace = true
|
||||
async-trait = "0.1"
|
||||
axum = { version = "0.6", features = ["headers"] }
|
||||
axum-macros = "0.3"
|
||||
axum-macros = "0.3.8"
|
||||
base64 = "0.13"
|
||||
bytes = "1.2"
|
||||
catalog = { path = "../catalog" }
|
||||
@@ -102,7 +102,6 @@ rand.workspace = true
|
||||
rustls = { version = "0.21", features = ["dangerous_configuration"] }
|
||||
script = { path = "../script", features = ["python"] }
|
||||
serde_json = "1.0"
|
||||
session = { path = "../session", features = ["testing"] }
|
||||
table = { path = "../table" }
|
||||
tokio-postgres = "0.7"
|
||||
tokio-postgres-rustls = "0.10"
|
||||
|
||||
@@ -111,7 +111,9 @@ impl GreptimeRequestHandler {
|
||||
header: Option<&RequestHeader>,
|
||||
query_ctx: &QueryContextRef,
|
||||
) -> TonicResult<InternalResult<()>> {
|
||||
let Some(user_provider) = self.user_provider.as_ref() else { return Ok(Ok(())) };
|
||||
let Some(user_provider) = self.user_provider.as_ref() else {
|
||||
return Ok(Ok(()));
|
||||
};
|
||||
|
||||
let auth_scheme = header
|
||||
.and_then(|header| {
|
||||
|
||||
@@ -184,7 +184,9 @@ fn get_influxdb_credentials<B: Send + Sync + 'static>(
|
||||
Ok(Some((username.to_string(), password.to_string().into())))
|
||||
} else {
|
||||
// try v1
|
||||
let Some(query_str) = request.uri().query() else { return Ok(None) };
|
||||
let Some(query_str) = request.uri().query() else {
|
||||
return Ok(None);
|
||||
};
|
||||
|
||||
match extract_influxdb_user_from_query(query_str) {
|
||||
(None, None) => Ok(None),
|
||||
|
||||
@@ -239,7 +239,7 @@ fn select_variable(query: &str, query_context: QueryContextRef) -> Option<Output
|
||||
}
|
||||
|
||||
fn check_select_variable(query: &str, query_context: QueryContextRef) -> Option<Output> {
|
||||
if vec![&SELECT_VAR_PATTERN, &MYSQL_CONN_JAVA_PATTERN]
|
||||
if [&SELECT_VAR_PATTERN, &MYSQL_CONN_JAVA_PATTERN]
|
||||
.iter()
|
||||
.any(|r| r.is_match(query))
|
||||
{
|
||||
|
||||
@@ -218,21 +218,27 @@ mod tests {
|
||||
#[test]
|
||||
fn test_transform_placeholders() {
|
||||
let insert = parse_sql("insert into demo values(?,?,?)");
|
||||
let Statement::Insert(insert) = transform_placeholders(insert) else { unreachable!()};
|
||||
let Statement::Insert(insert) = transform_placeholders(insert) else {
|
||||
unreachable!()
|
||||
};
|
||||
assert_eq!(
|
||||
"INSERT INTO demo VALUES ($1, $2, $3)",
|
||||
insert.inner.to_string()
|
||||
);
|
||||
|
||||
let delete = parse_sql("delete from demo where host=? and idc=?");
|
||||
let Statement::Delete(delete) = transform_placeholders(delete) else { unreachable!()};
|
||||
let Statement::Delete(delete) = transform_placeholders(delete) else {
|
||||
unreachable!()
|
||||
};
|
||||
assert_eq!(
|
||||
"DELETE FROM demo WHERE host = $1 AND idc = $2",
|
||||
delete.inner.to_string()
|
||||
);
|
||||
|
||||
let select = parse_sql("select from demo where host=? and idc in (select idc from idcs where name=?) and cpu>?");
|
||||
let Statement::Query(select) = transform_placeholders(select) else { unreachable!()};
|
||||
let Statement::Query(select) = transform_placeholders(select) else {
|
||||
unreachable!()
|
||||
};
|
||||
assert_eq!("SELECT from AS demo WHERE host = $1 AND idc IN (SELECT idc FROM idcs WHERE name = $2) AND cpu > $3", select.inner.to_string());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ where
|
||||
Ok(rb) => stream::iter(
|
||||
// collect rows from a single recordbatch into vector to avoid
|
||||
// borrowing it
|
||||
rb.rows().map(Ok).collect::<Vec<_>>().into_iter(),
|
||||
rb.rows().map(Ok).collect::<Vec<_>>(),
|
||||
)
|
||||
.boxed(),
|
||||
Err(e) => stream::once(future::err(PgWireError::ApiError(Box::new(e)))).boxed(),
|
||||
|
||||
@@ -257,7 +257,9 @@ pub(super) fn parameters_to_scalar_values(
|
||||
}
|
||||
|
||||
for (idx, client_type) in client_param_types.iter().enumerate() {
|
||||
let Some(Some(server_type)) = param_types.get(&format!("${}", idx + 1)) else { continue };
|
||||
let Some(Some(server_type)) = param_types.get(&format!("${}", idx + 1)) else {
|
||||
continue;
|
||||
};
|
||||
let value = match client_type {
|
||||
&Type::VARCHAR | &Type::TEXT => {
|
||||
let data = portal.parameter::<String>(idx)?;
|
||||
|
||||
@@ -618,7 +618,9 @@ async fn get_all_column_names(
|
||||
|
||||
let mut labels = HashSet::new();
|
||||
for table_name in table_names {
|
||||
let Some(table) = manager.table(catalog, schema, &table_name).await? else { continue };
|
||||
let Some(table) = manager.table(catalog, schema, &table_name).await? else {
|
||||
continue;
|
||||
};
|
||||
let schema = table.schema();
|
||||
for column in schema.column_schemas() {
|
||||
labels.insert(column.name.to_string());
|
||||
|
||||
Reference in New Issue
Block a user