Re: MODERATOR WARNING Re: [GENERAL] Exception Handling in C-Language Functions?

2012-12-03 Thread David Fetter
://postgresql.1045698.n5.nabble.com/GENERAL-Exception-Handling-in-C-Language-Functions-td1843896.html I have no idea what's going on. Maybe it's something to do with Nabble. There are others pending moderation in pgsql-admin and pgsql-hackers too. rahul143 wrote: I have the created a C

Re: [GENERAL] Exception Handling in C-Language Functions?

2012-12-03 Thread Merlin Moncure
On Sun, Dec 2, 2012 at 11:18 PM, rahul143 rk204...@gmail.com wrote: I have the created a C-Language function (code is below). Now, I wonder: How do I handle exceptions, for example if malloc cannot assign the necessary memory? Do palloc and pfree handle such a case cleanly? Should I simply

[GENERAL] Exception Handling in C-Language Functions?

2012-12-02 Thread rahul143
://postgresql.1045698.n5.nabble.com/GENERAL-Exception-Handling-in-C-Language-Functions-tp5734656.html Sent from the PostgreSQL - general mailing list archive at Nabble.com. -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org

MODERATOR WARNING Re: [GENERAL] Exception Handling in C-Language Functions?

2012-12-02 Thread Alvaro Herrera
.nabble.com/Re-GENERAL-MS-Access-and-Stored-procedures-td5734652.html The original message was posted in 2005! The message here is this one (also in 2005): http://postgresql.1045698.n5.nabble.com/GENERAL-Exception-Handling-in-C-Language-Functions-td1843896.html I have no idea what's going on. Maybe

Re: [GENERAL] Exception Handling in C-Language Functions?

2005-05-23 Thread greg landrum
Tom Lane wrote: Felix E. Klee [EMAIL PROTECTED] writes: BTW, a more future-proof way of doing what you want: VarChar *text = PG_GETARG_VARCHAR_P(0); int text_len = VARSIZE(text)-VARHDRSZ; char *tmp_text = (char *)malloc(text_len+1); if (tmp_text == NULL) ; /* What now? */

Re: [GENERAL] Exception Handling in C-Language Functions?

2005-05-23 Thread Tom Lane
greg landrum [EMAIL PROTECTED] writes: Tom Lane wrote: text = DatumGetCString(DirectFunctionCall1(varcharout, text_datum)); This form of dealing with arguments is interesting to learn about. Is there any documentation of this stuff or do I need to dive into the source? The original

[GENERAL] Exception Handling in C-Language Functions?

2005-05-21 Thread Felix E. Klee
I have the created a C-Language function (code is below). Now, I wonder: How do I handle exceptions, for example if malloc cannot assign the necessary memory? Do palloc and pfree handle such a case cleanly? Should I simply use an assert? #include postgres.h #include string.h #include stdlib.h

Re: [GENERAL] Exception Handling in C-Language Functions?

2005-05-21 Thread Neil Conway
Felix E. Klee wrote: I have the created a C-Language function (code is below). Now, I wonder: How do I handle exceptions, for example if malloc cannot assign the necessary memory? Do palloc and pfree handle such a case cleanly? Yes -- they will roll back the current transaction on if there

Re: [GENERAL] Exception Handling in C-Language Functions?

2005-05-21 Thread Felix E. Klee
At Sat, 21 May 2005 20:13:13 +1000, Neil Conway wrote: Do palloc and pfree handle such a case cleanly? Yes -- they will roll back the current transaction on if there is no memory available. Great. So I just use those. You can catch the error via PG_TRY() in 8.0 [...] Nice, but we're

Re: [GENERAL] Exception Handling in C-Language Functions?

2005-05-21 Thread Tom Lane
Felix E. Klee [EMAIL PROTECTED] writes: I have the created a C-Language function (code is below). Now, I wonder: How do I handle exceptions, for example if malloc cannot assign the necessary memory? Do palloc and pfree handle such a case cleanly? Should I simply use an assert? As a general

Re: [GENERAL] Exception Handling in C-Language Functions?

2005-05-21 Thread Felix E. Klee
At Sat, 21 May 2005 10:30:47 -0400, Tom Lane wrote: BTW, a more future-proof way of doing what you want: [...] is to let the varchar output routine do it: Datum text_datum = PG_GETARG_DATUM(0); char *text; text = DatumGetCString(DirectFunctionCall1(varcharout,