use crate::codegen::common::OrmliteCodegen;
use crate::placeholder::Placeholder;

use proc_macro2::TokenStream;
use quote::quote;

pub struct MysqlBackend {}

impl OrmliteCodegen for MysqlBackend {
    fn dialect_ts(&self) -> TokenStream {
        quote! { ::ormlite::__private::Dialect::Mysql }
    }
    fn database_ts(&self) -> TokenStream {
        quote! { ::ormlite::mysql::Mysql }
    }

    fn placeholder_ts(&self) -> TokenStream {
        quote! {
            ::ormlite::query_builder::Placeholder::question_mark()
        }
    }

    fn placeholder(&self) -> Placeholder {
        Placeholder::question_mark()
    }

    fn row(&self) -> TokenStream {
        quote! { ::ormlite::mysql::MysqlRow }
    }
}
