31.10. ФÑнкÑии ÑпÑавлениÑ
ÐÑи ÑÑнкÑии ÑпÑавлÑÑÑ ÑазлиÑнÑми аÑпекÑами Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ libpq.
-
PQclientEncoding ÐозвÑаÑÐ°ÐµÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ ÐºÐ»Ð¸ÐµÐ½Ñа.
int PQclientEncoding(const PGconn *
conn);ÐамеÑÑÑе, ÑÑо она возвÑаÑÐ°ÐµÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ ÐºÐ¾Ð´Ð¸Ñовки, а не ÑимволÑнÑÑ ÑÑÑÐ¾ÐºÑ Ð²Ð¸Ð´Ð°
EUC_JP. Ð ÑлÑÑае оÑибки она возвÑаÑÐ°ÐµÑ -1. ÐÑеобÑазоваÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ ÐºÐ¾Ð´Ð¸Ñовки в Ð¸Ð¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾, воÑполÑзовавÑиÑÑ ÑледÑÑÑей ÑÑнкÑией:char *pg_encoding_to_char(int
encoding_id);-
PQsetClientEncoding УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ ÐºÐ»Ð¸ÐµÐ½Ñа.
int PQsetClientEncoding(PGconn *
conn, const char *encoding);Ð
connпеÑедаÑÑÑÑ Ñоединение Ñ ÑеÑвеÑом, а вencodingâ Ð¸Ð¼Ñ ÑÑебÑемой кодиÑовки. ÐÑли ÑÑнкÑÐ¸Ñ ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ ÑÑпеÑно, она возвÑаÑÐ°ÐµÑ 0, или -1 в пÑоÑивном ÑлÑÑае. ÐпÑеделиÑÑ ÑекÑÑÑÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ Ð´Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾, воÑполÑзовавÑиÑÑ ÑÑнкÑиейPQclientEncoding.-
PQsetErrorVerbosity ÐпÑеделÑÐµÑ ÑÑÐ¾Ð²ÐµÐ½Ñ Ð´ÐµÑализаÑии ÑообÑений, возвÑаÑаемÑÑ ÑÑнкÑиÑми
PQerrorMessageиPQresultErrorMessage.typedef enum { PQERRORS_TERSE, PQERRORS_DEFAULT, PQERRORS_VERBOSE } PGVerbosity; PGVerbosity PQsetErrorVerbosity(PGconn *conn, PGVerbosity verbosity);PQsetErrorVerbosityÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÑÑÐ¾Ð²ÐµÐ½Ñ Ð´ÐµÑализаÑии и возвÑаÑÐ°ÐµÑ Ð¿ÑедÑдÑÑее знаÑение Ð´Ð»Ñ ÑоединениÑ. Р«лакониÑном» Ñежиме (TERSE) возвÑаÑаемÑе ÑообÑÐµÐ½Ð¸Ñ ÑодеÑÐ¶Ð°Ñ ÑолÑко ÑÑÐ¾Ð²ÐµÐ½Ñ Ð²Ð°Ð¶Ð½Ð¾ÑÑи, оÑновной ÑекÑÑ Ð¸ позиÑиÑ; вÑÑ ÑÑо обÑÑно ÑмеÑаеÑÑÑ Ð² одной ÑÑÑоке. Ð Ñежиме по ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑдаваемÑе ÑообÑÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑно ÑодеÑÐ¶Ð°Ñ Ð¿Ð¾Ð»Ñ Ð¿Ð¾Ð´Ñобного опиÑаниÑ, подÑказки или конÑекÑÑа (они могÑÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑ Ð½ÐµÑколÑко ÑÑÑок). Р«многоÑловном» Ñежиме (VERBOSE) пеÑедаÑÑÑÑ Ð²Ñе доÑÑÑпнÑе Ð¿Ð¾Ð»Ñ ÑообÑениÑ. Ðзменение ÑÑÐ¾Ð²Ð½Ñ Ð´ÐµÑализаÑии не влиÑÐµÑ Ð½Ð° ÑообÑениÑ, Ñже ÑÑоÑмиÑованнÑе в ÑÑÑеÑÑвÑÑÑÐ¸Ñ Ð¾Ð±ÑекÑаÑPGresult, а заÑÑÐ°Ð³Ð¸Ð²Ð°ÐµÑ ÑолÑко поÑледÑÑÑие ÑообÑениÑ.-
PQtrace ÐклÑÑÐ°ÐµÑ ÑÑаÑÑиÑÐ¾Ð²ÐºÑ ÐºÐ»Ð¸ÐµÐ½Ñ-ÑеÑвеÑного взаимодейÑÑÐ²Ð¸Ñ Ñ Ð²Ñводом в поÑок оÑладоÑнÑÑ ÑообÑений.
void PQtrace(PGconn *conn, FILE *stream);
ÐÑимеÑание
Ð Windows, еÑли библиоÑека libpq и пÑиложение ÑкомпилиÑÐ¾Ð²Ð°Ð½Ñ Ñ ÑазнÑми Ñлагами, ÑÑа ÑÑнкÑÐ¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð²ÑзваÑÑ ÐºÑÐ°Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð·-за ÑазлиÑий внÑÑÑеннего пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑказаÑелей
FILE. Ð ÑаÑÑноÑÑи, Ñлаги многопоÑоÑной/однопоÑоÑной, вÑпÑÑкаемой/оÑладоÑной или ÑÑаÑиÑеÑкой/динамиÑеÑкой ÑбоÑки Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñми Ð´Ð»Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки и вÑÐµÑ Ð¸ÑполÑзÑÑÑÐ¸Ñ ÐµÑ Ð¿Ñиложений.-
PQuntrace ÐÑклÑÑÐ°ÐµÑ ÑÑаÑÑиÑовкÑ, запÑÑеннÑÑ ÑÑнкÑией
PQtrace.void PQuntrace(PGconn *conn);