in src/plugin/plugin_pdo.rs [233:255]
fn after_hook_when_false(this: &mut ZObj, span: &mut Span) -> crate::Result<()> {
let info = this.call("errorInfo", [])?;
let info = info.as_z_arr().context("errorInfo isn't array")?;
let state = get_error_info_item(info, 0)?.expect_z_str()?.to_str()?;
let code = {
let code = get_error_info_item(info, 1)?;
// PDOStatement::fetch
// In all cases, false is returned on failure or if there are no more rows.
if code.get_type_info().is_null() {
return Ok(());
}
&code.expect_long()?.to_string()
};
let error = get_error_info_item(info, 2)?.expect_z_str()?.to_str()?;
let span_object = span.span_object_mut();
span_object.is_error = true;
span_object.add_log([("SQLSTATE", state), ("Error Code", code), ("Error", error)]);
Ok(())
}