pub struct NomParser {}Expand description
Nom-based parser implementation
Implementations§
Source§impl NomParser
impl NomParser
Sourcepub fn new(config: ParserConfig) -> Result<Self>
pub fn new(config: ParserConfig) -> Result<Self>
Create a new nom parser with the given configuration
Sourcepub fn parse_create_table_to_schema(&self, input: &str) -> Result<TableSchema>
pub fn parse_create_table_to_schema(&self, input: &str) -> Result<TableSchema>
Parse CQL CREATE TABLE statement and return TableSchema for backward compatibility
Sourcepub fn backend_info() -> ParserBackendInfo
pub fn backend_info() -> ParserBackendInfo
Get backend information
Source§impl NomParser
impl NomParser
Sourcepub fn convert_ast_to_table_schema(&self, ast: &CqlCreateTable) -> TableSchema
pub fn convert_ast_to_table_schema(&self, ast: &CqlCreateTable) -> TableSchema
Convert AST CreateTable back to TableSchema for backward compatibility
Trait Implementations§
Source§impl CqlParser for NomParser
impl CqlParser for NomParser
Source§fn parse<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<CqlStatement>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn parse<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<CqlStatement>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Parse a complete CQL statement from input text.
Source§fn parse_type<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<CqlDataType>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn parse_type<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<CqlDataType>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Parse a CQL data type specification (e.g.,
list<text>, map<uuid, bigint>).Source§fn parse_expression<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<CqlExpression>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn parse_expression<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<CqlExpression>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Parse a CQL expression (e.g.,
id = ? AND name LIKE 'test%').Source§fn parse_identifier<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<CqlIdentifier>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn parse_identifier<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<CqlIdentifier>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Parse a CQL identifier (table name, column name, etc.).
Source§fn parse_literal<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<CqlLiteral>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn parse_literal<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<CqlLiteral>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Parse a literal value (e.g.,
'hello', 42, true).Source§fn parse_column_definitions<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<CqlColumnDef>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn parse_column_definitions<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<CqlColumnDef>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Parse a list of column definitions (for CREATE TABLE).
Source§fn parse_table_options<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<CqlTableOptions>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn parse_table_options<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<CqlTableOptions>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Parse CREATE TABLE options (e.g.,
WITH comment = 'test').Source§fn validate_syntax(&self, input: &str) -> bool
fn validate_syntax(&self, input: &str) -> bool
Lightweight check that input appears to be valid CQL syntax.
Source§fn backend_info(&self) -> ParserBackendInfo
fn backend_info(&self) -> ParserBackendInfo
Get parser backend information.
Auto Trait Implementations§
impl Freeze for NomParser
impl RefUnwindSafe for NomParser
impl Send for NomParser
impl Sync for NomParser
impl Unpin for NomParser
impl UnsafeUnpin for NomParser
impl UnwindSafe for NomParser
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more