MCPcopy Create free account
hub / github.com/apache/cloudberry / err_generic_string

Function err_generic_string

src/backend/utils/error/elog.c:1588–1617  ·  view source on GitHub ↗

* err_generic_string -- used to set individual ErrorData string fields * identified by PG_DIAG_xxx codes. * * This intentionally only supports fields that don't use localized strings, * so that there are no translation considerations. * * Most potential callers should not use this directly, but instead prefer * higher-level abstractions, such as errtablecol() (see relcache.c). */

Source from the content-addressed store, hash-verified

1586 * higher-level abstractions, such as errtablecol() (see relcache.c).
1587 */
1588void
1589err_generic_string(int field, const char *str)
1590{
1591 ErrorData *edata = &errordata[errordata_stack_depth];
1592
1593 /* we don't bother incrementing recursion_depth */
1594 CHECK_STACK_DEPTH();
1595
1596 switch (field)
1597 {
1598 case PG_DIAG_SCHEMA_NAME:
1599 set_errdata_field(edata->assoc_context, &edata->schema_name, str);
1600 break;
1601 case PG_DIAG_TABLE_NAME:
1602 set_errdata_field(edata->assoc_context, &edata->table_name, str);
1603 break;
1604 case PG_DIAG_COLUMN_NAME:
1605 set_errdata_field(edata->assoc_context, &edata->column_name, str);
1606 break;
1607 case PG_DIAG_DATATYPE_NAME:
1608 set_errdata_field(edata->assoc_context, &edata->datatype_name, str);
1609 break;
1610 case PG_DIAG_CONSTRAINT_NAME:
1611 set_errdata_field(edata->assoc_context, &edata->constraint_name, str);
1612 break;
1613 default:
1614 elog(ERROR, "unsupported ErrorData field id: %d", field);
1615 break;
1616 }
1617}
1618
1619/*
1620 * set_errdata_field --- set an ErrorData string field

Callers 9

exec_stmt_raiseFunction · 0.50
PLy_elog_implFunction · 0.50
PLy_outputFunction · 0.50
errtableFunction · 0.50
errtablecolnameFunction · 0.50
errtableconstraintFunction · 0.50
errdatatypeFunction · 0.50
errdomainconstraintFunction · 0.50
cdbdisp_get_PQerrorFunction · 0.50

Calls 1

set_errdata_fieldFunction · 0.70

Tested by

no test coverage detected