Обсуждение: Catch "RAISE NOTICE" in ODBC application

Поиск
Список
Период
Сортировка

Catch "RAISE NOTICE" in ODBC application

От
Igor Korot
Дата:
Hi, ALL,
How do I do that?

Google showed only the libpq way...

Thank you.



Re: Catch "RAISE NOTICE" in ODBC application

От
Dave Cramer
Дата:
ChatGPT shows this:

SQLGetDiagRec(
    SQL_HANDLE_STMT,  // statement handle
    hstmt,
    iRecord,          // record number, starting at 1
    SqlState,
    &NativeError,
    MessageText,
    BufferLength,
    &TextLengthPtr
);

Notices will have:

  • SqlState = "00000"

  • NativeError = 0

  • MessageText = "<your NOTICE text>"

Dave Cramer
www.postgres.rocks


On Sun, 30 Nov 2025 at 02:58, Igor Korot <ikorot01@gmail.com> wrote:
Hi, ALL,
How do I do that?

Google showed only the libpq way...

Thank you.


Re: Catch "RAISE NOTICE" in ODBC application

От
Igor Korot
Дата:
Hi, Dave,

Let’s say I catch CREATE TABLE DDL command and I ran create table inside my program.

It will be caught and I can process it with that call.

Now what would happen if I run CREATE TABLE inside psql shell?

It will raise the notice but will I be able to catch it?

Thank you.


On Sun, Nov 30, 2025 at 12:10 PM Dave Cramer <davecramer@postgres.rocks> wrote:
I have no idea what psql will do
Dave Cramer
www.postgres.rocks


On Sun, 30 Nov 2025 at 12:37, Igor Korot <ikorot01@gmail.com> wrote:
Hi,

Will it catch it if the event occur inside the application only or from psql as well?

Thank you.


On Sun, Nov 30, 2025 at 3:31 AM Dave Cramer <davecramer@postgres.rocks> wrote:
ChatGPT shows this:

SQLGetDiagRec(
    SQL_HANDLE_STMT,  // statement handle
    hstmt,
    iRecord,          // record number, starting at 1
    SqlState,
    &NativeError,
    MessageText,
    BufferLength,
    &TextLengthPtr
);

Notices will have:

  • SqlState = "00000"

  • NativeError = 0

  • MessageText = "<your NOTICE text>"

Dave Cramer
www.postgres.rocks


On Sun, 30 Nov 2025 at 02:58, Igor Korot <ikorot01@gmail.com> wrote:
Hi, ALL,
How do I do that?

Google showed only the libpq way...

Thank you.


Re: Catch "RAISE NOTICE" in ODBC application

От
Dave Cramer
Дата:



On Sun, 30 Nov 2025 at 15:24, Igor Korot <ikorot01@gmail.com> wrote:
Hi, Dave,

Let’s say I catch CREATE TABLE DDL command and I ran create table inside my program.

It will be caught and I can process it with that call.

Now what would happen if I run CREATE TABLE inside psql shell?

It will raise the notice but will I be able to catch it?

Thank you.


As I said, I have no idea. You could just try it.

You should ask on the general list.

Dave 


On Sun, Nov 30, 2025 at 12:10 PM Dave Cramer <davecramer@postgres.rocks> wrote:
I have no idea what psql will do
Dave Cramer
www.postgres.rocks


On Sun, 30 Nov 2025 at 12:37, Igor Korot <ikorot01@gmail.com> wrote:
Hi,

Will it catch it if the event occur inside the application only or from psql as well?

Thank you.


On Sun, Nov 30, 2025 at 3:31 AM Dave Cramer <davecramer@postgres.rocks> wrote:
ChatGPT shows this:

SQLGetDiagRec(
    SQL_HANDLE_STMT,  // statement handle
    hstmt,
    iRecord,          // record number, starting at 1
    SqlState,
    &NativeError,
    MessageText,
    BufferLength,
    &TextLengthPtr
);

Notices will have:

  • SqlState = "00000"

  • NativeError = 0

  • MessageText = "<your NOTICE text>"

Dave Cramer
www.postgres.rocks


On Sun, 30 Nov 2025 at 02:58, Igor Korot <ikorot01@gmail.com> wrote:
Hi, ALL,
How do I do that?

Google showed only the libpq way...

Thank you.