diff --git a/Cargo.lock b/Cargo.lock index 78f9dadb..6ccaaae4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1269,7 +1269,7 @@ dependencies = [ [[package]] name = "edgedb-derive" version = "0.5.2" -source = "git+https://github.com/edgedb/edgedb-rust/#0929ef146c32037dc6ad4ac8e1cbdaa091640066" +source = "git+https://github.com/edgedb/edgedb-rust/#00706e6f393c0870c0d27702b98c5f1ec78a6e53" dependencies = [ "proc-macro2", "quote", @@ -1280,7 +1280,7 @@ dependencies = [ [[package]] name = "edgedb-errors" version = "0.4.2" -source = "git+https://github.com/edgedb/edgedb-rust/#0929ef146c32037dc6ad4ac8e1cbdaa091640066" +source = "git+https://github.com/edgedb/edgedb-rust/#00706e6f393c0870c0d27702b98c5f1ec78a6e53" dependencies = [ "bytes", ] @@ -1288,7 +1288,7 @@ dependencies = [ [[package]] name = "edgedb-protocol" version = "0.6.1" -source = "git+https://github.com/edgedb/edgedb-rust/#0929ef146c32037dc6ad4ac8e1cbdaa091640066" +source = "git+https://github.com/edgedb/edgedb-rust/#00706e6f393c0870c0d27702b98c5f1ec78a6e53" dependencies = [ "bigdecimal", "bitflags 2.6.0", @@ -1306,7 +1306,7 @@ dependencies = [ [[package]] name = "edgedb-tokio" version = "0.5.1" -source = "git+https://github.com/edgedb/edgedb-rust/#0929ef146c32037dc6ad4ac8e1cbdaa091640066" +source = "git+https://github.com/edgedb/edgedb-rust/#00706e6f393c0870c0d27702b98c5f1ec78a6e53" dependencies = [ "anyhow", "arc-swap", diff --git a/src/outputs/tab_separated.rs b/src/outputs/tab_separated.rs index ed89ff0f..8696ae0a 100644 --- a/src/outputs/tab_separated.rs +++ b/src/outputs/tab_separated.rs @@ -45,6 +45,7 @@ fn value_to_string(v: &Value) -> Result { | Object {..} | SparseObject(..) | NamedTuple {..} + | SQLRow {..} | Array(_) | Vector(_) | Set(_) diff --git a/src/print/native.rs b/src/print/native.rs index 4d01516e..a9dc1b2d 100644 --- a/src/print/native.rs +++ b/src/print/native.rs @@ -202,6 +202,14 @@ impl FormatExt for Value { } Ok(()) }), + V::SQLRow { shape, fields } => prn.named_tuple(|prn| { + for (fld, value) in shape.elements.iter().zip(fields) { + prn.tuple_field(&fld.name)?; + value.format(prn)?; + prn.comma()?; + } + Ok(()) + }), V::Array(items) => prn.array(None, |prn| { if let Some(limit) = prn.max_items() { for item in &items[..min(limit, items.len())] {