<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 31.12\. 注意信息處理 服務器生成的注意信息和警告信息都不會由查詢執行函數返回,因為他們并不蘊涵著查詢的失敗。 它們會被傳遞給一個注意信息處理函數,然后在該處理返回之后繼續正常執行。 缺省的注意信息處理函數在`stderr`上打印該信息, 但是應用可以通過提供自己的處理函數來覆蓋這個行為。 由于歷史原因,系統里存在兩個級別的注意信息處理,分別叫做注意信息接收器和注意信息處理器。 缺省的行為是注意信息接收器格式化注意信息然后傳遞給注意信息處理器一個字串進行打印。 不過,對于自行處理這些事情的應用而言,通常是忽略注意信息處理器層,而只是在注意信息接收器里完成所有動作。 函數`PQsetNoticeReceiver` 為一個連接對象設置或者檢查當前的注意信息接收器。 類似的是`PQsetNoticeProcessor` 設置或者檢查當前的注意信息處理器。 ``` typedef void (*PQnoticeReceiver) (void *arg, const PGresult *res); PQnoticeReceiver PQsetNoticeReceiver(PGconn *conn, PQnoticeReceiver proc, void *arg); typedef void (*PQnoticeProcessor) (void *arg, const char *message); PQnoticeProcessor PQsetNoticeProcessor(PGconn *conn, PQnoticeProcessor proc, void *arg); ``` 這些函數都返回前一個注意信息接收器或者處理器函數指針,然后設置新的數值。 如果你提供一個空函數指針,那么就不會執行任何動作,但是返回當前指針。 當我們從服務器獲取一個注意或者警告信息的時候,或者是收到libpq 內部生成的類似信息時,注意信息接收器函數將被調用。消息會以一個`PGRES_NONFATAL_ERROR` 的`PGresult`的形式傳遞。(這就允許接收器用 `PQresultErrorField` 抽取獨立的字段,或者用`PQresultErrorMessage`完成預先格式化好的信息。) 傳遞給`PQsetNoticeReceiver`的同一個 void 指針也同樣傳遞給該函數。 (必要時,這個指針可以用來訪問應用相關的狀態。) 缺省的注意信息接收器只是簡單的抽取信息(使用`PQresultErrorMessage`) 然后傳遞給注意信息處理器。 注意信息處理器負責處理一個以文本形式給出的注意或者警告信息。系統傳遞給他消息的字串文本 (包括結尾的新行符),加上一個和傳遞給`PQsetNoticeProcessor` 一樣的 void (無類型)指針。(必要時,這個指針可以用來訪問應用相關的狀態。) 缺省的注意信息處理器就是: ``` static void defaultNoticeProcessor(void *arg, const char *message) { fprintf(stderr, "%s", message); } ``` 一旦你設置了注意消息接收器或者處理器,那么你就應該準備好在`PGconn` 對象或者`PGresult`對象開始存在的時候起就有人調用它們。在創建 `PGresult`的時候,`PGconn`的當前注意信息處理指針被拷貝到 `PGresult`,以便被類似`PQgetvalue`這樣的函數使用。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看