Problem with memory in C function

Поиск
Список
Период
Сортировка
От Diogo Biazus
Тема Problem with memory in C function
Дата
Msg-id 406492A1.6030202@ikono.com.br
обсуждение исходный текст
Ответы Re: Problem with memory in C function  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Hi folks,

Sorry to send this email twice, but I'm having troubles with my email
server.
I'm having troubles writing a function that reads a file from fisk and
return a bytea to database.
Can anyone help me?

I read the entire file into a (char *) and then return it as a bytea:

    fseek(file, 0L, SEEK_END);
    tamanhoArquivo = ftell(file);
    rewind(file);

    fileContent = palloc(fileSize + 1);
    if(fileContent == NULL )
    {
      elog(ERROR, "Error alocating memory (%i bytes)", fileSize + 1);
    }

    fread(fileContent, fileSize, 1, file);
    fclose(file);
    PG_RETURN_BYTEA_P((bytea *) fileContent);

And, when I call the funcion in psql, it gives me the following message:
ERROR:  Memory exhausted in AllocSetAlloc(879718306)

Am I doing something wrong?

TIA,

--
Diogo Biazus
diogo@ikono.com.br
http://www.ikono.com.br



В списке pgsql-general по дате отправления:

Предыдущее
От: Bruno Wolff III
Дата:
Сообщение: Re: Another date / time question
Следующее
От: "Pablo Montilla"
Дата:
Сообщение: Waiting for Commit