feat(sql): preserve column order from query with indexmap (#1305)

* feat: preserve column order from query with indexmap

* chore(sql): remove default features

* change file
This commit is contained in:
thewh1teagle
2024-05-15 16:15:34 +03:00
committed by GitHub
parent 224108818d
commit a940ef6250
4 changed files with 20 additions and 12 deletions
+3 -2
View File
@@ -19,6 +19,7 @@ use tauri::{
};
use tokio::sync::Mutex;
use indexmap::IndexMap;
use std::collections::HashMap;
#[cfg(feature = "sqlite")]
@@ -233,7 +234,7 @@ async fn select(
db: String,
query: String,
values: Vec<JsonValue>,
) -> Result<Vec<HashMap<String, JsonValue>>> {
) -> Result<Vec<IndexMap<String, JsonValue>>> {
let mut instances = db_instances.0.lock().await;
let db = instances.get_mut(&db).ok_or(Error::DatabaseNotLoaded(db))?;
let mut query = sqlx::query(&query);
@@ -251,7 +252,7 @@ async fn select(
let rows = query.fetch_all(&*db).await?;
let mut values = Vec::new();
for row in rows {
let mut value = HashMap::default();
let mut value = IndexMap::default();
for (i, column) in row.columns().iter().enumerate() {
let v = row.try_get_raw(i)?;