| From: | "Vyacheslav Kalinin" <vka(at)mgcp(dot)com> | 
|---|---|
| To: | "Stefan Niantschur" <sniantschur(at)web(dot)de> | 
| Cc: | pgsql-general(at)postgresql(dot)org | 
| Subject: | Re: How to return a large String with C | 
| Date: | 2008-02-17 17:23:40 | 
| Message-ID: | 9b1af80e0802170923o4c3a8728p5909f63db627627c@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
Yes, I know, but the backend does not allow for a bigger buffer. Trying
> to use a 80K (char[81920])buffer did not work and returns:
> INFO:  string-size : 48015
> INFO:  +++++++++++++++++++++++++++
> server closed the connection unexpectedly
>        This probably means the server terminated abnormally
>        before or while processing the request.
> The connection to the server was lost. Attempting reset: Succeeded.
>
>
> The surprising thing is that the data can be displayed using elog but
> not returend with a string pointer.
> <http://archives.postgresql.org/>
You cannot just return pointer to stack (local for function) buffer - it
gets freed on return from the function. You must explicitly palloc required
memory chunk.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2008-02-17 19:28:18 | Re: How to return a large String with C | 
| Previous Message | Stefan Niantschur | 2008-02-17 17:13:29 | Re: How to return a large String with C |