#![allow(clippy::derive_partial_eq_without_eq)]
#![feature(trait_alias)]
#![feature(type_alias_impl_trait)]
#![feature(map_try_insert)]
#![feature(extract_if)]
#![feature(hash_extract_if)]
#![feature(btree_extract_if)]
#![feature(let_chains)]
#![feature(error_generic_member_access)]
#![feature(assert_matches)]
#![feature(try_blocks)]
#![cfg_attr(coverage, feature(coverage_attribute))]
#![feature(custom_test_frameworks)]
#![test_runner(risingwave_test_runner::test_runner::run_failpont_tests)]
#![feature(impl_trait_in_assoc_type)]
#![feature(const_option)]
#![feature(anonymous_lifetime_in_impl_trait)]
#![feature(duration_millis_float)]
#![feature(iterator_try_reduce)]
pub mod backup_restore;
pub mod barrier;
pub mod controller;
#[cfg(not(madsim))] pub mod dashboard;
pub mod error;
pub mod hummock;
pub mod manager;
pub mod model;
pub mod rpc;
pub mod serving;
pub mod storage;
pub mod stream;
pub mod telemetry;
pub use error::{MetaError, MetaResult};
use risingwave_common::config::MetaStoreConfig;
pub use rpc::{ElectionClient, ElectionMember};
use crate::manager::MetaOpts;
#[derive(Debug)]
pub enum MetaStoreBackend {
Mem,
Sql {
endpoint: String,
config: MetaStoreConfig,
},
}