pub struct ServiceManager { /* private fields */ }Expand description
Um anexo autenticado ao gerenciador de serviços de um servidor Firebird.
Implementations§
Source§impl ServiceManager
impl ServiceManager
Sourcepub fn attach(config: &ConnectConfig) -> Result<ServiceManager>
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).
Sourcepub fn is_encrypted(&self) -> bool
pub fn is_encrypted(&self) -> bool
Se a comunicação (wire) com o serviço está criptografada.
Sourcepub fn close(self) -> Result<()>
pub fn close(self) -> Result<()>
Desanexa do gerenciador de serviços (op_service_detach) e fecha o socket.
Sourcepub fn info(
&mut self,
send: &[u8],
recv: &[u8],
buf_len: i32,
) -> Result<Vec<u8>>
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.
Sourcepub fn start(&mut self, spb: &[u8]) -> Result<()>
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.
Sourcepub fn run(&mut self, spb: &[u8]) -> Result<String>
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.
Sourcepub fn collect_output(&mut self) -> Result<String>
pub fn collect_output(&mut self) -> Result<String>
Lê a saída acumulada do serviço (após um start) até o EOF.
Sourcepub fn server_version(&mut self) -> Result<String>
pub fn server_version(&mut self) -> Result<String>
A versão do servidor Firebird (isc_info_svc_server_version).
Sourcepub fn implementation(&mut self) -> Result<String>
pub fn implementation(&mut self) -> Result<String>
A implementação do servidor (isc_info_svc_implementation).
Sourcepub fn security_database(&mut self) -> Result<String>
pub fn security_database(&mut self) -> Result<String>
O caminho do banco de segurança em uso (isc_info_svc_user_dbpath).
Sourcepub fn home_directory(&mut self) -> Result<String>
pub fn home_directory(&mut self) -> Result<String>
O valor de $FIREBIRD no servidor (isc_info_svc_get_env).
Sourcepub fn manager_version(&mut self) -> Result<i32>
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).
Sourcepub fn is_running(&mut self) -> Result<bool>
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.).
Sourcepub fn get_fb_log(&mut self) -> Result<String>
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.)
Sourcepub fn backup(
&mut self,
database: &str,
backup_file: &str,
options: u32,
) -> Result<String>
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).
Sourcepub fn restore(
&mut self,
backup_file: &str,
database: &str,
options: u32,
) -> Result<String>
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).
Sourcepub fn statistics(&mut self, database: &str, options: u32) -> Result<String>
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).
Sourcepub fn nbackup(
&mut self,
database: &str,
backup_file: &str,
level: u32,
options: u32,
) -> Result<String>
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.
Sourcepub fn nrestore(
&mut self,
database: &str,
backup_files: &[&str],
options: u32,
) -> Result<String>
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).
Sourcepub fn validate(
&mut self,
database: &str,
tables: Option<&str>,
indices: Option<&str>,
) -> Result<String>
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.
Sourcepub fn repair(&mut self, database: &str, options: u32) -> Result<String>
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.
Sourcepub fn sweep(&mut self, database: &str) -> Result<String>
pub fn sweep(&mut self, database: &str) -> Result<String>
Atalho de repair que dispara um sweep manual.
Sourcepub fn set_sweep_interval(
&mut self,
database: &str,
interval: u32,
) -> Result<()>
pub fn set_sweep_interval( &mut self, database: &str, interval: u32, ) -> Result<()>
Define o intervalo de sweep automático em transações (gfix -h).
Sourcepub fn set_page_buffers(&mut self, database: &str, buffers: u32) -> Result<()>
pub fn set_page_buffers(&mut self, database: &str, buffers: u32) -> Result<()>
Define o tamanho do cache do banco em páginas (gfix -buffers).
Sourcepub fn set_forced_writes(&mut self, database: &str, sync: bool) -> Result<()>
pub fn set_forced_writes(&mut self, database: &str, sync: bool) -> Result<()>
Liga/desliga a escrita síncrona (forced writes) do banco (gfix -write).
Sourcepub fn set_read_only(&mut self, database: &str, read_only: bool) -> Result<()>
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).
Sourcepub fn shutdown(&mut self, database: &str, mode: u8, timeout: u32) -> Result<()>
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.
Sourcepub fn bring_online(&mut self, database: &str, mode: u8) -> Result<()>
pub fn bring_online(&mut self, database: &str, mode: u8) -> Result<()>
Traz o banco de volta ONLINE no mode dado (svc_prp::SM_*).
Sourcepub fn trace_start(&mut self, name: &str, config: &str) -> Result<String>
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.
Sourcepub fn trace_stop(&mut self, session_id: u32) -> Result<String>
pub fn trace_stop(&mut self, session_id: u32) -> Result<String>
Para a sessão de trace de id session_id.
Sourcepub fn trace_suspend(&mut self, session_id: u32) -> Result<String>
pub fn trace_suspend(&mut self, session_id: u32) -> Result<String>
Suspende a sessão de trace de id session_id.
Sourcepub fn trace_resume(&mut self, session_id: u32) -> Result<String>
pub fn trace_resume(&mut self, session_id: u32) -> Result<String>
Retoma a sessão de trace de id session_id.
Sourcepub fn trace_list(&mut self) -> Result<String>
pub fn trace_list(&mut self) -> Result<String>
Lista as sessões de trace ativas no servidor.
Sourcepub fn add_user(&mut self, user: &UserParams) -> Result<()>
pub fn add_user(&mut self, user: &UserParams) -> Result<()>
Cria um usuário no banco de segurança (isc_action_svc_add_user).
Sourcepub fn modify_user(&mut self, user: &UserParams) -> Result<()>
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.
Sourcepub fn delete_user(&mut self, username: &str) -> Result<()>
pub fn delete_user(&mut self, username: &str) -> Result<()>
Remove um usuário (isc_action_svc_delete_user).
Sourcepub fn display_users(&mut self) -> Result<Vec<UserInfo>>
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).