Skip to main content

ServiceManager

Struct ServiceManager 

Source
pub struct ServiceManager { /* private fields */ }
Expand description

Um anexo autenticado ao gerenciador de serviços de um servidor Firebird.

Implementations§

Source§

impl ServiceManager

Source

pub fn attach(config: &ConnectConfig) -> Result<ServiceManager>

Anexa ao gerenciador de serviços usando host/porta/credenciais de config (o campo database é ignorado; o alvo é sempre service_mgr).

Source

pub fn is_encrypted(&self) -> bool

Se a comunicação (wire) com o serviço está criptografada.

Source

pub fn close(self) -> Result<()>

Desanexa do gerenciador de serviços (op_service_detach) e fecha o socket.

Source

pub fn info( &mut self, send: &[u8], recv: &[u8], buf_len: i32, ) -> Result<Vec<u8>>

Envia op_service_info com os itens de requisição (recv) e devolve o p_resp_data bruto (um buffer de info terminado por isc_info_end).

send são itens de configuração para esta chamada (ex.: isc_info_svc_timeout); normalmente vazio.

Source

pub fn start(&mut self, spb: &[u8]) -> Result<()>

Dispara uma ação (op_service_start). O spb deve começar pelo código da ação (svc_action::*). Use ServiceManager::run para também coletar a saída textual da ação.

Source

pub fn run(&mut self, spb: &[u8]) -> Result<String>

Dispara uma ação e coleta toda a sua saída textual, drenando o serviço com chamadas sucessivas de op_service_info/isc_info_svc_to_eof até o fim.

Source

pub fn collect_output(&mut self) -> Result<String>

Lê a saída acumulada do serviço (após um start) até o EOF.

Source

pub fn server_version(&mut self) -> Result<String>

A versão do servidor Firebird (isc_info_svc_server_version).

Source

pub fn implementation(&mut self) -> Result<String>

A implementação do servidor (isc_info_svc_implementation).

Source

pub fn security_database(&mut self) -> Result<String>

O caminho do banco de segurança em uso (isc_info_svc_user_dbpath).

Source

pub fn home_directory(&mut self) -> Result<String>

O valor de $FIREBIRD no servidor (isc_info_svc_get_env).

Source

pub fn manager_version(&mut self) -> Result<i32>

A versão do protocolo do Service Manager (isc_info_svc_version; um inteiro, p.ex. 2 no Firebird 5).

Source

pub fn is_running(&mut self) -> Result<bool>

Indica se uma ação ainda está em execução nesta conexão de serviço (isc_info_svc_running). Útil para sondar o andamento entre leituras de saída de uma ação longa (backup, restore, etc.).

Source

pub fn get_fb_log(&mut self) -> Result<String>

Lê o log do servidor (firebird.log) via isc_action_svc_get_fb_log. (A ação não tem argumentos: o SPB é apenas o código da ação.)

Source

pub fn backup( &mut self, database: &str, backup_file: &str, options: u32, ) -> Result<String>

Faz backup de database (alias ou caminho no servidor) para backup_file (caminho no servidor) via gbak. options é um bitmask de svc_bkp::* (use 0 para o padrão). Devolve a saída textual do gbak (modo verbose).

Source

pub fn restore( &mut self, backup_file: &str, database: &str, options: u32, ) -> Result<String>

Restaura backup_file (caminho no servidor) para database via gbak. options é um bitmask de svc_res::*; se nem REPLACE nem CREATE estiverem presentes, assume CREATE (o padrão do gbak). Devolve a saída textual do gbak (modo verbose).

Source

pub fn statistics(&mut self, database: &str, options: u32) -> Result<String>

Coleta estatísticas de database via gstat (isc_action_svc_db_stats). options é um bitmask de svc_sts::* (use 0 para o cabeçalho do banco).

Source

pub fn nbackup( &mut self, database: &str, backup_file: &str, level: u32, options: u32, ) -> Result<String>

