diff --git a/extension/src/counter_agg.rs b/extension/src/counter_agg.rs index fa74a72c..71fb412f 100644 --- a/extension/src/counter_agg.rs +++ b/extension/src/counter_agg.rs @@ -1135,14 +1135,14 @@ mod tests { let stmt = "SELECT delta(counter_agg(ts, val)) FROM test"; let delta = select_one!(client, stmt, f64); assert!((delta - 100.).abs() < f64::EPSILON); - let stmt = format!("SELECT delta('{}')", expected); + let stmt = format!("SELECT delta('{}' ::CounterSummary)", expected); let delta_test = select_one!(client, &stmt, f64); assert!((delta - delta_test).abs() < f64::EPSILON); let stmt = "SELECT num_resets(counter_agg(ts, val)) FROM test"; let resets = select_one!(client, stmt, i64); assert_eq!(resets, 4); - let stmt = format!("SELECT num_resets('{}')", expected); + let stmt = format!("SELECT num_resets('{}' ::CounterSummary)", expected); let resets_test = select_one!(client, &stmt, i64); assert_eq!(resets, resets_test); }); diff --git a/extension/src/gauge_agg.rs b/extension/src/gauge_agg.rs index 2707049d..599a2dd3 100644 --- a/extension/src/gauge_agg.rs +++ b/extension/src/gauge_agg.rs @@ -38,79 +38,72 @@ pub struct FlatSummary { bounds: I64RangeWrapper, } -#[pg_schema] -mod toolkit_experimental { - use super::*; - - pg_type! { - #[derive(Debug, PartialEq)] - struct GaugeSummary { - #[flat_serialize::flatten] - summary: FlatSummary, - } +pg_type! { + #[derive(Debug, PartialEq)] + struct GaugeSummary { + #[flat_serialize::flatten] + summary: FlatSummary, } +} - impl<'input> GaugeSummary<'input> { - pub(super) fn interpolate( - &self, - interval_start: i64, - interval_len: i64, - prev: Option, - next: Option, - ) -> GaugeSummary<'static> { - let this = MetricSummary::from(self.clone()); - let prev = prev.map(MetricSummary::from); - let next = next.map(MetricSummary::from); - - let prev = if this.first.ts > interval_start { - prev.map(|summary| { - time_weighted_average::TimeWeightMethod::Linear - .interpolate(summary.last, Some(this.first), interval_start) - .expect("unable to interpolate lower bound") - }) - } else { - None - }; - - let next = next.map(|summary| { +impl<'input> GaugeSummary<'input> { + pub(super) fn interpolate( + &self, + interval_start: i64, + interval_len: i64, + prev: Option, + next: Option, + ) -> GaugeSummary<'static> { + let this = MetricSummary::from(self.clone()); + let prev = prev.map(MetricSummary::from); + let next = next.map(MetricSummary::from); + + let prev = if this.first.ts > interval_start { + prev.map(|summary| { time_weighted_average::TimeWeightMethod::Linear - .interpolate( - this.last, - Some(summary.first), - interval_start + interval_len, - ) - .expect("unable to interpolate upper bound") - }); - - let builder = prev.map(|pt| GaugeSummaryBuilder::new(&pt, None)); - let mut builder = builder.map_or_else( - || { - let mut summary = this.clone(); - summary.bounds = None; - summary.into() - }, - |mut builder| { - builder - .combine(&this) - .expect("unable to add data to interpolation"); - builder - }, - ); + .interpolate(summary.last, Some(this.first), interval_start) + .expect("unable to interpolate lower bound") + }) + } else { + None + }; - if let Some(next) = next { + let next = next.map(|summary| { + time_weighted_average::TimeWeightMethod::Linear + .interpolate( + this.last, + Some(summary.first), + interval_start + interval_len, + ) + .expect("unable to interpolate upper bound") + }); + + let builder = prev.map(|pt| GaugeSummaryBuilder::new(&pt, None)); + let mut builder = builder.map_or_else( + || { + let mut summary = this.clone(); + summary.bounds = None; + summary.into() + }, + |mut builder| { builder - .add_point(&next) - .expect("unable to add final interpolated point"); - } + .combine(&this) + .expect("unable to add data to interpolation"); + builder + }, + ); - builder.build().into() + if let Some(next) = next { + builder + .add_point(&next) + .expect("unable to add final interpolated point"); } - } - ron_inout_funcs!(GaugeSummary); + builder.build().into() + } } -use toolkit_experimental::*; +ron_inout_funcs!(GaugeSummary); // TODO reunify with crate::counter_agg::CounterSummaryTransSate // TODO move to crate::metrics::TransState (taking FnOnce()->MetricSummaryBuilder to support both) @@ -186,14 +179,14 @@ impl GaugeSummaryTransState { } } -#[pg_extern(immutable, parallel_safe, strict, schema = "toolkit_experimental")] +#[pg_extern(immutable, parallel_safe, strict)] fn gauge_summary_trans_serialize(state: Internal) -> bytea { let state: &mut GaugeSummaryTransState = unsafe { state.get_mut().unwrap() }; state.combine_summaries(); crate::do_serialize!(state) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn gauge_summary_trans_deserialize(bytes: bytea, _internal: Internal) -> Option { gauge_summary_trans_deserialize_inner(bytes).internal() } @@ -202,7 +195,7 @@ fn gauge_summary_trans_deserialize_inner(bytes: bytea) -> Inner, @@ -244,7 +237,7 @@ fn gauge_agg_trans_inner( } } -#[pg_extern(immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(immutable, parallel_safe)] fn gauge_agg_trans_no_bounds( state: Internal, ts: Option, @@ -254,7 +247,7 @@ fn gauge_agg_trans_no_bounds( gauge_agg_trans_inner(unsafe { state.to_inner() }, ts, val, None, fcinfo).internal() } -#[pg_extern(immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(immutable, parallel_safe)] fn gauge_agg_summary_trans<'a>( state: Internal, value: Option>, @@ -283,7 +276,7 @@ fn gauge_agg_summary_trans_inner( } } -#[pg_extern(immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(immutable, parallel_safe)] fn gauge_agg_combine( state1: Internal, state2: Internal, @@ -323,7 +316,7 @@ fn gauge_agg_combine_inner( } } -#[pg_extern(immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(immutable, parallel_safe)] fn gauge_agg_final( state: Internal, fcinfo: pg_sys::FunctionCallInfo, @@ -358,14 +351,14 @@ fn gauge_agg_final_inner( extension_sql!( "\n\ - CREATE AGGREGATE toolkit_experimental.gauge_agg( ts timestamptz, value DOUBLE PRECISION, bounds tstzrange )\n\ + CREATE AGGREGATE gauge_agg( ts timestamptz, value DOUBLE PRECISION, bounds tstzrange )\n\ (\n\ - sfunc = toolkit_experimental.gauge_agg_trans,\n\ + sfunc = gauge_agg_trans,\n\ stype = internal,\n\ - finalfunc = toolkit_experimental.gauge_agg_final,\n\ - combinefunc = toolkit_experimental.gauge_agg_combine,\n\ - serialfunc = toolkit_experimental.gauge_summary_trans_serialize,\n\ - deserialfunc = toolkit_experimental.gauge_summary_trans_deserialize,\n\ + finalfunc = gauge_agg_final,\n\ + combinefunc = gauge_agg_combine,\n\ + serialfunc = gauge_summary_trans_serialize,\n\ + deserialfunc = gauge_summary_trans_deserialize,\n\ parallel = restricted\n\ );\n", name = "gauge_agg", @@ -381,14 +374,14 @@ extension_sql!( // allow calling gauge agg without bounds provided. extension_sql!( "\n\ - CREATE AGGREGATE toolkit_experimental.gauge_agg( ts timestamptz, value DOUBLE PRECISION )\n\ + CREATE AGGREGATE gauge_agg( ts timestamptz, value DOUBLE PRECISION )\n\ (\n\ - sfunc = toolkit_experimental.gauge_agg_trans_no_bounds,\n\ + sfunc = gauge_agg_trans_no_bounds,\n\ stype = internal,\n\ - finalfunc = toolkit_experimental.gauge_agg_final,\n\ - combinefunc = toolkit_experimental.gauge_agg_combine,\n\ - serialfunc = toolkit_experimental.gauge_summary_trans_serialize,\n\ - deserialfunc = toolkit_experimental.gauge_summary_trans_deserialize,\n\ + finalfunc = gauge_agg_final,\n\ + combinefunc = gauge_agg_combine,\n\ + serialfunc = gauge_summary_trans_serialize,\n\ + deserialfunc = gauge_summary_trans_deserialize,\n\ parallel = restricted\n\ );\n\ ", @@ -404,14 +397,14 @@ extension_sql!( extension_sql!( "\n\ - CREATE AGGREGATE toolkit_experimental.rollup(gs toolkit_experimental.GaugeSummary)\n\ + CREATE AGGREGATE rollup(gs GaugeSummary)\n\ (\n\ - sfunc = toolkit_experimental.gauge_agg_summary_trans,\n\ + sfunc = gauge_agg_summary_trans,\n\ stype = internal,\n\ - finalfunc = toolkit_experimental.gauge_agg_final,\n\ - combinefunc = toolkit_experimental.gauge_agg_combine,\n\ - serialfunc = toolkit_experimental.gauge_summary_trans_serialize,\n\ - deserialfunc = toolkit_experimental.gauge_summary_trans_deserialize,\n\ + finalfunc = gauge_agg_final,\n\ + combinefunc = gauge_agg_combine,\n\ + serialfunc = gauge_summary_trans_serialize,\n\ + deserialfunc = gauge_summary_trans_deserialize,\n\ parallel = restricted\n\ );\n\ ", @@ -433,7 +426,7 @@ fn arrow_delta<'a>(sketch: GaugeSummary<'a>, _accessor: AccessorDelta<'a>) -> f6 delta(sketch) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn delta<'a>(summary: GaugeSummary<'a>) -> f64 { MetricSummary::from(summary).delta() } @@ -444,7 +437,7 @@ fn arrow_gauge_agg_rate<'a>(sketch: GaugeSummary<'a>, _accessor: AccessorRate<'a rate(sketch) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn rate<'a>(summary: GaugeSummary<'a>) -> Option { MetricSummary::from(summary).rate() } @@ -455,7 +448,7 @@ fn arrow_time_delta<'a>(sketch: GaugeSummary<'a>, _accessor: AccessorTimeDelta<' time_delta(sketch) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn time_delta<'a>(summary: GaugeSummary<'a>) -> f64 { MetricSummary::from(summary).time_delta() } @@ -466,7 +459,7 @@ fn arrow_irate_left<'a>(sketch: GaugeSummary<'a>, _accessor: AccessorIrateLeft<' irate_left(sketch) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn irate_left<'a>(summary: GaugeSummary<'a>) -> Option { MetricSummary::from(summary).irate_left() } @@ -480,7 +473,7 @@ fn arrow_irate_right<'a>( irate_right(sketch) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn irate_right<'a>(summary: GaugeSummary<'a>) -> Option { MetricSummary::from(summary).irate_right() } @@ -491,7 +484,7 @@ fn arrow_idelta_left<'a>(sketch: GaugeSummary<'a>, _accessor: AccessorIdeltaLeft idelta_left(sketch) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn idelta_left<'a>(summary: GaugeSummary<'a>) -> f64 { MetricSummary::from(summary).idelta_left() } @@ -502,7 +495,7 @@ fn arrow_idelta_right<'a>(sketch: GaugeSummary<'a>, _accessor: AccessorIdeltaRig idelta_right(sketch) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn idelta_right<'a>(summary: GaugeSummary<'a>) -> f64 { MetricSummary::from(summary).idelta_right() } @@ -518,7 +511,7 @@ fn arrow_with_bounds<'a>( builder.build().into() } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn with_bounds<'a>(summary: GaugeSummary<'a>, bounds: tstzrange) -> GaugeSummary { // TODO dedup with previous by using apply_bounds unsafe { @@ -538,12 +531,12 @@ fn arrow_extrapolated_delta<'a>( extrapolated_delta(sketch) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn extrapolated_delta<'a>(summary: GaugeSummary<'a>) -> Option { MetricSummary::from(summary).prometheus_delta().unwrap() } -#[pg_extern(immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(immutable, parallel_safe)] fn interpolated_delta<'a>( summary: GaugeSummary<'a>, start: crate::raw::TimestampTz, @@ -564,12 +557,12 @@ fn arrow_extrapolated_rate<'a>( extrapolated_rate(sketch) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn extrapolated_rate<'a>(summary: GaugeSummary<'a>) -> Option { MetricSummary::from(summary).prometheus_rate().unwrap() } -#[pg_extern(immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(immutable, parallel_safe)] fn interpolated_rate<'a>( summary: GaugeSummary<'a>, start: crate::raw::TimestampTz, @@ -587,7 +580,7 @@ fn arrow_num_elements<'a>(sketch: GaugeSummary<'a>, _accessor: AccessorNumElemen num_elements(sketch) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn num_elements<'a>(summary: GaugeSummary<'a>) -> i64 { MetricSummary::from(summary).stats.n as i64 } @@ -598,7 +591,7 @@ fn arrow_num_changes<'a>(sketch: GaugeSummary<'a>, _accessor: AccessorNumChanges num_changes(sketch) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn num_changes<'a>(summary: GaugeSummary<'a>) -> i64 { MetricSummary::from(summary).num_changes as i64 } @@ -609,7 +602,7 @@ fn arrow_slope<'a>(sketch: GaugeSummary<'a>, _accessor: AccessorSlope<'a>) -> Op slope(sketch) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn slope<'a>(summary: GaugeSummary<'a>) -> Option { MetricSummary::from(summary).stats.slope() } @@ -620,7 +613,7 @@ fn arrow_intercept<'a>(sketch: GaugeSummary<'a>, _accessor: AccessorIntercept<'a intercept(sketch) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn intercept<'a>(summary: GaugeSummary<'a>) -> Option { MetricSummary::from(summary).stats.intercept() } @@ -631,7 +624,7 @@ fn arrow_corr<'a>(sketch: GaugeSummary<'a>, _accessor: AccessorCorr<'a>) -> Opti corr(sketch) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn corr<'a>(summary: GaugeSummary<'a>) -> Option { MetricSummary::from(summary).stats.corr() } @@ -645,7 +638,7 @@ fn arrow_zero_time<'a>( gauge_zero_time(sketch) } -#[pg_extern(strict, immutable, parallel_safe, schema = "toolkit_experimental")] +#[pg_extern(strict, immutable, parallel_safe)] fn gauge_zero_time<'a>(summary: GaugeSummary<'a>) -> Option { Some(((MetricSummary::from(summary).stats.x_intercept()? * 1_000_000.0) as i64).into()) } @@ -767,7 +760,7 @@ mod tests { expected, select_one!( client, - "SELECT toolkit_experimental.gauge_agg(ts, val)::TEXT FROM test", + "SELECT gauge_agg(ts, val)::TEXT FROM test", String ) ); @@ -777,7 +770,7 @@ mod tests { select_one!( client, &format!( - "SELECT '{}'::toolkit_experimental.GaugeSummary::TEXT", + "SELECT '{}'::GaugeSummary::TEXT", expected ), String @@ -790,7 +783,7 @@ mod tests { fn delta_after_gauge_decrease() { Spi::connect(|mut client| { decrease(&mut client); - let stmt = "SELECT toolkit_experimental.delta(toolkit_experimental.gauge_agg(ts, val)) FROM test"; + let stmt = "SELECT delta(gauge_agg(ts, val)) FROM test"; assert_eq!(-20.0, select_one!(client, stmt, f64)); }); } @@ -799,7 +792,7 @@ mod tests { fn delta_after_gauge_increase() { Spi::connect(|mut client| { increase(&mut client); - let stmt = "SELECT toolkit_experimental.delta(toolkit_experimental.gauge_agg(ts, val)) FROM test"; + let stmt = "SELECT delta(gauge_agg(ts, val)) FROM test"; assert_eq!(20.0, select_one!(client, stmt, f64)); }); } @@ -808,7 +801,7 @@ mod tests { fn delta_after_gauge_decrease_then_increase_to_same_value() { Spi::connect(|mut client| { decrease_then_increase_to_same_value(&mut client); - let stmt = "SELECT toolkit_experimental.delta(toolkit_experimental.gauge_agg(ts, val)) FROM test"; + let stmt = "SELECT delta(gauge_agg(ts, val)) FROM test"; assert_eq!(0.0, select_one!(client, stmt, f64)); }); } @@ -817,7 +810,7 @@ mod tests { fn delta_after_gauge_increase_then_decrease_to_same_value() { Spi::connect(|mut client| { increase_then_decrease_to_same_value(&mut client); - let stmt = "SELECT toolkit_experimental.delta(toolkit_experimental.gauge_agg(ts, val)) FROM test"; + let stmt = "SELECT delta(gauge_agg(ts, val)) FROM test"; assert_eq!(0.0, select_one!(client, stmt, f64)); }); } @@ -826,7 +819,7 @@ mod tests { fn idelta_left_after_gauge_decrease() { Spi::connect(|mut client| { decrease(&mut client); - let stmt = "SELECT toolkit_experimental.idelta_left(toolkit_experimental.gauge_agg(ts, val)) FROM test"; + let stmt = "SELECT idelta_left(gauge_agg(ts, val)) FROM test"; assert_eq!(10.0, select_one!(client, stmt, f64)); }); } @@ -835,7 +828,7 @@ mod tests { fn idelta_left_after_gauge_increase() { Spi::connect(|mut client| { increase(&mut client); - let stmt = "SELECT toolkit_experimental.idelta_left(toolkit_experimental.gauge_agg(ts, val)) FROM test"; + let stmt = "SELECT idelta_left(gauge_agg(ts, val)) FROM test"; assert_eq!(20.0, select_one!(client, stmt, f64)); }); } @@ -844,7 +837,7 @@ mod tests { fn idelta_left_after_gauge_increase_then_decrease_to_same_value() { Spi::connect(|mut client| { increase_then_decrease_to_same_value(&mut client); - let stmt = "SELECT toolkit_experimental.idelta_left(toolkit_experimental.gauge_agg(ts, val)) FROM test"; + let stmt = "SELECT idelta_left(gauge_agg(ts, val)) FROM test"; assert_eq!(20.0, select_one!(client, stmt, f64)); }); } @@ -853,7 +846,7 @@ mod tests { fn idelta_left_after_gauge_decrease_then_increase_to_same_value() { Spi::connect(|mut client| { decrease_then_increase_to_same_value(&mut client); - let stmt = "SELECT toolkit_experimental.idelta_left(toolkit_experimental.gauge_agg(ts, val)) FROM test"; + let stmt = "SELECT idelta_left(gauge_agg(ts, val)) FROM test"; assert_eq!(10.0, select_one!(client, stmt, f64)); }); } @@ -862,7 +855,7 @@ mod tests { fn idelta_right_after_gauge_decrease() { Spi::connect(|mut client| { decrease(&mut client); - let stmt = "SELECT toolkit_experimental.idelta_right(toolkit_experimental.gauge_agg(ts, val)) FROM test"; + let stmt = "SELECT idelta_right(gauge_agg(ts, val)) FROM test"; assert_eq!(10.0, select_one!(client, stmt, f64)); }); } @@ -871,7 +864,7 @@ mod tests { fn idelta_right_after_gauge_increase() { Spi::connect(|mut client| { increase(&mut client); - let stmt = "SELECT toolkit_experimental.idelta_right(toolkit_experimental.gauge_agg(ts, val)) FROM test"; + let stmt = "SELECT idelta_right(gauge_agg(ts, val)) FROM test"; assert_eq!(20.0, select_one!(client, stmt, f64)); }); } @@ -880,7 +873,7 @@ mod tests { fn idelta_right_after_gauge_increase_then_decrease_to_same_value() { Spi::connect(|mut client| { increase_then_decrease_to_same_value(&mut client); - let stmt = "SELECT toolkit_experimental.idelta_right(toolkit_experimental.gauge_agg(ts, val)) FROM test"; + let stmt = "SELECT idelta_right(gauge_agg(ts, val)) FROM test"; assert_eq!(10.0, select_one!(client, stmt, f64)); }); } @@ -889,7 +882,7 @@ mod tests { fn idelta_right_after_gauge_decrease_then_increase_to_same_value() { Spi::connect(|mut client| { decrease_then_increase_to_same_value(&mut client); - let stmt = "SELECT toolkit_experimental.idelta_right(toolkit_experimental.gauge_agg(ts, val)) FROM test"; + let stmt = "SELECT idelta_right(gauge_agg(ts, val)) FROM test"; assert_eq!(20.0, select_one!(client, stmt, f64)); }); } @@ -987,14 +980,14 @@ mod tests { let mut deltas = client .update( r#"SELECT - toolkit_experimental.interpolated_delta( + interpolated_delta( agg, bucket, '1 day'::interval, LAG(agg) OVER (ORDER BY bucket), LEAD(agg) OVER (ORDER BY bucket) ) FROM ( - SELECT bucket, toolkit_experimental.gauge_agg(time, value) as agg + SELECT bucket, gauge_agg(time, value) as agg FROM test GROUP BY bucket ) s @@ -1014,14 +1007,14 @@ mod tests { let mut rates = client .update( r#"SELECT - toolkit_experimental.interpolated_rate( + interpolated_rate( agg, bucket, '1 day'::interval, LAG(agg) OVER (ORDER BY bucket), LEAD(agg) OVER (ORDER BY bucket) ) FROM ( - SELECT bucket, toolkit_experimental.gauge_agg(time, value) as agg + SELECT bucket, gauge_agg(time, value) as agg FROM test GROUP BY bucket ) s @@ -1074,14 +1067,14 @@ mod tests { let mut deltas = client .update( r#"SELECT - toolkit_experimental.interpolated_delta( + interpolated_delta( agg, bucket, '1 day'::interval, LAG(agg) OVER (ORDER BY bucket), LEAD(agg) OVER (ORDER BY bucket) ) FROM ( - SELECT bucket, toolkit_experimental.gauge_agg(time, value) as agg + SELECT bucket, gauge_agg(time, value) as agg FROM test GROUP BY bucket ) s @@ -1128,7 +1121,7 @@ mod tests { let stmt = "INSERT INTO test VALUES (NULL, NULL)"; client.update(stmt, None, None).unwrap(); - let stmt = "SELECT toolkit_experimental.gauge_agg(ts, val) FROM test"; + let stmt = "SELECT gauge_agg(ts, val) FROM test"; assert!(client .update(stmt, None, None) .unwrap()