Re: [Pgsql-ayuda] fotos con Postgres

From: Gunnar Wolf <gwolf(at)gwolf(dot)cx>
To: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
Cc: Alejandro Rivadeneira <mundo(at)ctcinternet(dot)cl>, pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re: [Pgsql-ayuda] fotos con Postgres
Date: 2003-05-07 04:48:57
Message-ID: 20030507044857.GA5254@gwolf.cx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Alvaro Herrera dijo [Tue, May 06, 2003 at 11:11:31PM -0400]:
> On Tue, May 06, 2003 at 04:45:04PM -0500, Gunnar Wolf wrote:
> Gunnar,
>
> Me suena tu nombre, de una lista de Mandrake Cooker o algo así?

Ummm... Lo dudo, yo nunca he usado Mandrake - Pero... Estoy en todo tipo
de listas de software libre ;-)

> > Ahora, va una duda que le hace más simple la vida al programador: Un
> > campo 'text' acepta cualquier cantidad de caracteres ASCII, ¿cierto?
> > Entonces... ¿Por qué no guardar la imagen tal cual, sin siquiera
> > codificar a Base64? Claro, hay que tener cuidado de no jalarla con un
> > 'select' desde psql o cosas similares, pero... ¿Alguna otra objeción?
>
> Bueno, precisamente el problema es que text acepta caracteres ASCII (7
> bits) o lo que tenga tu codificación. Si quisieras guardar la imagen
> directamente deberías usar BYTEA, que precisamente es para guardar
> secuencias de bytes. Ahí tienes que tener cuidado con escapar el
> carácter ' al insertar, creo. Y de vuelta algunas cosas vienen
> escapadas también y tienes que des-escaparlas (el byte 0, creo; el
> apóstrofe ', y no sé qué más).

Bueno... Claro, para evitar el asunto de los apóstrofes, yo prefiero
preparar e insertar en dos pasos separados - Uso Perl... Prefiero hacer:

$sth = $dbh->prepare('INSERT INTO tabla (val1, val2, val3) VALUES (?, ?, ?)');
$sth->execute($var1, $var2, $var3);

a hacer

$dbh->do("INSERT INTO tabla (val1, val2, val3) VALUES ('$var1','$var2','$var3')");

Es más código, pero resulta más limpio. Pero bueno, sí, el asunto de la
codificación, los \0 y demás pueden resultar incómodos.

Saludos,

--
Gunnar Wolf - gwolf(at)gwolf(dot)cx - (+52-55)5630-9700 ext. 1366
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Antonio Castro 2003-05-07 10:02:12 Re: [Pgsql-ayuda] fotos con Postgres
Previous Message Rómulo M. Soto Díaz 2003-05-07 04:45:40 [Pgsql-ayuda] Una consulta de un novato