MCPcopy Create free account
hub / github.com/f0rr0/oliphaunt / start_backend

Method start_backend

src/pglite/postgres_mod.rs:950–978  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

948 }
949
950 fn start_backend(&mut self) -> Result<()> {
951 if self.backend_started {
952 return Ok(());
953 }
954 let _phase = timing::phase("postgres.backend_start");
955 self.reset_backend_c_timings()?;
956 self.configure_host_error_recovery()?;
957 {
958 let _phase = timing::phase("postgres.backend_start.set_active");
959 self.lifecycle
960 .set_active
961 .call(&mut self.store, 1)
962 .context("pgl_setPGliteActive(1)")?;
963 }
964 {
965 let _phase = timing::phase("postgres.backend_start.single_user_main");
966 match self.lifecycle.wasi_start.call(&mut self.store) {
967 Ok(()) => {}
968 Err(err) if runtime_error_exit_code(&err) == Some(PGLITE_EXIT_ALIVE) => {}
969 Err(err) => return self.startup_failure(err, "_start PGlite single-user backend"),
970 }
971 }
972 if let Err(err) = self.lifecycle.start_pglite.call(&mut self.store) {
973 return self.startup_failure(err, "pgl_startPGlite");
974 }
975 self.record_backend_c_timings()?;
976 self.backend_started = true;
977 Ok(())
978 }
979
980 fn configure_host_error_recovery(&mut self) -> Result<()> {
981 let force = host_requires_process_exit_error_recovery();

Callers 1

ensure_clusterMethod · 0.80

Calls 6

phaseFunction · 0.85
runtime_error_exit_codeFunction · 0.85
startup_failureMethod · 0.80

Tested by

no test coverage detected