Backup incremental (nbackup) de database para backup_file (caminho no servidor) no level dado (0 = base de uma cadeia incremental). options é um bitmask de svc_nbk::* (use 0 para o padrão). Devolve a saída textual.

Source

pub fn nrestore( &mut self, database: &str, backup_files: &[&str], options: u32, ) -> Result<String>

Restauração incremental (nrestore): reconstrói database (caminho no servidor) aplicando backup_files em ordem (nível 0 primeiro).

Source

pub fn validate( &mut self, database: &str, tables: Option<&str>, indices: Option<&str>, ) -> Result<String>

Validação ONLINE de database (isc_action_svc_validate). tables e indices são expressões regulares opcionais (None = tudo). Devolve o relatório textual.

Source

pub fn repair(&mut self, database: &str, options: u32) -> Result<String>

Manutenção/reparo de database via gfix (isc_action_svc_repair). options é um bitmask de svc_rpr::* (ex.: MEND_DB | FULL, ou VALIDATE_DB para checagem). Devolve a saída textual.

Source

pub fn sweep(&mut self, database: &str) -> Result<String>

Atalho de repair que dispara um sweep manual.

Source

pub fn set_sweep_interval( &mut self, database: &str, interval: u32, ) -> Result<()>

Define o intervalo de sweep automático em transações (gfix -h).

Source

pub fn set_page_buffers(&mut self, database: &str, buffers: u32) -> Result<()>

Define o tamanho do cache do banco em páginas (gfix -buffers).

Source

pub fn set_forced_writes(&mut self, database: &str, sync: bool) -> Result<()>

Liga/desliga a escrita síncrona (forced writes) do banco (gfix -write).

Source

pub fn set_read_only(&mut self, database: &str, read_only: bool) -> Result<()>

Define o modo de acesso do banco: somente leitura ou leitura/escrita (gfix -mode).

Source

pub fn shutdown(&mut self, database: &str, mode: u8, timeout: u32) -> Result<()>

Coloca o banco OFFLINE (shutdown) no mode dado (svc_prp::SM_*), aguardando até timeout segundos pelo término das conexões ativas.

Source

pub fn bring_online(&mut self, database: &str, mode: u8) -> Result<()>

Traz o banco de volta ONLINE no mode dado (svc_prp::SM_*).

Source

pub fn trace_start(&mut self, name: &str, config: &str) -> Result<String>

Inicia uma sessão de trace com o texto de configuração config (formato fbtrace.conf); name rotula a sessão. Devolve a saída inicial (que inclui a linha “Trace session ID N started”). A sessão continua no servidor após o retorno — pare-a com trace_stop. Para drenar o fluxo contínuo de eventos use uma conexão de serviço DEDICADA, pois esta chamada lê apenas a saída já disponível.

Source

pub fn trace_stop(&mut self, session_id: u32) -> Result<String>

Para a sessão de trace de id session_id.

Source

pub fn trace_suspend(&mut self, session_id: u32) -> Result<String>

Suspende a sessão de trace de id session_id.

Source

pub fn trace_resume(&mut self, session_id: u32) -> Result<String>

Retoma a sessão de trace de id session_id.

Source

pub fn trace_list(&mut self) -> Result<String>

Lista as sessões de trace ativas no servidor.

Source

pub fn add_user(&mut self, user: &UserParams) -> Result<()>

Cria um usuário no banco de segurança (isc_action_svc_add_user).

Source

pub fn modify_user(&mut self, user: &UserParams) -> Result<()>

Altera um usuário existente (isc_action_svc_modify_user). Só os campos presentes em user são modificados.

Source

pub fn delete_user(&mut self, username: &str) -> Result<()>

Remove um usuário (isc_action_svc_delete_user).

Source

pub fn display_users(&mut self) -> Result<Vec<UserInfo>>

Lista todos os usuários do banco de segurança (isc_action_svc_display_user + isc_info_svc_get_users).

Source

pub fn display_user(&mut self, username: &str) -> Result<Option<UserInfo>>

Consulta um único usuário pelo nome; devolve None se não existir.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V