MCPcopy Create free account
hub / github.com/apache/skywalking-php / after_hook_when_false

Function after_hook_when_false

src/plugin/plugin_pdo.rs:233–255  ·  view source on GitHub ↗
(this: &mut ZObj, span: &mut Span)

Source from the content-addressed store, hash-verified

231}
232
233fn after_hook_when_false(this: &mut ZObj, span: &mut Span) -> crate::Result<()> {
234 let info = this.call("errorInfo", [])?;
235 let info = info.as_z_arr().context("errorInfo isn't array")?;
236
237 let state = get_error_info_item(info, 0)?.expect_z_str()?.to_str()?;
238 let code = {
239 let code = get_error_info_item(info, 1)?;
240 // PDOStatement::fetch
241 // In all cases, false is returned on failure or if there are no more rows.
242 if code.get_type_info().is_null() {
243 return Ok(());
244 }
245
246 &code.expect_long()?.to_string()
247 };
248 let error = get_error_info_item(info, 2)?.expect_z_str()?.to_str()?;
249
250 let span_object = span.span_object_mut();
251 span_object.is_error = true;
252 span_object.add_log([("SQLSTATE", state), ("Error Code", code), ("Error", error)]);
253
254 Ok(())
255}
256
257fn after_hook_when_pdo_statement(pdo: &mut ZObj, pdo_statement: &mut ZObj) -> crate::Result<()> {
258 let dsn = DSN_MAP

Callers 1

after_hookFunction · 0.85

Calls 1

get_error_info_itemFunction · 0.85

Tested by

no test coverage detected