From 316b8bfec7c321391209d40ab9b45f9c2eef6796 Mon Sep 17 00:00:00 2001 From: Wojciech Kocjan Date: Thu, 21 Jan 2021 09:25:49 +0100 Subject: [PATCH 1/4] chore: add PublishedAt to get-deploy-tags.sh script --- .circleci/get-deploy-tags.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/get-deploy-tags.sh b/.circleci/get-deploy-tags.sh index cdc7cc41b6..f6297bc918 100755 --- a/.circleci/get-deploy-tags.sh +++ b/.circleci/get-deploy-tags.sh @@ -41,5 +41,6 @@ jq --null-input --sort-keys \ ($appKey): { Tag: ($imgPrefix + ":" + $td[0]), Digest: ($imgPrefix + "@" + $td[1]), - } + }, + PublishedAt: (now | todateiso8601) }' From 2dc5eec3c7862b71fe87cc73a2f203aa45ff0ca5 Mon Sep 17 00:00:00 2001 From: Wojciech Kocjan Date: Thu, 21 Jan 2021 13:22:29 +0100 Subject: [PATCH 2/4] fix: add Images toplevel object to JSON in get-deploy-tags.sh --- .circleci/get-deploy-tags.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.circleci/get-deploy-tags.sh b/.circleci/get-deploy-tags.sh index f6297bc918..a9af5da924 100755 --- a/.circleci/get-deploy-tags.sh +++ b/.circleci/get-deploy-tags.sh @@ -38,9 +38,11 @@ jq --null-input --sort-keys \ --arg imgPrefix "${DOCKER_IMAGE}" \ --arg appKey "$APP_NAME" \ '$tagDigest | split(" ") as $td | { - ($appKey): { - Tag: ($imgPrefix + ":" + $td[0]), - Digest: ($imgPrefix + "@" + $td[1]), + Images: { + ($appKey): { + Tag: ($imgPrefix + ":" + $td[0]), + Digest: ($imgPrefix + "@" + $td[1]), + }, }, PublishedAt: (now | todateiso8601) }' From 6bb91653c1f03c3a98d433e2f3c879da8abf14fb Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" <193874+carols10cents@users.noreply.github.com> Date: Thu, 21 Jan 2021 07:27:17 -0500 Subject: [PATCH 3/4] refactor: Some tiny cleanups (#680) * refactor: Remove import of unimplemented macro that's in the prelude * refactor: Remove allowing of dead code that isn't dead anymore Co-authored-by: Andrew Lamb --- data_types/src/database_rules.rs | 2 -- influxdb_tsm/src/lib.rs | 3 +-- object_store/src/lib.rs | 2 +- query/src/exec/seriesset.rs | 1 - server/src/buffer.rs | 10 ---------- 5 files changed, 2 insertions(+), 16 deletions(-) diff --git a/data_types/src/database_rules.rs b/data_types/src/database_rules.rs index dfb84f5a6e..d92576cd24 100644 --- a/data_types/src/database_rules.rs +++ b/data_types/src/database_rules.rs @@ -287,9 +287,7 @@ mod tests { use super::*; use influxdb_line_protocol::parse_lines; - #[allow(dead_code)] type TestError = Box; - #[allow(dead_code)] type Result = std::result::Result; #[test] diff --git a/influxdb_tsm/src/lib.rs b/influxdb_tsm/src/lib.rs index e533bf6f3d..6276fe1f55 100644 --- a/influxdb_tsm/src/lib.rs +++ b/influxdb_tsm/src/lib.rs @@ -46,7 +46,6 @@ impl TryFrom for BlockType { /// `Block` holds information about location and time range of a block of data. #[derive(Debug, Copy, Clone, PartialEq)] -#[allow(dead_code)] pub struct Block { pub min_time: i64, pub max_time: i64, @@ -77,8 +76,8 @@ const MAX_BLOCK_VALUES: usize = 1000; /// organization and bucket identifiers. pub struct InfluxID(u64); -#[allow(dead_code)] impl InfluxID { + #[allow(dead_code)] fn new_str(s: &str) -> Result { let v = u64::from_str_radix(s, 16).map_err(|e| TSMError { description: e.to_string(), diff --git a/object_store/src/lib.rs b/object_store/src/lib.rs index eb20eb9893..f6e0733143 100644 --- a/object_store/src/lib.rs +++ b/object_store/src/lib.rs @@ -33,7 +33,7 @@ use bytes::Bytes; use chrono::{DateTime, Utc}; use futures::{Stream, StreamExt, TryStreamExt}; use snafu::Snafu; -use std::{io, path::PathBuf, unimplemented}; +use std::{io, path::PathBuf}; /// Universal interface to multiple object store services. #[derive(Debug)] diff --git a/query/src/exec/seriesset.rs b/query/src/exec/seriesset.rs index 11efcbbef4..3f3ef1a454 100644 --- a/query/src/exec/seriesset.rs +++ b/query/src/exec/seriesset.rs @@ -64,7 +64,6 @@ pub enum Error { JoinError { source: tokio::task::JoinError }, } -#[allow(dead_code)] pub type Result = std::result::Result; #[derive(Debug)] diff --git a/server/src/buffer.rs b/server/src/buffer.rs index 08e606a920..ed78a7d06d 100644 --- a/server/src/buffer.rs +++ b/server/src/buffer.rs @@ -70,7 +70,6 @@ pub enum Error { InvalidFlatbuffersSegment, } -#[allow(dead_code)] pub type Result = std::result::Result; /// An in-memory buffer of a write ahead log. It is split up into segments, @@ -87,7 +86,6 @@ pub struct Buffer { } impl Buffer { - #[allow(dead_code)] pub fn new( max_size: u64, segment_size: u64, @@ -109,7 +107,6 @@ impl Buffer { /// has been closed out. If the max size of the buffer would be exceeded /// by accepting the write, the oldest (first) of the closed segments /// will be dropped, if it is persisted. Otherwise, an error is returned. - #[allow(dead_code)] pub fn append(&mut self, write: Arc) -> Result>> { let write_size = u64::try_from(write.data.len()) .expect("appended data must be less than a u64 in length"); @@ -167,7 +164,6 @@ impl Buffer { } /// Returns the current size of the buffer. - #[allow(dead_code)] pub fn size(&self) -> u64 { self.current_size } @@ -177,7 +173,6 @@ impl Buffer { /// given writer ID and sequence are to identify from what point to /// replay writes. If no write matches the given writer ID and sequence /// number, all replicated writes within the buffer will be returned. - #[allow(dead_code)] pub fn all_writes_since(&self, since: WriterSequence) -> Vec> { let mut writes = Vec::new(); @@ -209,7 +204,6 @@ impl Buffer { /// onward. This returns only writes from the passed in writer ID. If no /// write matches the given writer ID and sequence number, all /// replicated writes within the buffer for that writer will be returned. - #[allow(dead_code)] pub fn writes_since(&self, since: WriterSequence) -> Vec> { let mut writes = Vec::new(); @@ -244,7 +238,6 @@ impl Buffer { } // Removes the oldest segment present in the buffer, returning its id - #[allow(dead_code)] fn remove_oldest_segment(&mut self) -> u64 { let removed_segment = self.closed_segments.remove(0); self.current_size -= removed_segment.size; @@ -276,7 +269,6 @@ pub struct Segment { } impl Segment { - #[allow(dead_code)] fn new(id: u64) -> Self { Self { id, @@ -299,7 +291,6 @@ impl Segment { // appends the write to the segment, keeping track of the summary information // about the writer - #[allow(dead_code)] fn append(&mut self, write: Arc) -> Result<()> { let (writer_id, sequence_number) = write.writer_and_sequence(); self.validate_and_update_sequence_summary(writer_id, sequence_number)?; @@ -350,7 +341,6 @@ impl Segment { } /// sets the time this segment was persisted at - #[allow(dead_code)] pub fn set_persisted_at(&self, time: DateTime) { let mut persisted = self.persisted.lock().expect("mutex poisoned"); *persisted = Some(time); From 747b96d801ee716d1f6878e92d6b6172f0e855c5 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Thu, 21 Jan 2021 08:58:11 -0500 Subject: [PATCH 4/4] chore: Upgrade arrow dependencies, reduce duplication with upstream (#676) --- Cargo.lock | 558 ++++++++++++++++++++------------- arrow_deps/Cargo.toml | 8 +- mutable_buffer/src/chunk.rs | 30 +- mutable_buffer/src/database.rs | 13 +- query/src/util.rs | 85 ----- test_helpers/src/lib.rs | 6 +- 6 files changed, 368 insertions(+), 332 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 705e0965cb..799f74c26d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,9 +8,9 @@ checksum = "8b5ace29ee3216de37c0546865ad08edef58b0f9e76838ed8959a84a990e58c5" [[package]] name = "addr2line" -version = "0.14.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c0929d69e78dd9bf5408269919fcbcaeb2e35e5d43e5815517cdc6a8e11a423" +checksum = "a55f82cfe485775d02112886f4169bde0c5894d75e79ead7eafe7e40a25e45f7" dependencies = [ "gimli", ] @@ -29,12 +29,12 @@ checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e" [[package]] name = "ahash" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75b7e6a93ecd6dbd2c225154d0fa7f86205574ecaa6c87429fb5f66ee677c44" +checksum = "796540673305a66d127804eef19ad696f1f204b8c1025aaca4958c17eab32877" dependencies = [ - "getrandom 0.2.0", - "lazy_static", + "getrandom 0.2.2", + "once_cell", "version_check", ] @@ -82,9 +82,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee67c11feeac938fae061b232e38e0b6d94f97a9df10e6271319325ac4c56a86" +checksum = "afddf7f520a80dbf76e6f50a35bca42a2331ef227a28b3b6dc5c2e2338d114b1" [[package]] name = "arrayref" @@ -101,12 +101,12 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "arrow" version = "3.0.0-SNAPSHOT" -source = "git+https://github.com/apache/arrow.git?rev=c46fd102678fd22b9781642437ad8821f907d9db#c46fd102678fd22b9781642437ad8821f907d9db" +source = "git+https://github.com/apache/arrow.git?rev=84126d5d70e9f05f82616e9a8506b53fe1df4a22#84126d5d70e9f05f82616e9a8506b53fe1df4a22" dependencies = [ "cfg_aliases", "chrono", "csv", - "flatbuffers 0.8.0", + "flatbuffers 0.8.1", "hex", "indexmap", "lazy_static", @@ -160,11 +160,11 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b72c1f1154e234325b50864a349b9c8e56939e266a4c307c0f159812df2f9537" dependencies = [ - "bytes", + "bytes 0.5.6", "flate2", "futures-core", "memchr", - "pin-project-lite 0.2.0", + "pin-project-lite 0.2.4", ] [[package]] @@ -224,7 +224,7 @@ checksum = "57d8dd27eee0644b886305eca21c48425403a8bb87ec57f52f516093504fa3a5" dependencies = [ "RustyXML", "base64 0.12.3", - "bytes", + "bytes 0.5.6", "chrono", "failure", "futures", @@ -272,7 +272,7 @@ checksum = "93730b33cf379bacf5e56b5765f98a1f1ee27b2d530a2f8f027f4e806c53b4fd" dependencies = [ "azure_sdk_core", "base64 0.12.3", - "bytes", + "bytes 0.5.6", "chrono", "futures", "http", @@ -287,7 +287,7 @@ dependencies = [ "serde_derive", "serde_json", "smallvec", - "time 0.2.23", + "time 0.2.24", "url", "uuid", ] @@ -332,16 +332,15 @@ checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" [[package]] name = "bindgen" -version = "0.53.3" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c72a978d268b1d70b0e963217e60fdabd9523a941457a6c42a7315d15c7e89e5" +checksum = "2da379dbebc0b76ef63ca68d8fc6e71c0f13e59432e0987e508c1820e6ab5239" dependencies = [ "bitflags", "cexpr", - "cfg-if 0.1.10", "clang-sys", "clap", - "env_logger", + "env_logger 0.8.2", "lazy_static", "lazycell", "log", @@ -380,7 +379,16 @@ dependencies = [ "block-padding", "byte-tools", "byteorder", - "generic-array", + "generic-array 0.12.3", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array 0.14.4", ] [[package]] @@ -439,9 +447,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "byteorder" -version = "1.3.4" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" +checksum = "ae44d1a3d5a19df61dd0c8beb138458ac2a53a7ac09eba97d55592540004306b" [[package]] name = "bytes" @@ -449,6 +457,12 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" +[[package]] +name = "bytes" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" + [[package]] name = "cast" version = "0.2.3" @@ -504,15 +518,15 @@ dependencies = [ "num-integer", "num-traits", "serde", - "time 0.1.44", + "time 0.1.43", "winapi 0.3.9", ] [[package]] name = "clang-sys" -version = "0.29.3" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6837df1d5cba2397b835c8530f51723267e16abbf83892e9e5af4f0e5dd10a" +checksum = "0659001ab56b791be01d4b729c44376edc6718cf389a502e579b77b758f3296c" dependencies = [ "glob", "libc", @@ -566,9 +580,9 @@ dependencies = [ [[package]] name = "const_fn" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd51eab21ab4fd6a3bf889e2d0958c0a6e3a61ad04260325e919e652a2a62826" +checksum = "28b9d6de7f49e22cf97ad17fc4036ece69300032f45f78f30b4a4482cdc3f4a6" [[package]] name = "constant_time_eq" @@ -608,6 +622,12 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" +[[package]] +name = "cpuid-bool" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" + [[package]] name = "crc32fast" version = "1.2.1" @@ -655,9 +675,9 @@ dependencies = [ [[package]] name = "croaring" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5e3e6aced0d4a2da69e3d5372a4e52c495afa8d78050f48e6314ddac0a2eb" +checksum = "a00d14ad7d8cc067d7a5c93e8563791bfec3f7182361db955530db11d94ed63c" dependencies = [ "byteorder", "croaring-sys", @@ -666,9 +686,9 @@ dependencies = [ [[package]] name = "croaring-sys" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf8df0e3c85ace1f7cbcfb0b26c244647ad8c316c6170d9256822dee9ce1f866" +checksum = "c5d6a46501bb403a61e43bc7cd19977b4f9c54efd703949b00259cc61afb5a86" dependencies = [ "bindgen", "cc", @@ -823,7 +843,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" dependencies = [ - "generic-array", + "generic-array 0.12.3", "subtle", ] @@ -877,9 +897,9 @@ dependencies = [ [[package]] name = "datafusion" version = "3.0.0-SNAPSHOT" -source = "git+https://github.com/apache/arrow.git?rev=c46fd102678fd22b9781642437ad8821f907d9db#c46fd102678fd22b9781642437ad8821f907d9db" +source = "git+https://github.com/apache/arrow.git?rev=84126d5d70e9f05f82616e9a8506b53fe1df4a22#84126d5d70e9f05f82616e9a8506b53fe1df4a22" dependencies = [ - "ahash 0.6.2", + "ahash 0.6.3", "arrow", "async-trait", "chrono", @@ -888,12 +908,15 @@ dependencies = [ "futures", "hashbrown", "log", + "md-5", "num_cpus", + "ordered-float 2.0.1", "parquet", "paste", - "pin-project-lite 0.2.0", + "pin-project-lite 0.2.4", "rustyline", - "sqlparser", + "sha2 0.9.2", + "sqlparser 0.7.0", "tokio", ] @@ -909,7 +932,16 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" dependencies = [ - "generic-array", + "generic-array 0.12.3", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array 0.14.4", ] [[package]] @@ -919,7 +951,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" dependencies = [ "libc", - "redox_users", + "redox_users 0.3.5", "winapi 0.3.9", ] @@ -944,9 +976,9 @@ dependencies = [ [[package]] name = "dirs-next" -version = "1.0.2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf36e65a80337bea855cd4ef9b8401ffce06a7baedf2e85ec467b1ac3f6e82b6" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" dependencies = [ "cfg-if 1.0.0", "dirs-sys-next", @@ -959,18 +991,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a" dependencies = [ "libc", - "redox_users", + "redox_users 0.3.5", "winapi 0.3.9", ] [[package]] name = "dirs-sys-next" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99de365f605554ae33f115102a02057d4fc18b01f3284d6870be0938743cfe7d" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ "libc", - "redox_users", + "redox_users 0.4.0", "winapi 0.3.9", ] @@ -1026,7 +1058,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" dependencies = [ "atty", - "humantime", + "humantime 1.3.0", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "env_logger" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26ecb66b4bdca6c1409b40fb255eefc2bd4f6d135dab3c3124f80ffa2a9661e" +dependencies = [ + "atty", + "humantime 2.1.0", "log", "regex", "termcolor", @@ -1089,9 +1134,9 @@ dependencies = [ [[package]] name = "flatbuffers" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4d0e80bffea40f65eb6eefd74f2bef75d3c4f5dfdf973b91449706d43369cd9" +checksum = "40c2d2ec7bb8b17de23b328a842c84ad6a42b65d4bb6b863d1916cb4e09f8774" dependencies = [ "bitflags", "smallvec", @@ -1150,6 +1195,16 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fs2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +dependencies = [ + "libc", + "winapi 0.3.9", +] + [[package]] name = "fuchsia-zircon" version = "0.3.3" @@ -1168,9 +1223,9 @@ checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" [[package]] name = "futures" -version = "0.3.8" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b3b0c040a1fe6529d30b3c5944b280c7f0dcb2930d2c3062bca967b602583d0" +checksum = "da9052a1a50244d8d5aa9bf55cbc2fb6f357c86cc52e46c62ed390a7180cf150" dependencies = [ "futures-channel", "futures-core", @@ -1183,9 +1238,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.8" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b7109687aa4e177ef6fe84553af6280ef2778bdb7783ba44c9dc3399110fe64" +checksum = "f2d31b7ec7efab6eefc7c57233bb10b847986139d88cc2f5a02a1ae6871a1846" dependencies = [ "futures-core", "futures-sink", @@ -1193,15 +1248,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.8" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "847ce131b72ffb13b6109a221da9ad97a64cbe48feb1028356b836b47b8f1748" +checksum = "79e5145dde8da7d1b3892dad07a9c98fc04bc39892b1ecc9692cf53e2b780a65" [[package]] name = "futures-executor" -version = "0.3.8" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4caa2b2b68b880003057c1dd49f1ed937e38f22fcf6c212188a121f08cf40a65" +checksum = "e9e59fdc009a4b3096bf94f740a0f2424c082521f20a9b08c5c07c48d90fd9b9" dependencies = [ "futures-core", "futures-task", @@ -1210,15 +1265,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.8" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611834ce18aaa1bd13c4b374f5d653e1027cf99b6b502584ff8c9a64413b30bb" +checksum = "28be053525281ad8259d47e4de5de657b25e7bac113458555bb4b70bc6870500" [[package]] name = "futures-macro" -version = "0.3.8" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77408a692f1f97bcc61dc001d752e00643408fbc922e4d634c655df50d595556" +checksum = "c287d25add322d9f9abdcdc5927ca398917996600182178774032e9f8258fedd" dependencies = [ "proc-macro-hack", "proc-macro2", @@ -1228,24 +1283,24 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.8" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f878195a49cee50e006b02b93cf7e0a95a38ac7b776b4c4d9cc1207cd20fcb3d" +checksum = "caf5c69029bda2e743fddd0582d1083951d65cc9539aebf8812f36c3491342d6" [[package]] name = "futures-task" -version = "0.3.8" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c554eb5bf48b2426c4771ab68c6b14468b6e76cc90996f528c3338d761a4d0d" +checksum = "13de07eb8ea81ae445aca7b69f5f7bf15d7bf4912d8ca37d6645c77ae8a58d86" dependencies = [ "once_cell", ] [[package]] name = "futures-util" -version = "0.3.8" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d304cff4a7b99cfb7986f7d43fbe93d175e72e704a8860787cc95e9ffd85cbd2" +checksum = "632a8cd0f2a4b3fdea1657f08bde063848c3bd00f9bbf6e256b8be78802e624b" dependencies = [ "futures-channel", "futures-core", @@ -1254,7 +1309,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project 1.0.2", + "pin-project-lite 0.2.4", "pin-utils", "proc-macro-hack", "proc-macro-nested", @@ -1273,19 +1328,6 @@ dependencies = [ "tonic-build", ] -[[package]] -name = "generator" -version = "0.6.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cdc09201b2e8ca1b19290cf7e65de2246b8e91fb6874279722189c4de7b94dc" -dependencies = [ - "cc", - "libc", - "log", - "rustc_version", - "winapi 0.3.9", -] - [[package]] name = "generic-array" version = "0.12.3" @@ -1296,25 +1338,35 @@ dependencies = [ ] [[package]] -name = "getrandom" -version = "0.1.15" +name = "generic-array" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6" +checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" dependencies = [ - "cfg-if 0.1.10", + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", "libc", "wasi 0.9.0+wasi-snapshot-preview1", ] [[package]] name = "getrandom" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee8025cf36f917e6a52cce185b7c7177689b838b7ec138364e50cc2277a56cf4" +checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8" dependencies = [ - "cfg-if 0.1.10", + "cfg-if 1.0.0", "libc", - "wasi 0.9.0+wasi-snapshot-preview1", + "wasi 0.10.1+wasi-snapshot-preview1", ] [[package]] @@ -1335,7 +1387,7 @@ version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535" dependencies = [ - "bytes", + "bytes 0.5.6", "fnv", "futures-core", "futures-sink", @@ -1351,9 +1403,9 @@ dependencies = [ [[package]] name = "half" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d36fab90f82edc3c747f9d438e06cf0a491055896f2a279638bb5beed6c40177" +checksum = "62aca2aba2d62b4a7f5b33f3712cb1b0692779a56fb510499d5c0aa594daeaf3" [[package]] name = "hashbrown" @@ -1375,9 +1427,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8" +checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c" dependencies = [ "libc", ] @@ -1395,16 +1447,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" dependencies = [ "crypto-mac", - "digest", + "digest 0.8.1", ] [[package]] name = "http" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84129d298a6d57d246960ff8eb831ca4af3f96d29e2e28848dae275408658e26" +checksum = "7245cd7449cc792608c3c8a9eaf69bd4eabbabf802713748fd739c98b82f0747" dependencies = [ - "bytes", + "bytes 1.0.1", "fnv", "itoa", ] @@ -1415,7 +1467,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" dependencies = [ - "bytes", + "bytes 0.5.6", "http", ] @@ -1446,13 +1498,19 @@ dependencies = [ "quick-error", ] +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + [[package]] name = "hyper" version = "0.13.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6ad767baac13b44d4529fcf58ba2cd0995e36e7b435bc5b039de6f47e880dbf" dependencies = [ - "bytes", + "bytes 0.5.6", "futures-channel", "futures-core", "futures-util", @@ -1462,7 +1520,7 @@ dependencies = [ "httparse", "httpdate", "itoa", - "pin-project 1.0.2", + "pin-project 1.0.4", "socket2", "tokio", "tower-service", @@ -1476,7 +1534,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac965ea399ec3a25ac7d13b8affd4b8f39325cca00858ddf5eb29b79e6b14b08" dependencies = [ - "bytes", + "bytes 0.5.6", "ct-logs", "futures-util", "hyper", @@ -1494,7 +1552,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d979acc56dcb5b8dddba3917601745e877576475aa046df3226eabdecef78eed" dependencies = [ - "bytes", + "bytes 0.5.6", "hyper", "native-tls", "tokio", @@ -1526,7 +1584,7 @@ dependencies = [ name = "influxdb2_client" version = "0.1.0" dependencies = [ - "bytes", + "bytes 0.5.6", "futures", "mockito", "reqwest", @@ -1543,14 +1601,14 @@ dependencies = [ "arrow_deps", "assert_cmd", "byteorder", - "bytes", + "bytes 0.5.6", "clap", "criterion", "csv", "data_types", "dirs 3.0.1", "dotenv", - "env_logger", + "env_logger 0.7.1", "flate2", "futures", "generated_types", @@ -1600,7 +1658,7 @@ name = "influxdb_iox_client" version = "0.1.0" dependencies = [ "data_types", - "rand 0.8.1", + "rand 0.8.2", "reqwest", "serde", "serde_json", @@ -1651,9 +1709,9 @@ dependencies = [ [[package]] name = "integer-encoding" -version = "1.1.5" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4ebd0bd29be0f11973e9b3e219005661042a019fd757798c36a47c87852625" +checksum = "f6104619c35f8835695e517cfb80fb7142139ee4b53f4d0fa4c8dca6e98fbc66" [[package]] name = "iovec" @@ -1763,17 +1821,17 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.81" +version = "0.2.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1482821306169ec4d07f6aca392a4681f66c75c9918aa49641a2595db64053cb" +checksum = "89203f3fba0a3795506acaad8ebce3c80c0af93f994d5a1d7a0b1eeb23271929" [[package]] name = "libloading" -version = "0.5.2" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753" +checksum = "351a32417a12d5f7e82c368a66781e307834dae04c6ce0cd4456d52989229883" dependencies = [ - "cc", + "cfg-if 1.0.0", "winapi 0.3.9", ] @@ -1791,26 +1849,13 @@ checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" [[package]] name = "log" -version = "0.4.11" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b" +checksum = "fcf3805d4480bb5b86070dcfeb9e2cb2ebc148adb753c5cca5f884d1d65a42b2" dependencies = [ "cfg-if 0.1.10", ] -[[package]] -name = "loom" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0e8460f2f2121162705187214720353c517b97bdfb3494c0b1e33d83ebe4bed" -dependencies = [ - "cfg-if 0.1.10", - "generator", - "scoped-tls", - "serde", - "serde_json", -] - [[package]] name = "lz4" version = "1.23.2" @@ -1852,6 +1897,17 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" +[[package]] +name = "md-5" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5a279bb9607f9f53c22d496eade00d138d1bdcccd07d74650387cf94942a15" +dependencies = [ + "block-buffer 0.9.0", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + [[package]] name = "md5" version = "0.7.0" @@ -1867,7 +1923,7 @@ dependencies = [ "criterion", "croaring", "crossbeam 0.7.3", - "env_logger", + "env_logger 0.7.1", "human_format", "packers", "snafu", @@ -2063,13 +2119,13 @@ dependencies = [ [[package]] name = "nix" -version = "0.18.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83450fe6a6142ddd95fb064b746083fc4ef1705fe81f64a64e1d4b39f54a1055" +checksum = "b2ccba0cfe4fdf15982d1674c69b1fd80bad427d293849982668dfe454bd61f2" dependencies = [ "bitflags", "cc", - "cfg-if 0.1.10", + "cfg-if 1.0.0", "libc", ] @@ -2201,7 +2257,7 @@ dependencies = [ "azure_sdk_core", "azure_sdk_storage_blob", "azure_sdk_storage_core", - "bytes", + "bytes 0.5.6", "chrono", "cloud-storage", "dotenv", @@ -2236,6 +2292,12 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + [[package]] name = "openssl" version = "0.10.32" @@ -2306,6 +2368,15 @@ dependencies = [ "num-traits", ] +[[package]] +name = "ordered-float" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dacdec97876ef3ede8c50efc429220641a0b11ba0048b4b0c357bccbc47c5204" +dependencies = [ + "num-traits", +] + [[package]] name = "packed_simd_2" version = "0.3.4" @@ -2340,10 +2411,10 @@ dependencies = [ [[package]] name = "parquet" version = "3.0.0-SNAPSHOT" -source = "git+https://github.com/apache/arrow.git?rev=c46fd102678fd22b9781642437ad8821f907d9db#c46fd102678fd22b9781642437ad8821f907d9db" +source = "git+https://github.com/apache/arrow.git?rev=84126d5d70e9f05f82616e9a8506b53fe1df4a22#84126d5d70e9f05f82616e9a8506b53fe1df4a22" dependencies = [ "arrow", - "base64 0.13.0", + "base64 0.12.3", "brotli", "byteorder", "chrono", @@ -2421,11 +2492,11 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ccc2237c2c489783abd8c4c80e5450fc0e98644555b1364da68cc29aa151ca7" +checksum = "95b70b68509f17aa2857863b6fa00bf21fc93674c7a8893de2f469f6aa7ca2f2" dependencies = [ - "pin-project-internal 1.0.2", + "pin-project-internal 1.0.4", ] [[package]] @@ -2441,9 +2512,9 @@ dependencies = [ [[package]] name = "pin-project-internal" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8e8d2bf0b23038a4424865103a4df472855692821aab4e4f5c3312d461d9e5f" +checksum = "caa25a6393f22ce819b0f50e0be89287292fda8d425be38ee0ca14c4931d9e71" dependencies = [ "proc-macro2", "quote", @@ -2458,9 +2529,9 @@ checksum = "c917123afa01924fc84bb20c4c03f004d9c38e5127e3c039bbf7f4b9c76a2f6b" [[package]] name = "pin-project-lite" -version = "0.2.0" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b063f57ec186e6140e2b8b6921e5f1bd89c7356dda5b33acc5401203ca6131c" +checksum = "439697af366c49a6d0a010c56a0d97685bc140ce0d377b13a2ea2aa42d64a827" [[package]] name = "pin-utils" @@ -2567,9 +2638,9 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "proc-macro-nested" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a" +checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" [[package]] name = "proc-macro2" @@ -2586,7 +2657,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce49aefe0a6144a45de32927c77bd2859a5f7677b55f220ae5b744e87389c212" dependencies = [ - "bytes", + "bytes 0.5.6", "prost-derive", ] @@ -2596,7 +2667,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02b10678c913ecbd69350e8535c3aef91a8676c0773fc1d7b95cdd196d7f2f26" dependencies = [ - "bytes", + "bytes 0.5.6", "heck", "itertools 0.8.2", "log", @@ -2627,7 +2698,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1834f67c0697c001304b75be76f67add9c89742eda3a085ad8ee0bb38c3417aa" dependencies = [ - "bytes", + "bytes 0.5.6", "prost", ] @@ -2642,7 +2713,7 @@ dependencies = [ "data_types", "influxdb_line_protocol", "snafu", - "sqlparser", + "sqlparser 0.6.1", "test_helpers", "tokio", "tracing", @@ -2669,7 +2740,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" dependencies = [ - "getrandom 0.1.15", + "getrandom 0.1.16", "libc", "rand_chacha 0.2.2", "rand_core 0.5.1", @@ -2679,9 +2750,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c24fcd450d3fa2b592732565aa4f17a27a61c65ece4726353e000939b0edee34" +checksum = "18519b42a40024d661e1714153e9ad0c3de27cd495760ceb09710920f1098b1e" dependencies = [ "libc", "rand_chacha 0.3.0", @@ -2715,7 +2786,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" dependencies = [ - "getrandom 0.1.15", + "getrandom 0.1.16", ] [[package]] @@ -2724,7 +2795,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c026d7df8b298d90ccbbc5190bd04d85e159eaf5576caeacf8741da93ccbd2e5" dependencies = [ - "getrandom 0.2.0", + "getrandom 0.2.2", ] [[package]] @@ -2813,22 +2884,41 @@ version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" +[[package]] +name = "redox_syscall" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ec8ca9416c5ea37062b502703cd7fcb207736bc294f6e0cf367ac6fc234570" +dependencies = [ + "bitflags", +] + [[package]] name = "redox_users" version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d" dependencies = [ - "getrandom 0.1.15", - "redox_syscall", + "getrandom 0.1.16", + "redox_syscall 0.1.57", "rust-argon2", ] [[package]] -name = "regex" -version = "1.4.2" +name = "redox_users" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38cf2c13ed4745de91a5eb834e11c00bcc3709e773173b2ce4c56c9fbde04b9c" +checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" +dependencies = [ + "getrandom 0.2.2", + "redox_syscall 0.2.4", +] + +[[package]] +name = "regex" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9251239e129e16308e70d853559389de218ac275b515068abc96829d05b948a" dependencies = [ "aho-corasick", "memchr", @@ -2848,9 +2938,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.21" +version = "0.6.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b181ba2dcf07aaccad5448e8ead58db5b742cf85dfe035e2227f137a539a189" +checksum = "b5eb417147ba9860a96cfe72a0b93bf88fee1744b5636ec99ab20c1aa9376581" [[package]] name = "remove_dir_all" @@ -2869,7 +2959,7 @@ checksum = "0718f81a8e14c4dbb3b34cf23dc6aaf9ab8a0dfec160c534b3dbca1aaa21f47c" dependencies = [ "async-compression", "base64 0.13.0", - "bytes", + "bytes 0.5.6", "encoding_rs", "futures-core", "futures-util", @@ -2885,7 +2975,7 @@ dependencies = [ "mime_guess", "native-tls", "percent-encoding", - "pin-project-lite 0.2.0", + "pin-project-lite 0.2.4", "serde", "serde_json", "serde_urlencoded 0.7.0", @@ -2934,7 +3024,7 @@ checksum = "841ca8f73e7498ba39146ab43acea906bbbb807d92ec0b7ea4b6293d2621f80d" dependencies = [ "async-trait", "base64 0.12.3", - "bytes", + "bytes 0.5.6", "futures", "hmac", "http", @@ -2950,7 +3040,7 @@ dependencies = [ "rustc_version", "serde", "serde_json", - "sha2", + "sha2 0.8.2", "tokio", "xml-rs", ] @@ -2982,7 +3072,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eebe039c71a8ab54ce6614e2967ef034bb3202f306e4025901f620cdfa5680c8" dependencies = [ "async-trait", - "bytes", + "bytes 0.5.6", "futures", "rusoto_core", "xml-rs", @@ -2995,7 +3085,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9eddff187ac18c5a91d9ccda9353f30cf531620dce437c4db661dfe2e23b2029" dependencies = [ "base64 0.12.3", - "bytes", + "bytes 0.5.6", "futures", "hex", "hmac", @@ -3008,8 +3098,8 @@ dependencies = [ "rusoto_credential", "rustc_version", "serde", - "sha2", - "time 0.2.23", + "sha2 0.8.2", + "time 0.2.24", "tokio", ] @@ -3073,12 +3163,14 @@ dependencies = [ [[package]] name = "rustyline" -version = "6.3.0" +version = "7.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0d5e7b0219a3eadd5439498525d4765c59b7c993ef0c12244865cd2d988413" +checksum = "8227301bfc717136f0ecbd3d064ba8199e44497a0bdd46bb01ede4387cfd2cec" dependencies = [ - "cfg-if 0.1.10", + "bitflags", + "cfg-if 1.0.0", "dirs-next", + "fs2", "libc", "log", "memchr", @@ -3115,12 +3207,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "scoped-tls" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" - [[package]] name = "scopeguard" version = "1.1.0" @@ -3200,18 +3286,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.118" +version = "1.0.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c64263859d87aa2eb554587e2d23183398d617427327cf2b3d0ed8c69e4800" +checksum = "166b2349061381baf54a58e4b13c89369feb0ef2eaa57198899e2312aac30aab" dependencies = [ "serde_derive", ] [[package]] name = "serde-xml-rs" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efe415925cf3d0bbb2fc47d09b56ce03eef51c5d56846468a39bcc293c7a846c" +checksum = "f0bf1ba0696ccf0872866277143ff1fd14d22eec235d2b23702f95e6660f7dfa" dependencies = [ "log", "serde", @@ -3231,9 +3317,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.118" +version = "1.0.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c84d3526699cd55261af4b941e4e725444df67aa4f9e6a3564f18030d12672df" +checksum = "0ca2a8cb5805ce9e3b95435e3765b7b553cecc762d938d409434338386cb5775" dependencies = [ "proc-macro2", "quote", @@ -3282,7 +3368,7 @@ version = "0.1.0" dependencies = [ "arrow_deps", "async-trait", - "bytes", + "bytes 0.5.6", "chrono", "crc32fast", "data_types", @@ -3316,20 +3402,32 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" dependencies = [ - "block-buffer", - "digest", + "block-buffer 0.7.3", + "digest 0.8.1", "fake-simd", - "opaque-debug", + "opaque-debug 0.2.3", +] + +[[package]] +name = "sha2" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e7aab86fe2149bad8c507606bdb3f4ef5e7b2380eb92350f56122cca72a42a8" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpuid-bool", + "digest 0.9.0", + "opaque-debug 0.3.0", ] [[package]] name = "sharded-slab" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4921be914e16899a80adefb821f8ddb7974e3f1250223575a44ed994882127" +checksum = "79c719719ee05df97490f80a45acfc99e5a30ce98a1e4fb67aee422745ae14e3" dependencies = [ "lazy_static", - "loom", ] [[package]] @@ -3366,9 +3464,9 @@ checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" [[package]] name = "smallvec" -version = "1.5.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae524f056d7d770e174287294f562e95044c68e88dec909a00d2094805db9d75" +checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" dependencies = [ "serde", ] @@ -3428,6 +3526,15 @@ dependencies = [ "log", ] +[[package]] +name = "sqlparser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a3da41f3ddf62cbf92635ace62dd037fad9a91c6871c514fbd404e2059f27d" +dependencies = [ + "log", +] + [[package]] name = "standback" version = "0.2.14" @@ -3541,9 +3648,9 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" [[package]] name = "syn" -version = "1.0.56" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9802ddde94170d186eeee5005b798d9c159fa970403f1be19976d0cfb939b72" +checksum = "cc60a3d73ea6594cd712d830cc1f0390fd71542d8c8cd24e70cc54cdfd5e05d5" dependencies = [ "proc-macro2", "quote", @@ -3564,14 +3671,14 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" +checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" dependencies = [ - "cfg-if 0.1.10", + "cfg-if 1.0.0", "libc", - "rand 0.7.3", - "redox_syscall", + "rand 0.8.2", + "redox_syscall 0.2.4", "remove_dir_all", "winapi 0.3.9", ] @@ -3601,7 +3708,7 @@ name = "test_helpers" version = "0.1.0" dependencies = [ "dotenv", - "env_logger", + "env_logger 0.7.1", "tempfile", "tracing", ] @@ -3637,9 +3744,9 @@ dependencies = [ [[package]] name = "thread_local" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14" +checksum = "bb9bc092d0d51e76b2b19d9d85534ffc9ec2db959a2523cdae0697e2972cd447" dependencies = [ "lazy_static", ] @@ -3662,26 +3769,25 @@ dependencies = [ "byteorder", "integer-encoding", "log", - "ordered-float", + "ordered-float 1.1.1", "threadpool", ] [[package]] name = "time" -version = "0.1.44" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" dependencies = [ "libc", - "wasi 0.10.0+wasi-snapshot-preview1", "winapi 0.3.9", ] [[package]] name = "time" -version = "0.2.23" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcdaeea317915d59b2b4cd3b5efcd156c309108664277793f5351700c02ce98b" +checksum = "273d3ed44dca264b0d6b3665e8d48fb515042d42466fad93d2a45b90ec4058f7" dependencies = [ "const_fn", "libc", @@ -3717,9 +3823,9 @@ dependencies = [ [[package]] name = "tinytemplate" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d3dc76004a03cec1c5932bca4cdc2e39aaa798e3f82363dd94f9adf6098c12f" +checksum = "a2ada8616fad06a2d0c455adc530de4ef57605a8120cc65da9653e0e9623ca74" dependencies = [ "serde", "serde_json", @@ -3746,7 +3852,7 @@ version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "099837d3464c16a808060bb3f02263b412f6fafcb5d01c533d309985fbeebe48" dependencies = [ - "bytes", + "bytes 0.5.6", "fnv", "futures-core", "iovec", @@ -3803,7 +3909,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" dependencies = [ - "bytes", + "bytes 0.5.6", "futures-core", "futures-sink", "log", @@ -3820,7 +3926,7 @@ dependencies = [ "async-stream", "async-trait", "base64 0.12.3", - "bytes", + "bytes 0.5.6", "futures-core", "futures-util", "http", @@ -3920,9 +4026,9 @@ dependencies = [ [[package]] name = "tower-layer" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a35d656f2638b288b33495d1053ea74c40dc05ec0b92084dd71ca5566c4ed1dc" +checksum = "343bc9466d3fe6b0f960ef45960509f84480bf4fd96f92901afe7ff3df9d3a62" [[package]] name = "tower-limit" @@ -4039,7 +4145,7 @@ checksum = "9f47026cdc4080c07e49b37087de021820269d996f581aac150ef9e5583eefe3" dependencies = [ "cfg-if 1.0.0", "log", - "pin-project-lite 0.2.0", + "pin-project-lite 0.2.4", "tracing-attributes", "tracing-core", ] @@ -4219,11 +4325,11 @@ checksum = "936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372" [[package]] name = "uuid" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fde2f6a4bea1d6e007c4ad38c6839fa71cbb63b6dbf5b595aa38dc9b1093c11" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "rand 0.7.3", + "getrandom 0.2.2", "serde", ] @@ -4302,9 +4408,9 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" +version = "0.10.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" +checksum = "93c6c3420963c5c64bca373b25e77acb562081b9bb4dd5bb864187742186cea9" [[package]] name = "wasm-bindgen" @@ -4479,18 +4585,18 @@ checksum = "81a974bcdd357f0dca4d41677db03436324d45a4c9ed2d0b873a5a360ce41c36" [[package]] name = "zstd" -version = "0.5.4+zstd.1.4.7" +version = "0.6.0+zstd.1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69996ebdb1ba8b1517f61387a883857818a66c8a295f487b1ffd8fd9d2c82910" +checksum = "d4e44664feba7f2f1a9f300c1f6157f2d1bfc3c15c6f3cf4beabf3f5abe9c237" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "2.0.6+zstd.1.4.7" +version = "3.0.0+zstd.1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98aa931fb69ecee256d44589d19754e61851ae4769bf963b385119b1cc37a49e" +checksum = "d9447afcd795693ad59918c7bbffe42fdd6e467d708f3537e3dc14dc598c573f" dependencies = [ "libc", "zstd-sys", @@ -4498,9 +4604,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "1.4.18+zstd.1.4.7" +version = "1.4.19+zstd.1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1e6e8778706838f43f771d80d37787cb2fe06dafe89dd3aebaf6721b9eaec81" +checksum = "ec24a9273d24437afb8e71b16f3d9a5d569193cccdb7896213b59f552f387674" dependencies = [ "cc", "glob", diff --git a/arrow_deps/Cargo.toml b/arrow_deps/Cargo.toml index 5e92bb198d..3bea5c08f0 100644 --- a/arrow_deps/Cargo.toml +++ b/arrow_deps/Cargo.toml @@ -11,10 +11,10 @@ description = "Apache Arrow / Parquet / DataFusion dependencies for InfluxDB IOx [dependencies] # We are using development version of arrow/parquet/datafusion and the dependencies are at the same rev -# The version can be found here: https://github.com/apache/arrow/commit/c46fd102678fd22b9781642437ad8821f907d9db +# The version can be found here: https://github.com/apache/arrow/commit/84126d5d70e9f05f82616e9a8506b53fe1df4a22 # -arrow = { git = "https://github.com/apache/arrow.git", rev = "c46fd102678fd22b9781642437ad8821f907d9db" , features = ["simd"] } -datafusion = { git = "https://github.com/apache/arrow.git", rev = "c46fd102678fd22b9781642437ad8821f907d9db" } +arrow = { git = "https://github.com/apache/arrow.git", rev = "84126d5d70e9f05f82616e9a8506b53fe1df4a22" , features = ["simd"] } +datafusion = { git = "https://github.com/apache/arrow.git", rev = "84126d5d70e9f05f82616e9a8506b53fe1df4a22" } # Turn off the "arrow" feature; it currently has a bug that causes the crate to rebuild every time # and we're not currently using it anyway -parquet = { git = "https://github.com/apache/arrow.git", rev = "c46fd102678fd22b9781642437ad8821f907d9db", default-features = false, features = ["snap", "brotli", "flate2", "lz4", "zstd"] } +parquet = { git = "https://github.com/apache/arrow.git", rev = "84126d5d70e9f05f82616e9a8506b53fe1df4a22", default-features = false, features = ["snap", "brotli", "flate2", "lz4", "zstd"] } diff --git a/mutable_buffer/src/chunk.rs b/mutable_buffer/src/chunk.rs index 6a5abb3149..58c08beb2c 100644 --- a/mutable_buffer/src/chunk.rs +++ b/mutable_buffer/src/chunk.rs @@ -1,12 +1,16 @@ //! Represents a Chunk of data (a collection of tables and their data within //! some chunk) in the mutable store. +use arrow_deps::datafusion::error::Result as ArrowResult; use arrow_deps::{ arrow::record_batch::RecordBatch, datafusion::{ - logical_plan::Expr, logical_plan::Operator, optimizer::utils::expr_to_column_names, + error::DataFusionError, + logical_plan::{Expr, ExpressionVisitor, Operator, Recursion}, + optimizer::utils::expr_to_column_names, prelude::*, }, }; + use chrono::{DateTime, Utc}; use generated_types::wal as wb; use std::collections::{BTreeSet, HashMap, HashSet}; @@ -14,7 +18,7 @@ use std::collections::{BTreeSet, HashMap, HashSet}; use data_types::{partition_metadata::Table as TableStats, TIME_COLUMN_NAME}; use query::{ predicate::{Predicate, TimestampRange}, - util::{visit_expression, AndExprBuilder, ExpressionVisitor}, + util::AndExprBuilder, }; use crate::dictionary::{Dictionary, Error as DictionaryError}; @@ -36,6 +40,9 @@ pub enum Error { source: crate::table::Error, }, + #[snafu(display("Unsupported predicate. Mutable buffer does not support: {}", source))] + UnsupportedPredicate { source: DataFusionError }, + #[snafu(display("Table ID {} not found in dictionary of chunk {}", table, chunk))] TableIdNotFoundInDictionary { table: u32, @@ -251,7 +258,7 @@ impl Chunk { let mut visitor = SupportVisitor {}; let mut predicate_columns: HashSet = HashSet::new(); for expr in &chunk_exprs { - visit_expression(expr, &mut visitor); + visitor = expr.accept(visitor).context(UnsupportedPredicate)?; expr_to_column_names(&expr, &mut predicate_columns).unwrap(); } @@ -439,10 +446,10 @@ impl query::PartitionChunk for Chunk { struct SupportVisitor {} impl ExpressionVisitor for SupportVisitor { - fn pre_visit(&mut self, expr: &Expr) { + fn pre_visit(self, expr: &Expr) -> ArrowResult> { match expr { - Expr::Literal(..) => {} - Expr::Column(..) => {} + Expr::Literal(..) => Ok(Recursion::Continue(self)), + Expr::Column(..) => Ok(Recursion::Continue(self)), Expr::BinaryExpr { op, .. } => { match op { Operator::Eq @@ -455,17 +462,20 @@ impl ExpressionVisitor for SupportVisitor { | Operator::Multiply | Operator::Divide | Operator::And - | Operator::Or => {} + | Operator::Or => Ok(Recursion::Continue(self)), // Unsupported (need to think about ramifications) Operator::NotEq | Operator::Modulus | Operator::Like | Operator::NotLike => { - panic!("Unsupported binary operator in expression: {:?}", expr) + Err(DataFusionError::NotImplemented(format!( + "Operator {:?} not yet supported in IOx MutableBuffer", + op + ))) } } } - _ => panic!( + _ => Err(DataFusionError::NotImplemented(format!( "Unsupported expression in mutable_buffer database: {:?}", expr - ), + ))), } } } diff --git a/mutable_buffer/src/database.rs b/mutable_buffer/src/database.rs index 067fece9c0..e0e89cea21 100644 --- a/mutable_buffer/src/database.rs +++ b/mutable_buffer/src/database.rs @@ -999,7 +999,7 @@ mod tests { datafusion::{physical_plan::collect, prelude::*}, }; use influxdb_line_protocol::{parse_lines, ParsedLine}; - use test_helpers::str_pair_vec_to_vec; + use test_helpers::{assert_contains, str_pair_vec_to_vec}; use tokio::sync::mpsc; type TestError = Box; @@ -1659,9 +1659,6 @@ mod tests { } #[tokio::test] - #[should_panic( - expected = "Unsupported binary operator in expression: #state NotEq Utf8(\"MA\")" - )] async fn test_query_series_pred_neq() { let db = MutableBufferDb::new("column_namedb"); @@ -1679,8 +1676,12 @@ mod tests { .add_expr(col("state").not_eq(lit("MA"))) .build(); - // Should panic as the neq path isn't implemented yet - db.query_series(predicate).await.unwrap(); + // Should err as the neq path isn't implemented yet + let err = db.query_series(predicate).await.unwrap_err(); + assert_contains!( + err.to_string(), + "Operator NotEq not yet supported in IOx MutableBuffer" + ); } #[tokio::test] diff --git a/query/src/util.rs b/query/src/util.rs index 075f4b7408..ace7a2b272 100644 --- a/query/src/util.rs +++ b/query/src/util.rs @@ -1,91 +1,6 @@ //! This module contains DataFusion utility functions and helpers use arrow_deps::datafusion::logical_plan::{binary_expr, Expr, Operator}; -/// Encode the traversal of an expression tree. When passed to -/// `visit_expression`, `ExpressionVisitor::visit` is invoked -/// recursively on all nodes of an expression tree -/// -/// TODO contribute this back upstream to datafusion?? -pub trait ExpressionVisitor { - /// Invoked before children of expr are visisted - fn pre_visit(&mut self, expr: &Expr); - - /// Invoked after children of expr are visited. Default - /// implementation does nothing. - fn post_visit(&mut self, _expr: &Expr) {} -} - -pub fn visit_expression(expr: &Expr, visitor: &mut V) { - visitor.pre_visit(expr); - - // recurse - match expr { - // expression types without inputs - Expr::Alias(..) - | Expr::Column(..) - | Expr::ScalarVariable(..) - | Expr::Literal(..) - | Expr::Wildcard => { - // No inputs, so no more recursion needed - } - Expr::BinaryExpr { left, right, .. } => { - visit_expression(left, visitor); - visit_expression(right, visitor); - } - Expr::Cast { expr, .. } => visit_expression(expr, visitor), - Expr::Case { - expr, - when_then_expr, - else_expr, - } => { - if let Some(expr) = expr.as_ref() { - visit_expression(expr, visitor); - } - when_then_expr.iter().for_each(|(when, then)| { - visit_expression(when, visitor); - visit_expression(then, visitor); - }); - if let Some(else_expr) = else_expr.as_ref() { - visit_expression(else_expr, visitor); - } - } - Expr::Not(expr) => visit_expression(expr, visitor), - Expr::Negative(expr) => visit_expression(expr, visitor), - Expr::Between { - expr, low, high, .. - } => { - visit_expression(expr, visitor); - visit_expression(low, visitor); - visit_expression(high, visitor); - } - Expr::IsNull(expr) => visit_expression(expr, visitor), - Expr::IsNotNull(expr) => visit_expression(expr, visitor), - Expr::ScalarFunction { args, .. } => { - for arg in args { - visit_expression(arg, visitor) - } - } - Expr::ScalarUDF { args, .. } => { - for arg in args { - visit_expression(arg, visitor) - } - } - Expr::AggregateFunction { args, .. } => { - for arg in args { - visit_expression(arg, visitor) - } - } - Expr::AggregateUDF { args, .. } => { - for arg in args { - visit_expression(arg, visitor) - } - } - Expr::Sort { expr, .. } => visit_expression(expr, visitor), - } - - visitor.post_visit(expr); -} - /// Creates a single expression representing the conjunction (aka /// AND'ing) together of a set of expressions #[derive(Debug, Default)] diff --git a/test_helpers/src/lib.rs b/test_helpers/src/lib.rs index e7ef5a42ab..67f36ec51b 100644 --- a/test_helpers/src/lib.rs +++ b/test_helpers/src/lib.rs @@ -87,7 +87,11 @@ pub fn enable_logging() { #[macro_export] /// A macro to assert that one string is contained within another with -/// a nice error message if they are not. Is a macro so test error +/// a nice error message if they are not. +/// +/// Usage: `assert_contains!(actual, expected)` +/// +/// Is a macro so test error /// messages are on the same line as the failure; /// /// Both arguments must be convertable into Strings (Into)