Discussion:
Simbolos dentro de cadenas
Gabriel Ferro
2007-03-11 13:14:19 UTC
Permalink
Maestros, tengo el problema que cuando intento guardar una cadena en un campo del tipo character(50) hay carcateres que me dan problemas esto lo hago desde VB con

sql= "UPDATE ""Acta"" SET " _
& """FechaCarga""='" & Format(campos(2), "dd/mm/yyyy") & "', " _
& """Lugar""='" & lugar & "' " _
& " WHERE ""CodActa""='" & tuplas2!CodActa & "';"
cnn.Execute (sql)

la cosa es que si el campo lugar tiene
por ejemplo !"·$%&/()=?¿ÑѪºÇÇÁÉÍÓÚÀÈÌÒÙ><hola

me da el error como si se pasa de los 50 caracteres
fui viendo simbolo por simbolo y tuve que hacer una funcion que reemplaza los caracteres problematicos por un *, los que me dieron problemas eran
"
!
&
%
·
º
lo raro aun mas es que si copio el contenido de la variale sql en tiempo de ejecucion y la pego en un pgpadmin3 la instruccion se ejecuta sin problemas... y ademas como aseguro que son solo estos, hay alguna funcion de postgree que reemplace los caracteres problematicos asegurandome que no se pinchara el programa con cualquier cadena que tenga?






__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
Gabriel Ferro
2007-03-13 16:02:50 UTC
Permalink
Maestros, tengo el problema que cuando intento guardar una cadena en un campo del tipo character(50) hay carcateres que me dan problemas esto lo hago desde VB con

sql= "UPDATE ""Acta"" SET " _
& """FechaCarga""='" & Format(campos(2), "dd/mm/yyyy") & "', " _
& """Lugar""='" & lugar & "' " _
& " WHERE ""CodActa""='" & tuplas2!CodActa & "';"
cnn.Execute (sql)

la cosa es que si el campo lugar tiene
por ejemplo !"·$%&/()=?¿ÑѪºÇÇÁÉÍÓÚÀÈÌÒÙ><hola

me da el error como si se pasa de los 50 caracteres
fui viendo simbolo por simbolo y tuve que hacer una funcion que reemplaza los caracteres problematicos por un *, los que me dieron problemas eran
"
!
&
%
·
º
lo raro aun mas es que si copio el contenido de la variale sql en tiempo de ejecucion y la pego en un pgpadmin3 la instruccion se ejecuta sin problemas... y ademas como aseguro que son solo estos, hay alguna funcion de postgree que reemplace los caracteres problematicos asegurandome que no se pinchara el programa con cualquier cadena que tenga?






Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
Probalo ya!






__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
Alvaro Herrera
2007-03-13 16:23:46 UTC
Permalink
Post by Gabriel Ferro
Maestros, tengo el problema que cuando intento guardar una cadena en un campo del tipo character(50) hay carcateres que me dan problemas esto lo hago desde VB con
sql= "UPDATE ""Acta"" SET " _
& """FechaCarga""='" & Format(campos(2), "dd/mm/yyyy") & "', " _
& """Lugar""='" & lugar & "' " _
& " WHERE ""CodActa""='" & tuplas2!CodActa & "';"
cnn.Execute (sql)
la cosa es que si el campo lugar tiene
por ejemplo !"·$%&/()=?¿ÑѪºÇÇÁÉÍÓÚÀÈÌÒÙ><hola
me da el error como si se pasa de los 50 caracteres
fui viendo simbolo por simbolo y tuve que hacer una funcion que reemplaza los caracteres problematicos por un *, los que me dieron problemas eran
"
!
&
%
·
º
lo raro aun mas es que si copio el contenido de la variale sql en
tiempo de ejecucion y la pego en un pgpadmin3 la instruccion se
ejecuta sin problemas... y ademas como aseguro que son solo estos, hay
alguna funcion de postgree que reemplace los caracteres problematicos
asegurandome que no se pinchara el programa con cualquier cadena que
tenga?
Yo iba a responder la primera vez sugiriendo que deberias escapar los
caracteres, pero despues de echarle un segundo vistazo al trozo de
codigo que muestras arriba, me da la impresion de que la sintaxis es
Visual Basic. Y me pregunto, no hay una manera _sana_ de usar el
lenguaje??? No hay algo asi como un sprintf() con el cual puedas
construir el string de la consulta? Lo que muestras arriba es horrible
e inmantenible, y me pregunto como diablos puede un programador hacer
algo con un lenguaje asi.

En sintesis, el problema que tienes se llama Visual Basic, no es
realmente de Postgres ... para Postgres, deberia bastar con escapar los
caracteres ' y \ (y en tu caso, probablemente tambien los ").
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
Gabriel Colina
2007-03-14 03:56:28 UTC
Permalink
Post by Alvaro Herrera
Yo iba a responder la primera vez sugiriendo que
deberias escapar los
caracteres, pero despues de echarle un segundo
vistazo al trozo de
codigo que muestras arriba, me da la impresion de
que la sintaxis es
Visual Basic.
No es una impresion es visual basic.

Y me pregunto, no hay una manera
Post by Alvaro Herrera
_sana_ de usar el
lenguaje??? No hay algo asi como un sprintf() con
el cual puedas
construir el string de la consulta? Lo que muestras
arriba es horrible
e inmantenible, y me pregunto como diablos puede un
programador hacer
algo con un lenguaje asi.
Alvaro me extrania de ti este tipo de respuestas, pero
te contesto, en dos sentidos, el primero que el
lenguaje es circunstancial para un buen programador,
segundo, asi como no puedo opinar de Lazarus por
ejemplo por que a penas lo mire, hay muchos que opinan
de Visual sin conocerlo, o acaso para calificarlo asi,
hiciste la carrera de Developer y te certificaste
????.

El lenguaje de Visual Basic es facil de interpretar y
mantener. Te puedo asegurar que desde la Version 4 le
saque mucho el jugo y en productividad es muy bueno.

Un problema que veo cuando la gente usa Visual es que
escribe codigo hasta por demas y no se orienta a la
programacion en tres capas. Quiza por venir de
lenguajes como Clipper o Cobol.
Post by Alvaro Herrera
En sintesis, el problema que tienes se llama Visual
Basic, no es
realmente de Postgres ... para Postgres, deberia
bastar con escapar los
caracteres ' y \ (y en tu caso, probablemente
tambien los ").
A esto ultimo respondo que el problema no es Visual
Basic, ni postgresql es como utilizan los dos.

Alvaro cuando yo aprenda mas de PostgreSQL entonces
voy a estar en condiciones de hacer aportes mejores,
cuando no puedo les pido que consulten a Alvaro, en
eso sos muy bueno, de verdad. Quiza el uno. Pero como
ya te exprese mucha gente va a venir usando Visual
Basic hacia esta gran base de datos que es PostgreSQL,
Si no les gusta en 8.3 no permitan conexiones ODBC ni
de ningun tipo, por que si no sepan que en algun
momento va a ver una invacion hacia esta gran
herramienta, pero no van a renegar de toda una curva
de experiencia con herramientas con las que otrora
dieron gran satisfaccion a sus clientes que apostaron
a su productividad.

Cuando toda esta gente pueble la comunidad vamos a
necesitar una herramienta de respuestas orientada a
los lenguajes y a las multiples plataformas.
Y no respuestas simplistas como que lenguaje tan malo
que usas.

Que joda aca uno parece molestar por que abrazo
PostgreSQL pero viene con otra manera de ver las cosas
y sigue con otras herramientas que son muy criticadas
desde el desconocimiento. Y en M$ nos miran mal por
apostar a herramientas "de dudoso soporte".

Los dos hablan sin conocimiento pleno.

En otro mail aporto tres soluciones al problema que
tienen que ver con Visual y PostgreSQL.

Visual sera el nuevo problema de la comunidad por que
muchos lo vamos a seguir usando junto con PostgreSQL.

Atte.
Gabriel Colina
Post by Alvaro Herrera
--
Alvaro Herrera
http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
---------------------------(fin del
mensaje)---------------------------
TIP 5: ¿Has leído nuestro extenso FAQ?
http://www.postgresql.org/files/documentation/faqs/FAQ.html
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Alvaro Herrera
2007-03-14 13:45:36 UTC
Permalink
o acaso para calificarlo asi, hiciste la carrera de Developer y te
certificaste ????.
No, hice una capacitacion (un curso de como 10 horas, siendo yo el unico
adolescente en medio de una manga de profesionales trasnochados) hace
como 14 años y el lenguaje era igual de horripilante. La diferencia es
que en ese tiempo no tenia idea de nada y no me parecio tan malo, pero
ahora que tengo mas experiencia me queda mas que clara la calidad
deficiente.

Hace pocos años tuve que hacer un proyecto para un curso en la
universidad, trabajando en grupo con varios compañeros, alumnos de
ultimo año de la carrera, que eran mas experimentados que yo en VB (en
ese tiempo yo ya sabia programar en Perl y otros), y aun echando mano a
esa experiencia que ellos tenian, tuvimos que recurrir a los trucos
horribles para hacer que el lenguaje funcionara.

Gabriel, si la unica forma de construir una consulta en VB es haciendo
algo como

sql = "select ""Foo"" from ""Bar"" " _
& " where ""Col1"" = '" & variable & "' and " _
& ""Col2"" = '" & otra_variable & "';"

entonces no veo por donde estas defendiendo al lenguaje. Esto no tiene
defensa posible. En lenguajes mas modernos, esto se puede escribir
mucho mas limpiamente, sin esa ensalada de simbolos raros:

sql = sprintf(qq{select "Foo" from "Bar"
where "Col1" = '%s' and "Col2" = '%s'},
$variable, $otra_variable);

No se si queda clara la diferencia y el como esta diferencia, que parece
muy menor, hace que el programa sea mucho mas claro de leer y mantener.
Que pasa cuando quieres agregar una tercera condicion en el WHERE de VB;
que cosas tienes que cambiar? Compara con como lo haces abajo. Que
pasa cuando quieres agregar una cosa en la segunda linea de codigo, te
queda muy larga y ahora quieres pasar un pedazo a la linea de abajo, que
tienes que hacer con el simbolito ese del _? Tener que estarlo moviendo
de un lado para otro, quizas agregando algunos y borrando otros, y
quizas poniendo mas & por ahi; no entiendo como califica de
"mantenible". Y eso claramente es culpa del lenguaje.

Si te fijas el ejemplo que puse arriba ni siquiera es tan complicado.
El ejemplo de Gabriel Ferro es bastante peor porque su problema es mas
complejo. Pero en el lenguaje del ejemplo que te muestro abajo (Perl),
se puede hacer mucho mas limpiamente que el codigo Visual que el
mostraba, y de hecho sospecho que tu tocayo Gabriel ni siquiera habria
tenido el problema que tuvo y que origino su pregunta a la lista.

Si tu quieres argumentar que aca va a venir un monton de gente a
preguntar por problemas con Visual Basic debido a que es el lenguaje que
mucha gente usa y que "estan empezando a ver la luz", me parece
fantastico. Pero ya que estan empezando a ver la luz, entonces que la
vean bien y que no se queden solo con haber cambiado Access con
Postgres, sino que ademas se den cuenta que el lenguaje que han venido
usando durante años es realmente todo lo penca que ellos siempre han
sabido pero nunca se atrevieron a sugerir porque "es que Microsoft lo
hizo asi que tiene que ser bueno". Si se estan independizando de
Microsoft y vienen aca a aprender, hey, que aprendan :-) Nadie dijo que
el aprendizaje era indoloro.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Miguel Bernilla Sánchez
2007-03-14 14:02:28 UTC
Permalink
============
Post by Alvaro Herrera
o acaso para calificarlo asi, hiciste la carrera de Developer y te
certificaste ????.
No, hice una capacitacion (un curso de como 10 horas, siendo yo el unico
adolescente en medio de una manga de profesionales trasnochados) hace
como 14 años y el lenguaje era igual de horripilante. La diferencia es
que en ese tiempo no tenia idea de nada y no me parecio tan malo, pero
ahora que tengo mas experiencia me queda mas que clara la calidad
deficiente.
Hace pocos años tuve que hacer un proyecto para un curso en la
universidad, trabajando en grupo con varios compañeros, alumnos de
ultimo año de la carrera, que eran mas experimentados que yo en VB (en
ese tiempo yo ya sabia programar en Perl y otros), y aun echando mano a
esa experiencia que ellos tenian, tuvimos que recurrir a los trucos
horribles para hacer que el lenguaje funcionara.
Yo también participé en un proyecto de 1 año desarrollando sistemas en
Visual Basic,,, así que conozco el tema y me permito opinar al
respecto...
Post by Alvaro Herrera
Gabriel, si la unica forma de construir una consulta en VB es haciendo
algo como
sql = "select ""Foo"" from ""Bar"" " _
& " where ""Col1"" = '" & variable & "' and " _
& ""Col2"" = '" & otra_variable & "';"
Esta forma de construir querys es un dolor de cabeza (por no
calificarlo con un término mas duro...) y es muy dificil
darle mantenimiento. Imaginénse aquellos sistemas grandes donde
hacemos querys por decenas,,, cuanto tiempo perdemos,,, y no por que
seamos incapaces sino por el bendito Visual Basic....
Cuando terminé este proyecto fuí contratado por una empresa donde la
herramienta de programación es Power Builder,,, aquí odié mas el
Visual Basic, por que para mí es una de las mejores herramientas de
programación en ambientes windows (herramientas orientadas al
tratamiento de bases de datos). En Power Builder los querys se escribe
de manera limpia, tomando el ejemplo de Alvaro, el query se escribiría
así de limpio:

select Foo from Bar
into :var_foo
where Col1 = :variable
and Col2 = :otra_variable;

así de limpio... (Grrrrrr, maldito Visual Basic...).
Y si hablamos de los maravillosos datawindows de Power Builder,,,
mejor la corto ahí, eh...
Post by Alvaro Herrera
entonces no veo por donde estas defendiendo al lenguaje. Esto no tiene
defensa posible. En lenguajes mas modernos, esto se puede escribir
sql = sprintf(qq{select "Foo" from "Bar"
where "Col1" = '%s' and "Col2" = '%s'},
$variable, $otra_variable);
No se si queda clara la diferencia y el como esta diferencia, que parece
muy menor, hace que el programa sea mucho mas claro de leer y mantener.
Que pasa cuando quieres agregar una tercera condicion en el WHERE de VB;
que cosas tienes que cambiar? Compara con como lo haces abajo. Que
pasa cuando quieres agregar una cosa en la segunda linea de codigo, te
queda muy larga y ahora quieres pasar un pedazo a la linea de abajo, que
tienes que hacer con el simbolito ese del _? Tener que estarlo moviendo
de un lado para otro, quizas agregando algunos y borrando otros, y
quizas poniendo mas & por ahi; no entiendo como califica de
"mantenible". Y eso claramente es culpa del lenguaje.
Si te fijas el ejemplo que puse arriba ni siquiera es tan complicado.
El ejemplo de Gabriel Ferro es bastante peor porque su problema es mas
complejo. Pero en el lenguaje del ejemplo que te muestro abajo (Perl),
se puede hacer mucho mas limpiamente que el codigo Visual que el
mostraba, y de hecho sospecho que tu tocayo Gabriel ni siquiera habria
tenido el problema que tuvo y que origino su pregunta a la lista.
Si tu quieres argumentar que aca va a venir un monton de gente a
preguntar por problemas con Visual Basic debido a que es el lenguaje que
mucha gente usa y que "estan empezando a ver la luz", me parece
fantastico. Pero ya que estan empezando a ver la luz, entonces que la
vean bien y que no se queden solo con haber cambiado Access con
Postgres, sino que ademas se den cuenta que el lenguaje que han venido
usando durante años es realmente todo lo penca que ellos siempre han
sabido pero nunca se atrevieron a sugerir porque "es que Microsoft lo
hizo asi que tiene que ser bueno". Si se estan independizando de
Microsoft y vienen aca a aprender, hey, que aprendan :-) Nadie dijo que
el aprendizaje era indoloro.
Daniel Medina
2007-03-14 16:06:57 UTC
Permalink
Hola a todos

Pregunta

tengo instalado postgres en el la carpeta /usr/local/pgsql/ , tengo
errores en las tablas de postgres y no me deja hacer backup, he
intentado modificar las tablas por medio de una conexion stand alone y
nada...

puedo instalar postgres en otra carpeta , por ejempo /opt/postgres e
iniciar el servicio direcionando la carpeta de la base ya creada por la
otra instalación ???

al instalar postgres en otra carpeta puedo dañar las instalacion
anterior ???????


Gracias por su ayuda.....
Daniel Medina
2007-03-14 16:07:39 UTC
Permalink
Post by Daniel Medina
Hola a todos
Pregunta
tengo instalado postgres en el la carpeta /usr/local/pgsql/ , tengo
errores en las tablas de postgres y no me deja hacer backup, he
intentado modificar las tablas por medio de una conexion stand alone y
nada...
puedo instalar postgres en otra carpeta , por ejempo /opt/postgres e
iniciar el servicio direcionando la carpeta de la base ya creada por
la otra instalación ???
al instalar postgres en otra carpeta puedo dañar las instalacion
anterior ???????
Gracias por su ayuda.....
Mario
2007-03-14 16:26:15 UTC
Permalink
Post by Daniel Medina
tengo instalado postgres en el la carpeta /usr/local/pgsql/ , tengo
errores en las tablas de postgres y no me deja hacer backup, he
intentado modificar las tablas por medio de una conexion stand alone y
nada...
Que tiene que ver esto con "Simbolos dentro de cadenas"?
--
http://www.advogato.org/person/mgonzalez/
Gabriel Colina
2007-03-14 18:58:41 UTC
Permalink
Post by Miguel Bernilla Sánchez
select Foo from Bar
into :var_foo
where Col1 = :variable
and Col2 = :otra_variable;
así de limpio... (Grrrrrr, maldito Visual Basic...).
Y si hablamos de los maravillosos datawindows de
Power Builder,,,
mejor la corto ahí, eh...
Que hayas fracasado con Visual no descalifica el
Lenguaje necesariamente.

Yo propuse tres fromas de resolver esto y dos
comunicaban a una funcion de PostgreSQL y critique
hacerlo desde el codigo de Visual Basic.

Pero se ve que antes de leer, se critica, eso es una
mala praxis, mira si hicieramos lo mismo yo, antes de
leer el manual de Perl y adquirir experiencia, me
pusiera a criticarlo.

Henry por ejemplo opina igual en cuanto a no usar el
codigo. Visual permite hacer sin codificar tanto.

Atte.
Gabriel Colina




__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Espartano
2007-03-14 19:11:13 UTC
Permalink
Post by Gabriel Colina
Post by Miguel Bernilla Sánchez
select Foo from Bar
into :var_foo
where Col1 = :variable
and Col2 = :otra_variable;
así de limpio... (Grrrrrr, maldito Visual Basic...).
Y si hablamos de los maravillosos datawindows de
Power Builder,,,
mejor la corto ahí, eh...
Que hayas fracasado con Visual no descalifica el
Lenguaje necesariamente.
Yo propuse tres fromas de resolver esto y dos
comunicaban a una funcion de PostgreSQL y critique
hacerlo desde el codigo de Visual Basic.
Gabriel no es que se valla en contra de algo, ni que se critique antes
de leer, es que simplemente hay cosas que son malas por su propia
naturaleza, y muy a menudo todo lo que comiensa con la palabra visual
generalmente es malo, oculta muchas cosas al desarrollador, hace cosas
extrañas, no tienes codigo puro, no todo esta bajo tu control y pues
generalmente las personas mas experimentadas en el desarrollo con
tecnologias libres saben de esto, es por eso que los "visual algo" no
son tan bien vistos por estos lares, cuando tomas y haces uso (buen
uso) de tecnologias libres las cosas se buelven tremendamente logicas,
sencillas y transparentes, nada de ado nose que ni odbc, ni cosas asi
medio raras y no muy bien documentadas, en general creo que es mas
facil desarrollar con tecnologias libres que con tecnologias cerradas.
Post by Gabriel Colina
Pero se ve que antes de leer, se critica, eso es una
mala praxis, mira si hicieramos lo mismo yo, antes de
leer el manual de Perl y adquirir experiencia, me
pusiera a criticarlo.
Henry por ejemplo opina igual en cuanto a no usar el
codigo. Visual permite hacer sin codificar tanto.
Atte.
Gabriel Colina
--
"Linux is for people who hate Windows, BSD is for people who love UNIX".
"Social Engineer -> Because there is no patch for human stupidity"
"The Unix Guru's View of Sex unzip ; strip ; touch ; grep ; finger ;
mount ; fsck ; more ; yes ; umount ; sleep."
"Documentation is like sex: when it is good, it is very, very good;
and when it is bad, it is better than nothing."
Gabriel Colina
2007-03-14 19:15:52 UTC
Permalink
Post by Miguel Bernilla Sánchez
Post by Gabriel Colina
Post by Miguel Bernilla Sánchez
select Foo from Bar
into :var_foo
where Col1 = :variable
and Col2 = :otra_variable;
así de limpio... (Grrrrrr, maldito Visual
Basic...).
Post by Gabriel Colina
Post by Miguel Bernilla Sánchez
Y si hablamos de los maravillosos datawindows de
Power Builder,,,
mejor la corto ahí, eh...
Que hayas fracasado con Visual no descalifica el
Lenguaje necesariamente.
Yo propuse tres fromas de resolver esto y dos
comunicaban a una funcion de PostgreSQL y critique
hacerlo desde el codigo de Visual Basic.
Gabriel no es que se valla en contra de algo, ni que
se critique antes
de leer, es que simplemente hay cosas que son malas
por su propia
naturaleza, y muy a menudo todo lo que comiensa con
la palabra visual
generalmente es malo, oculta muchas cosas al
desarrollador, hace cosas
extrañas, no tienes codigo puro, no todo esta bajo
tu control y pues
generalmente las personas mas experimentadas en el
desarrollo con
El codigo es Basic y si te fijas en las api estudiando
wosa y ademas si te fijas en los frm con el block de
notas o desde el edit obtenes el codigo que se va a
compilar y lo podes retocar.
Post by Miguel Bernilla Sánchez
tecnologias libres saben de esto, es por eso que los
"visual algo" no
son tan bien vistos por estos lares, cuando tomas y
haces uso (buen
uso) de tecnologias libres las cosas se buelven
tremendamente logicas,
sencillas y transparentes, nada de ado nose que ni
odbc, ni cosas asi
medio raras y no muy bien documentadas, en general
creo que es mas
facil desarrollar con tecnologias libres que con
tecnologias cerradas.
Post by Gabriel Colina
Pero se ve que antes de leer, se critica, eso es
una
Post by Gabriel Colina
mala praxis, mira si hicieramos lo mismo yo, antes
de
Post by Gabriel Colina
leer el manual de Perl y adquirir experiencia, me
pusiera a criticarlo.
Henry por ejemplo opina igual en cuanto a no usar
el
Post by Gabriel Colina
codigo. Visual permite hacer sin codificar tanto.
Atte.
Gabriel Colina
--
"Linux is for people who hate Windows, BSD is for
people who love UNIX".
"Social Engineer -> Because there is no patch for
human stupidity"
"The Unix Guru's View of Sex unzip ; strip ; touch ;
grep ; finger ;
mount ; fsck ; more ; yes ; umount ; sleep."
"Documentation is like sex: when it is good, it is
very, very good;
and when it is bad, it is better than nothing."
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Gabriel Colina
2007-03-15 05:22:45 UTC
Permalink
Post by Miguel Bernilla Sánchez
Post by Gabriel Colina
Post by Miguel Bernilla Sánchez
select Foo from Bar
into :var_foo
where Col1 = :variable
and Col2 = :otra_variable;
así de limpio... (Grrrrrr, maldito Visual
Basic...).
Post by Gabriel Colina
Post by Miguel Bernilla Sánchez
Y si hablamos de los maravillosos datawindows de
Power Builder,,,
mejor la corto ahí, eh...
Que hayas fracasado con Visual no descalifica el
Lenguaje necesariamente.
Yo propuse tres fromas de resolver esto y dos
comunicaban a una funcion de PostgreSQL y critique
hacerlo desde el codigo de Visual Basic.
Gabriel no es que se valla en contra de algo, ni que
se critique antes
de leer, es que simplemente hay cosas que son malas
por su propia
naturaleza, y muy a menudo todo lo que comiensa con
la palabra visual
generalmente es malo, oculta muchas cosas al
desarrollador, hace cosas
extrañas, no tienes codigo puro, no todo esta bajo
tu control y pues
generalmente las personas mas experimentadas en el
desarrollo con
tecnologias libres saben de esto, es por eso que los
"visual algo" no
son tan bien vistos por estos lares, cuando tomas y
haces uso (buen
uso) de tecnologias libres las cosas se buelven
tremendamente logicas,
sencillas y transparentes, nada de ado nose que ni
odbc, ni cosas asi
medio raras y no muy bien documentadas, en general
creo que es mas
facil desarrollar con tecnologias libres que con
tecnologias cerradas.
Bueno aca solo te voy a discutir un punto, lo de mal
documentada en eso nos ganan de aqui a la china.

Y para muestra basta un boton y es la muestra de lo
que quisiera lograr para postgresql-latam.

No me tiren piedras por no ocultar esto.

Pero miren este articulo documentado en la MSDN de
microsoft lo que opinan de Linux.
Y tienen sus fundamentos que me gustaria que Gunnar
los discutiera.

Nos salvamos nosotros por que de postgresql en el
punto servidores hablan muy bien. Salvo precisamente
por la documentacion.

Si te atreves a mirar el resto, sabras que estan muy
bien documentodos y han estudiado profesionalmente, no
son improvisados.

leete esto.
http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art184.asp

Ahora eso si no lo creas aunque parezca convincente,
solo esta muy bien planteado.

Y hablan de QNX muy bien.

Atte. Gabriel Colina
=

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Edwin Perez Lozano
2007-03-15 12:55:56 UTC
Permalink
Post by Gabriel Colina
Post by Miguel Bernilla Sánchez
Post by Gabriel Colina
Post by Miguel Bernilla Sánchez
select Foo from Bar
into :var_foo
where Col1 = :variable
and Col2 = :otra_variable;
así de limpio... (Grrrrrr, maldito Visual
Basic...).
Post by Gabriel Colina
Post by Miguel Bernilla Sánchez
Y si hablamos de los maravillosos datawindows de
Power Builder,,,
mejor la corto ahí, eh...
Que hayas fracasado con Visual no descalifica el
Lenguaje necesariamente.
Yo propuse tres fromas de resolver esto y dos
comunicaban a una funcion de PostgreSQL y critique
hacerlo desde el codigo de Visual Basic.
Gabriel no es que se valla en contra de algo, ni que
se critique antes
de leer, es que simplemente hay cosas que son malas
por su propia
naturaleza, y muy a menudo todo lo que comiensa con
la palabra visual
generalmente es malo, oculta muchas cosas al
desarrollador, hace cosas
extrañas, no tienes codigo puro, no todo esta bajo
tu control y pues
generalmente las personas mas experimentadas en el
desarrollo con
tecnologias libres saben de esto, es por eso que los
"visual algo" no
son tan bien vistos por estos lares, cuando tomas y
haces uso (buen
uso) de tecnologias libres las cosas se buelven
tremendamente logicas,
sencillas y transparentes, nada de ado nose que ni
odbc, ni cosas asi
medio raras y no muy bien documentadas, en general
creo que es mas
facil desarrollar con tecnologias libres que con
tecnologias cerradas.
Bueno aca solo te voy a discutir un punto, lo de mal
documentada en eso nos ganan de aqui a la china.
Y para muestra basta un boton y es la muestra de lo
que quisiera lograr para postgresql-latam.
No me tiren piedras por no ocultar esto.
Pero miren este articulo documentado en la MSDN de
microsoft lo que opinan de Linux.
Y tienen sus fundamentos que me gustaria que Gunnar
los discutiera.
Nos salvamos nosotros por que de postgresql en el
punto servidores hablan muy bien. Salvo precisamente
por la documentacion.
Si te atreves a mirar el resto, sabras que estan muy
bien documentodos y han estudiado profesionalmente, no
son improvisados.
leete esto.
http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art184.asp
Hola gabriel.. aunque lo que te digo es un offtopic al hilo original (y
disculpas a la lista) es sabido que el link que indicas armo un revuelo
en toda la red ... dado que las comparacion que realizaron son
imprecisa, que solo deja ver la ignorancia de quien realizo el articulo
Post by Gabriel Colina
Ahora eso si no lo creas aunque parezca convincente,
solo esta muy bien planteado.
Y hablan de QNX muy bien.
Atte. Gabriel Colina
=
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
---------------------------(fin del mensaje)---------------------------
TIP 10: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
Espartano
2007-03-15 17:28:05 UTC
Permalink
Yo lo que digo que para hacer criticas hay que
hacerlas confundamentos validos y ese articulo tiene
medias verdades.
Ademas comentaba sobre la critica a la mala
documentacion, quiza venga por la mala calidad global,
pero no me digas que no han documentado mejor lo que
quisieron documentar, que lo que hemos documentado
nosotros en nuestro lenguaje.
La Technet y el MSDN son muy facil y amigables de usar
para encontrar informacion tecnica.
Y tambien de este lado veo que muchos argumentan de
forma imprecisa cuando atacan al otro lado, entonces
invalidan la critica real que se merese Microsoft.
Atte.
Gabriel Colina
Gabriel no termine de leer el documento, falta de tiempo, pero mira
compara la documentacion que me pasaste con esta:

http://www.postgresql.org/docs/8.2/interactive/index.html

o con esta y esta:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/
http://www.openbsd.org/faq/pf/

la verdad es que las de "este lado" estan vastante mejor, no se de las
demas pero la documentacion de FreeBSD incluso a resivido premios de
calidad, tal vez no sea tanto la mala fama global, sino que en
comparacion de la documentacion de otros lados la de microsoft deja
mucho que desear, pero pues igual para la gente que no ha visto otra
documentacion que la de microsoft se les hara fantastica.

Todo esto sin contar las paguinas man que casi todos los proyectos incluyen.
Yo no use el "lado oscuro" yo conoci su interna.
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
--
"Linux is for people who hate Windows, BSD is for people who love UNIX".
"Social Engineer -> Because there is no patch for human stupidity"
"The Unix Guru's View of Sex unzip ; strip ; touch ; grep ; finger ;
mount ; fsck ; more ; yes ; umount ; sleep."
"Documentation is like sex: when it is good, it is very, very good;
and when it is bad, it is better than nothing."
Edwin Perez Lozano
2007-03-15 13:01:12 UTC
Permalink
Post by Gabriel Colina
Post by Miguel Bernilla Sánchez
Post by Gabriel Colina
Post by Miguel Bernilla Sánchez
select Foo from Bar
into :var_foo
where Col1 = :variable
and Col2 = :otra_variable;
así de limpio... (Grrrrrr, maldito Visual
Basic...).
Post by Gabriel Colina
Post by Miguel Bernilla Sánchez
Y si hablamos de los maravillosos datawindows de
Power Builder,,,
mejor la corto ahí, eh...
Que hayas fracasado con Visual no descalifica el
Lenguaje necesariamente.
Yo propuse tres fromas de resolver esto y dos
comunicaban a una funcion de PostgreSQL y critique
hacerlo desde el codigo de Visual Basic.
Gabriel no es que se valla en contra de algo, ni que
se critique antes
de leer, es que simplemente hay cosas que son malas
por su propia
naturaleza, y muy a menudo todo lo que comiensa con
la palabra visual
generalmente es malo, oculta muchas cosas al
desarrollador, hace cosas
extrañas, no tienes codigo puro, no todo esta bajo
tu control y pues
generalmente las personas mas experimentadas en el
desarrollo con
tecnologias libres saben de esto, es por eso que los
"visual algo" no
son tan bien vistos por estos lares, cuando tomas y
haces uso (buen
uso) de tecnologias libres las cosas se buelven
tremendamente logicas,
sencillas y transparentes, nada de ado nose que ni
odbc, ni cosas asi
medio raras y no muy bien documentadas, en general
creo que es mas
facil desarrollar con tecnologias libres que con
tecnologias cerradas.
Bueno aca solo te voy a discutir un punto, lo de mal
documentada en eso nos ganan de aqui a la china.
Y para muestra basta un boton y es la muestra de lo
que quisiera lograr para postgresql-latam.
No me tiren piedras por no ocultar esto.
Pero miren este articulo documentado en la MSDN de
microsoft lo que opinan de Linux.
Y tienen sus fundamentos que me gustaria que Gunnar
los discutiera.
Nos salvamos nosotros por que de postgresql en el
punto servidores hablan muy bien. Salvo precisamente
por la documentacion.
Si te atreves a mirar el resto, sabras que estan muy
bien documentodos y han estudiado profesionalmente, no
son improvisados.
leete esto.
http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art184.asp
por problemas en el mis manos con el teclado (dedos chatos) no envie
incompleto el mail.. asi que anexo las urls

Hola gabriel.. aunque lo que te digo es un offtopic al hilo original (y
disculpas a la lista) es sabido que el link que indicas armo un revuelo
en toda la red ... dado que las comparacion que realizaron son
imprecisa, que solo deja ver la ignorancia de quien realizo el articulo
sobre linux, si deseas mas informacion :

http://barrapunto.com/articles/04/09/06/1530206.shtml
http://www.bitperbit.com/2006/microsoft/windows-vs-linux-mitos-y-realidades/
http://www.portalfox.com/index.php?name=News&file=article&sid=1459&mode=nested&order=0&thold=0
Post by Gabriel Colina
Ahora eso si no lo creas aunque parezca convincente,
solo esta muy bien planteado.
Y hablan de QNX muy bien.
Atte. Gabriel Colina
=
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
---------------------------(fin del mensaje)---------------------------
TIP 10: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
Ricardo Martin Gomez
2007-03-15 15:00:05 UTC
Permalink
Subject: Re: Re[2]: [pgsql-es-ayuda] Simbolos dentro de cadenas
Date: Thu, 15 Mar 2007 00:22:45 -0500 (CDT)
Post by Miguel Bernilla Sánchez
Post by Gabriel Colina
Post by Miguel Bernilla Sánchez
select Foo from Bar
into :var_foo
where Col1 = :variable
and Col2 = :otra_variable;
así de limpio... (Grrrrrr, maldito Visual
Basic...).
Post by Gabriel Colina
Post by Miguel Bernilla Sánchez
Y si hablamos de los maravillosos datawindows de
Power Builder,,,
mejor la corto ahí, eh...
Que hayas fracasado con Visual no descalifica el
Lenguaje necesariamente.
Yo propuse tres fromas de resolver esto y dos
comunicaban a una funcion de PostgreSQL y critique
hacerlo desde el codigo de Visual Basic.
Gabriel no es que se valla en contra de algo, ni que
se critique antes
de leer, es que simplemente hay cosas que son malas
por su propia
naturaleza, y muy a menudo todo lo que comiensa con
la palabra visual
generalmente es malo, oculta muchas cosas al
desarrollador, hace cosas
extrañas, no tienes codigo puro, no todo esta bajo
tu control y pues
generalmente las personas mas experimentadas en el
desarrollo con
tecnologias libres saben de esto, es por eso que los
"visual algo" no
son tan bien vistos por estos lares, cuando tomas y
haces uso (buen
uso) de tecnologias libres las cosas se buelven
tremendamente logicas,
sencillas y transparentes, nada de ado nose que ni
odbc, ni cosas asi
medio raras y no muy bien documentadas, en general
creo que es mas
facil desarrollar con tecnologias libres que con
tecnologias cerradas.
Bueno aca solo te voy a discutir un punto, lo de mal
documentada en eso nos ganan de aqui a la china.
Y para muestra basta un boton y es la muestra de lo
que quisiera lograr para postgresql-latam.
No me tiren piedras por no ocultar esto.
Pero miren este articulo documentado en la MSDN de
microsoft lo que opinan de Linux.
Y tienen sus fundamentos que me gustaria que Gunnar
los discutiera.
Nos salvamos nosotros por que de postgresql en el
punto servidores hablan muy bien. Salvo precisamente
por la documentacion.
Si te atreves a mirar el resto, sabras que estan muy
bien documentodos y han estudiado profesionalmente, no
son improvisados.
leete esto.
http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art184.asp
Personalmente acabo de leer esta pagina y dejame decirte que creer que
alguien pago por M$ hable bien de *nix es demasiado irreal. Ademas muchas de
las cosas que dice ahi estan sacadas de una comunidad de estudiantes los
cuales siempre quieren las cosas facil y siempre van a preferir la
configuracion visual a la configuracion en linea de comandos que ciertamente
es mucho mas efectiva y corta, ademas de saber lo que realmente estas
haciendo.
Ojo, quiero aclarar una cosa. "toda mi vida" use productos de M$ y solo hace
3 o 4 meses que uso algunos *nix. En mi puesto laboral estoy encargado de la
configuracion de servidores entre otras cosas y los *nix me parecen mejor y
mas efectivos.
Ahora eso si no lo creas aunque parezca convincente,
solo esta muy bien planteado.
Y hablan de QNX muy bien.
Atte. Gabriel Colina
=
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
---------------------------(fin del mensaje)---------------------------
TIP 10: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
_________________________________________________________________
Descubre la descarga digital con MSN Music. Más de un millón de canciones.
http://music.msn.es/
Gabriel Colina
2007-03-15 18:21:17 UTC
Permalink
Post by Gabriel Colina
Post by Gabriel Colina
Si te atreves a mirar el resto, sabras que estan
muy
Post by Gabriel Colina
bien documentodos y han estudiado profesionalmente,
no
Post by Gabriel Colina
son improvisados.
leete esto.
http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art184.asp
Personalmente acabo de leer esta pagina y dejame
decirte que creer que
alguien pago por M$ hable bien de *nix es demasiado
irreal. Ademas muchas de
las cosas que dice ahi estan sacadas de una
comunidad de estudiantes los
cuales siempre quieren las cosas facil y siempre van
a preferir la
configuracion visual a la configuracion en linea de
comandos que ciertamente
es mucho mas efectiva y corta, ademas de saber lo
que realmente estas
haciendo.
Ojo, quiero aclarar una cosa. "toda mi vida" use
productos de M$ y solo hace
3 o 4 meses que uso algunos *nix. En mi puesto
laboral estoy encargado de la
configuracion de servidores entre otras cosas y los
*nix me parecen mejor y
mas efectivos.
No dudo lo que planteas.
Por eso dije que no lo creyeran. por que lo unico que
queria mostrarles era la fomra facil de buscar en el
MSDN y el TECHNET, puesto que quiero lograr algo
parecido para que postgersql tenga una pagina
orientada a resolver cosas con los lenguajes a los
cuales este sirve.
Y alguien dijo que en M$ no tenian buena
documentacion.
No tendran buenas herramientas, pero en que pagina hay
mas codigo de horrores documentados que en la de M$
Se entiende ?

Atte. Gabriel Colina


__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Miguel Bernilla Sánchez
2007-03-15 18:27:45 UTC
Permalink
Hay forma de visualizar sólo un correo de cada 10 de los que envia
este señor... jejejejejej....


============
Post by Gabriel Colina
Post by Gabriel Colina
Post by Gabriel Colina
Si te atreves a mirar el resto, sabras que estan
muy
Post by Gabriel Colina
bien documentodos y han estudiado profesionalmente,
no
Post by Gabriel Colina
son improvisados.
leete esto.
http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art184.asp
Personalmente acabo de leer esta pagina y dejame
decirte que creer que
alguien pago por M$ hable bien de *nix es demasiado
irreal. Ademas muchas de
las cosas que dice ahi estan sacadas de una
comunidad de estudiantes los
cuales siempre quieren las cosas facil y siempre van
a preferir la
configuracion visual a la configuracion en linea de
comandos que ciertamente
es mucho mas efectiva y corta, ademas de saber lo
que realmente estas
haciendo.
Ojo, quiero aclarar una cosa. "toda mi vida" use
productos de M$ y solo hace
3 o 4 meses que uso algunos *nix. En mi puesto
laboral estoy encargado de la
configuracion de servidores entre otras cosas y los
*nix me parecen mejor y
mas efectivos.
No dudo lo que planteas.
Por eso dije que no lo creyeran. por que lo unico que
queria mostrarles era la fomra facil de buscar en el
MSDN y el TECHNET, puesto que quiero lograr algo
parecido para que postgersql tenga una pagina
orientada a resolver cosas con los lenguajes a los
cuales este sirve.
Y alguien dijo que en M$ no tenian buena
documentacion.
No tendran buenas herramientas, pero en que pagina hay
mas codigo de horrores documentados que en la de M$
Se entiende ?
Atte. Gabriel Colina
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Gabriel Colina
2007-03-15 18:35:13 UTC
Permalink
Post by Miguel Bernilla Sánchez
Hay forma de visualizar sólo un correo de cada 10 de
los que envia
este señor... jejejejejej....
Ponete lentes jejejeje.
Post by Miguel Bernilla Sánchez
============
Con fecha Jueves, 15 de Marzo de 2007, 01:21:17
Post by Gabriel Colina
Post by Ricardo Martin Gomez
Post by Gabriel Colina
Si te atreves a mirar el resto, sabras que estan
muy
Post by Gabriel Colina
bien documentodos y han estudiado
profesionalmente,
Post by Gabriel Colina
Post by Ricardo Martin Gomez
no
Post by Gabriel Colina
son improvisados.
leete esto.
http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art184.asp
Post by Ricardo Martin Gomez
Personalmente acabo de leer esta pagina y dejame
decirte que creer que
alguien pago por M$ hable bien de *nix es
demasiado
Post by Gabriel Colina
Post by Ricardo Martin Gomez
irreal. Ademas muchas de
las cosas que dice ahi estan sacadas de una
comunidad de estudiantes los
cuales siempre quieren las cosas facil y siempre
van
Post by Gabriel Colina
Post by Ricardo Martin Gomez
a preferir la
configuracion visual a la configuracion en linea
de
Post by Gabriel Colina
Post by Ricardo Martin Gomez
comandos que ciertamente
es mucho mas efectiva y corta, ademas de saber lo
que realmente estas
haciendo.
Ojo, quiero aclarar una cosa. "toda mi vida" use
productos de M$ y solo hace
3 o 4 meses que uso algunos *nix. En mi puesto
laboral estoy encargado de la
configuracion de servidores entre otras cosas y
los
Post by Gabriel Colina
Post by Ricardo Martin Gomez
*nix me parecen mejor y
mas efectivos.
No dudo lo que planteas.
Por eso dije que no lo creyeran. por que lo unico
que
Post by Gabriel Colina
queria mostrarles era la fomra facil de buscar en
el
Post by Gabriel Colina
MSDN y el TECHNET, puesto que quiero lograr algo
parecido para que postgersql tenga una pagina
orientada a resolver cosas con los lenguajes a los
cuales este sirve.
Y alguien dijo que en M$ no tenian buena
documentacion.
No tendran buenas herramientas, pero en que pagina
hay
Post by Gabriel Colina
mas codigo de horrores documentados que en la de
M$
Post by Gabriel Colina
Se entiende ?
Atte. Gabriel Colina
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y
antispam ¡gratis!
Post by Gabriel Colina
Regístrate ya - http://correo.espanol.yahoo.com/
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Alvaro Herrera
2007-03-15 18:41:16 UTC
Permalink
Post by Gabriel Colina
Por eso dije que no lo creyeran. por que lo unico que
queria mostrarles era la fomra facil de buscar en el
MSDN y el TECHNET, puesto que quiero lograr algo
parecido para que postgersql tenga una pagina
orientada a resolver cosas con los lenguajes a los
cuales este sirve.
Buscar? Anda a http://search.postgresql.org/

Powered by PostgreSQL + tsearch2
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Gabriel Colina
2007-03-15 19:59:15 UTC
Permalink
Post by Alvaro Herrera
Post by Gabriel Colina
Por eso dije que no lo creyeran. por que lo unico
que
Post by Gabriel Colina
queria mostrarles era la fomra facil de buscar en
el
Post by Gabriel Colina
MSDN y el TECHNET, puesto que quiero lograr algo
parecido para que postgersql tenga una pagina
orientada a resolver cosas con los lenguajes a los
cuales este sirve.
Buscar? Anda a http://search.postgresql.org/
Powered by PostgreSQL + tsearch2
La verdas que si no sera tan vistosa pero admito que
es mas efciente.

Y eso es mas importante.

Pero ahora bien, de manera apurada, hice solo una
prueba y me gusto aunque solo encontre muchos
articulos para primary key y ninguno para clave
primaria.

Lo que con esto saco dos concluciones,

La primera es dandote la razon en que nos hace falta
documentacion en castellano y no nuevos proyectos que
dupliquen lo que hay.

Si queres anda tirandome ideas por donde empezar e
intento traducirlas en vim y luego te las mando para
que tu las publiques ahi.

La segunda es por que me falta informacion o no hay
algo orientado a los lenguajes que se sirven de
postgresql.

Y yo en la Technet tengo eso, puedo preguntar un tema
vinculado a una o varias herramientas en un tipo
determinado de ambiete.

Esto es lo que propuse para hacer en postgresql-latam.

Gracias por la informacion y voy a visitar seguido ese
serch.

Despues tengo que molestarte por lo de la contrib
crosstabn que te hable.

Lo hago a la lista o personal ?

Atte.
Gabriel Colina
Post by Alvaro Herrera
--
Alvaro Herrera
http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom
Development, 24x7 support
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Alvaro Herrera
2007-03-15 20:12:45 UTC
Permalink
Post by Gabriel Colina
Si queres anda tirandome ideas por donde empezar e
intento traducirlas en vim y luego te las mando para
que tu las publiques ahi.
Una idea productiva seria que le ayudaras a Mario Gonzalez con el
webtranslator. Mira en http://l10n.postgresql.cl/

Lo que se necesita es un poco mas de tiempo de desarrollador para
arreglar algunos detallitos con el codigo y algunos problemas de
usabilidad.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
Gabriel Colina
2007-03-15 20:18:39 UTC
Permalink
Post by Alvaro Herrera
Post by Gabriel Colina
Si queres anda tirandome ideas por donde empezar e
intento traducirlas en vim y luego te las mando
para
Post by Gabriel Colina
que tu las publiques ahi.
Una idea productiva seria que le ayudaras a Mario
Gonzalez con el
webtranslator. Mira en http://l10n.postgresql.cl/
Lo que se necesita es un poco mas de tiempo de
desarrollador para
arreglar algunos detallitos con el codigo y algunos
problemas de
usabilidad.
--
Alvaro Herrera
http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
No se en que codigo, pero podria estudiarlo y asi
aprendo mientras aporto.
Como me contacto. ?
Atte.
Gabriel Colina



__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Mario
2007-03-15 20:22:25 UTC
Permalink
Post by Gabriel Colina
No se en que codigo, pero podria estudiarlo y asi
python (Django Framework)
Post by Gabriel Colina
aprendo mientras aporto.
Como me contacto. ?
Hola! :-)
--
http://www.advogato.org/person/mgonzalez/
Mario
2007-03-15 20:19:11 UTC
Permalink
Post by Alvaro Herrera
Una idea productiva seria que le ayudaras a Mario Gonzalez con el
webtranslator. Mira en http://l10n.postgresql.cl/
Lo que se necesita es un poco mas de tiempo de desarrollador para
arreglar algunos detallitos con el codigo y algunos problemas de
usabilidad.
_un_ problema de usabilidad :-) so far...
--
http://www.advogato.org/person/mgonzalez/
Gabriel Colina
2007-03-15 20:30:58 UTC
Permalink
Post by Alvaro Herrera
Post by Gabriel Colina
Si queres anda tirandome ideas por donde empezar e
intento traducirlas en vim y luego te las mando
para
Post by Gabriel Colina
que tu las publiques ahi.
Una idea productiva seria que le ayudaras a Mario
Gonzalez con el
webtranslator. Mira en http://l10n.postgresql.cl/
Lo que se necesita es un poco mas de tiempo de
desarrollador para
arreglar algunos detallitos con el codigo y algunos
problemas de
usabilidad.
--
Alvaro Herrera
http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
Me gusto la idea, necesito tiempo para interiorisarme
con phyton, pero como el problema comercial mio lo
tengo resuelto con algo que domino, me gusta la idea
de trabajar en algo que se llame phyton o cualquer
herramienta que corra en linux en los ratos libres.
Y si con ello ademas aporto, adelante.

Todavia me queda un tema contigo Alvaro, disculpame,
pero me interesaria saber si visitarias mi paisito, si
podemos invocarte para dar charlas por aca.

Un abrazo.
Atte.
Gabriel Colina.

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Edwin Quijada
2007-03-15 16:29:13 UTC
Permalink
Post by Gabriel Colina
leete esto.
http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art184.asp
Este articulo se discutio hace mucho no solo aca sino tambien en diferentes
listas de linux y ya sabras lo que paso. Solo con este comentario:

PostGRESQL: Un interesante proyecto de Berkeley, es una base que evidencia
cierto tipo de investigación avanzada en RDBMS. Bastante más poderosa que
MySQL, soporta subconsultas y procedimientos almacenados, y tipos de datos
complejos como estructuras geométricas espaciales, datos del tipo
"direcciones IP" y matrices en una sola celda de una tabla. Sin embargo,
carece de potencia en replicación, distribución, OLAP, warehousing, etc.,
temas que son de amplio dominio de las RDBMS comerciales. No tiene toda la
documentación completamente traducida. Tampoco tiene servicios avanzados de
desfragmentación ni reordenado, y en cierto modo se parece a Visual FoxPro
en el manejo de las tablas y los índices, se percibe como una base de datos
de escritorio a la que le han colocado una interfaz cliente-servidor.

Le puede dar credito a un tipo que dice eso de Postgres.?
No lo creo.

Ese articulo solo es basura
Post by Gabriel Colina
Ahora eso si no lo creas aunque parezca convincente,
solo esta muy bien planteado.
Y hablan de QNX muy bien.
Atte. Gabriel Colina
=
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
---------------------------(fin del mensaje)---------------------------
TIP 10: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
_________________________________________________________________
De todo para la Mujer Latina http://latino.msn.com/mujer/
Gabriel Colina
2007-03-15 18:33:30 UTC
Permalink
Post by Gabriel Colina
Post by Gabriel Colina
leete esto.
http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art184.asp
Este articulo se discutio hace mucho no solo aca
sino tambien en diferentes
listas de linux y ya sabras lo que paso. Solo con
PostGRESQL: Un interesante proyecto de Berkeley, es
una base que evidencia
cierto tipo de investigación avanzada en RDBMS.
Bastante más poderosa que
MySQL, soporta subconsultas y procedimientos
almacenados, y tipos de datos
complejos como estructuras geométricas espaciales,
datos del tipo
"direcciones IP" y matrices en una sola celda de una
tabla. Sin embargo,
carece de potencia en replicación, distribución,
OLAP, warehousing, etc.,
temas que son de amplio dominio de las RDBMS
comerciales. No tiene toda la
documentación completamente traducida. Tampoco tiene
servicios avanzados de
desfragmentación ni reordenado, y en cierto modo se
parece a Visual FoxPro
en el manejo de las tablas y los índices, se percibe
como una base de datos
de escritorio a la que le han colocado una interfaz
cliente-servidor.
Le puede dar credito a un tipo que dice eso de
Postgres.?
No lo creo.
Ese articulo solo es basura
Post by Gabriel Colina
Ahora eso si no lo creas aunque parezca
convincente,
Post by Gabriel Colina
solo esta muy bien planteado.
Y hablan de QNX muy bien.
Atte. Gabriel Colina
=
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y
antispam ¡gratis!
Post by Gabriel Colina
Regístrate ya - http://correo.espanol.yahoo.com/
---------------------------(fin del
mensaje)---------------------------
Post by Gabriel Colina
TIP 10: visita nuestro canal de IRC #postgresql-es
en irc.freenode.net
_________________________________________________________________
Post by Gabriel Colina
De todo para la Mujer Latina
http://latino.msn.com/mujer/
Si Edwin y pongo yo que no lo crean, solo mostraba que
tienen MSDN y TECHNET y que no es cierto que no
documentan, cuanto horro hay documentado ahi.
Pero es facil de buscar y orientan mucho a quienes
usando lenguajes usan M$.

Atte
Gabriel Colina

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Miguel Bernilla Sánchez
2007-03-14 19:15:40 UTC
Permalink
============
Post by Gabriel Colina
Post by Miguel Bernilla Sánchez
select Foo from Bar
into :var_foo
where Col1 = :variable
and Col2 = :otra_variable;
así de limpio... (Grrrrrr, maldito Visual Basic...).
Y si hablamos de los maravillosos datawindows de
Power Builder,,,
mejor la corto ahí, eh...
Que hayas fracasado con Visual no descalifica el
Lenguaje necesariamente.
Y quien dice que he fracasaso... a pesar de las deficiencias del
lenguaje, esa empresa tiene en perfecto funcionamiento los sistemas de
Facturación y Cuentas Corrientes, Almacén y Contabilidad que en su
momento desarrollé.
Nunca dije que no se pueda hacer, sino que era mas "torpe" frente a
otros lenguajes en la que son mucho mas manejables los temas de
manipulación de datos.
En todo caso, era un simple punto de vista y lo hice sin ánimos de
ofender a los que usan Visual Basic...
Post by Gabriel Colina
Yo propuse tres fromas de resolver esto y dos
comunicaban a una funcion de PostgreSQL y critique
hacerlo desde el codigo de Visual Basic.
Pero se ve que antes de leer, se critica, eso es una
mala praxis, mira si hicieramos lo mismo yo, antes de
leer el manual de Perl y adquirir experiencia, me
pusiera a criticarlo.
Henry por ejemplo opina igual en cuanto a no usar el
codigo. Visual permite hacer sin codificar tanto.
Atte.
Gabriel Colina
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Gabriel Colina
2007-03-14 17:05:59 UTC
Permalink
Post by Gabriel Colina
o acaso para calificarlo asi, hiciste la carrera
de Developer y te
certificaste ????.
No, hice una capacitacion (un curso de como 10
horas, siendo yo el unico
adolescente en medio de una manga de profesionales
trasnochados) hace
como 14 años y el lenguaje era igual de
horripilante. La diferencia es
que en ese tiempo no tenia idea de nada y no me
parecio tan malo, pero
ahora que tengo mas experiencia me queda mas que
clara la calidad
deficiente.
Si es verdad eso, pero lo hace el como lo manejan.
Post by Gabriel Colina
Hace pocos años tuve que hacer un proyecto para un
curso en la
universidad, trabajando en grupo con varios
compañeros, alumnos de
ultimo año de la carrera, que eran mas
experimentados que yo en VB (en
ese tiempo yo ya sabia programar en Perl y otros), y
aun echando mano a
esa experiencia que ellos tenian, tuvimos que
recurrir a los trucos
horribles para hacer que el lenguaje funcionara.
No se que trucos horribles. yo ya mostre codigo
funcional y facil de mantener.
Post by Gabriel Colina
Gabriel, si la unica forma de construir una consulta
en VB es haciendo
algo como
sql = "select ""Foo"" from ""Bar"" " _
& " where ""Col1"" = '" & variable & "' and " _
& ""Col2"" = '" & otra_variable & "';"
entonces no veo por donde estas defendiendo al
lenguaje.
En este hilo meti por lo menos dos alternativas para
hacer esto sin tanto codigo, pero quiza no las viste o
no las quiziste ver ?
Post by Gabriel Colina
Esto no tiene
defensa posible. En lenguajes mas modernos, esto se
puede escribir
mucho mas limpiamente, sin esa ensalada de simbolos
sql = sprintf(qq{select "Foo" from "Bar"
where "Col1" = '%s' and "Col2" = '%s'},
$variable, $otra_variable);
Es que yo no usaria este codigo, usaria funciones de
una base de datos, lease PostgreSQL o M$SQL y las
invocaria, o sea vuelvo a lo que digo programar en
tres capaz.
Post by Gabriel Colina
No se si queda clara la diferencia y el como esta
diferencia, que parece
muy menor, hace que el programa sea mucho mas claro
de leer y mantener.
Que pasa cuando quieres agregar una tercera
condicion en el WHERE de VB;
que cosas tienes que cambiar? Compara con como lo
haces abajo. Que
pasa cuando quieres agregar una cosa en la segunda
linea de codigo, te
queda muy larga y ahora quieres pasar un pedazo a la
linea de abajo, que
tienes que hacer con el simbolito ese del _? Tener
que estarlo moviendo
de un lado para otro, quizas agregando algunos y
borrando otros, y
quizas poniendo mas & por ahi; no entiendo como
califica de
"mantenible". Y eso claramente es culpa del
lenguaje.
Te puedo mostrar ejemplos de que esto que decis no es
tan cierto, puesto que tengo consultas que construyen
un where de otra manera.
Post by Gabriel Colina
Si te fijas el ejemplo que puse arriba ni siquiera
es tan complicado.
El ejemplo de Gabriel Ferro es bastante peor porque
su problema es mas
complejo. Pero en el lenguaje del ejemplo que te
muestro abajo (Perl),
se puede hacer mucho mas limpiamente que el codigo
Visual que el
mostraba, y de hecho sospecho que tu tocayo Gabriel
ni siquiera habria
tenido el problema que tuvo y que origino su
pregunta a la lista.
En esto estoy de acuerdo, pero tenes que aceptar o
comprobar que se puede hacer de otra forma, solo que
no lo tienen claro por que quiza vengan de lenguajes
como pascal o cobol. O los que les enseñaron tenian
ciertos vicios cuando aprendieron.
Post by Gabriel Colina
Si tu quieres argumentar que aca va a venir un
monton de gente a
preguntar por problemas con Visual Basic debido a
que es el lenguaje que
mucha gente usa y que "estan empezando a ver la
luz", me parece
fantastico.
A mi tambien, quiza por que muchos tenemos la
necesidad de usar cotidanamente herramientas
productivas, puesto que somos varios (la manga de
profesionales trasnochados) que vos despectivamente
tratas, que usamos el tiempo de transoche por que en
el dia trabajamos para comer.
Post by Gabriel Colina
Pero ya que estan empezando a ver la
luz, entonces que la
vean bien y que no se queden solo con haber cambiado
Access con
Postgres, sino que ademas se den cuenta que el
lenguaje que han venido
usando durante años es realmente todo lo penca que
ellos siempre han
sabido pero nunca se atrevieron a sugerir porque "es
que Microsoft lo hizo asi que tiene que ser bueno".
Espero que no sea la luz del encandilameinto. Yo no
cambie Access por PostgreSQL vengo de M$ SQL que a
decir verdad cuenta con un Transform y un Pivot Table
y un trabajo de DataWorkHouse facil de implementar y
no hay que modificar un contrib para obtener n
columnas.

No creo que sea malo, el tema es que hay que
estudiarlo y bien, lo malo es como te venden sus
productos y la gran mentira de que a clicks del mouse
solucionas todo.

Entonces tenes un monton de gente que usa las cosas
sin profundizar por que es facil.
Post by Gabriel Colina
Si se estan
independizando de
Microsoft y vienen aca a aprender, hey, que aprendan
:-) Nadie dijo que
el aprendizaje era indoloro.
Por lo de Indoloro no te procupes tengo 26 años de
aprender Artes Marciales, puedo aguantar.
Y si no hubiera aprendido, vos te crees que me estaria
llendo bien como me va con Visual y PostgreSQL, para
que te crees que a las 22 horas y hasta las 3 de la
mañana despues de varias horas de programacion, entro
en los foros de Linux y PostgreSQL?

Ademas entiendo que si, que de repente Perl es mejor,
Pero hasta no aprenda, y en el tiempo que puedo, o
encuentre herramientas de desarrollo que me convenzan
y convenzan a la masa de usuarios para los cuales
desarrollo voy a seguir usando como muchos, las que
aportan lo que necesitamos en nuestros clientes, los
usuarios.

El otro dia hablabas despectivamente de PHP,
refiriendote a una aplicacion, creo que PHP no es de
M$.

De todos modos comparto contigo con liberarnos de M$,
pero a esta altura se que por otros motivos, puesto
que la gente con que me comunico normalmente, respetan
a los tranochados, esos que con desprecio hace 14
anios vos te sentabas al lado, a los seres humanos que
trabajan de forma asalariada y que despues dedican su
tiempo a comunidades informaticas, sociales, tratando
de aportar a la macrocomunidad.

Ahora entiendo por que aca me relajaron cuando dije
que yo era un asalariado de la informatica.

Yo pienso que los paises latino americanos deben
romper con M$ y otras cosas, y que en el plano
tecnologico debemos crear alternativas propias, por
eso estoy instalando UTUTO.

Y seguramente empeice a estuiar Perl.

Pero aun asi voy a seguir ayudando a los que usan VB,
puesto que lo hacen para poder vender su producto y
los entiendo.

Puesto que la formacion tambien viene condicionada por
la necesidad de mercado.

Atte

Gabriel Colina.
Post by Gabriel Colina
--
Alvaro Herrera
http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom
Development, 24x7 support
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Alvaro Herrera
2007-03-14 19:05:43 UTC
Permalink
Post by Gabriel Colina
Post by Alvaro Herrera
Gabriel, si la unica forma de construir una consulta
en VB es haciendo
algo como
sql = "select ""Foo"" from ""Bar"" " _
& " where ""Col1"" = '" & variable & "' and " _
& ""Col2"" = '" & otra_variable & "';"
entonces no veo por donde estas defendiendo al
lenguaje.
En este hilo meti por lo menos dos alternativas para
hacer esto sin tanto codigo, pero quiza no las viste o
no las quiziste ver ?
Humm, quizas me perdi ese mail, cuales eran esas alternativas?
Post by Gabriel Colina
Post by Alvaro Herrera
Si tu quieres argumentar que aca va a venir un
monton de gente a
preguntar por problemas con Visual Basic debido a
que es el lenguaje que
mucha gente usa y que "estan empezando a ver la
luz", me parece
fantastico.
A mi tambien, quiza por que muchos tenemos la
necesidad de usar cotidanamente herramientas
productivas, puesto que somos varios (la manga de
profesionales trasnochados) que vos despectivamente
tratas, que usamos el tiempo de transoche por que en
el dia trabajamos para comer.
Vamos, que no era despectiva la intencion, no tienes para que tomartelo
a mal.
Post by Gabriel Colina
Espero que no sea la luz del encandilameinto. Yo no
cambie Access por PostgreSQL vengo de M$ SQL que a
decir verdad cuenta con un Transform y un Pivot Table
y un trabajo de DataWorkHouse facil de implementar y
no hay que modificar un contrib para obtener n
columnas.
Esta claro que hay algunas cosas que faltan en Postgres, de lo contrario
yo no tendria nada que hacer. Pero trabajamos en ello ... supongo que
si no tenemos PIVOT TABLE todavia es porque no ha habido presion
suficiente de los usuarios. La siguiente pregunta, entonces, seria: ¿es
PIVOT TABLE parte del estandar SQL? Si no lo es, cual es el constructo
equivalente? Con eso ya podemos empezar a aproximarnos a los hackers
para decir: "hey, falta esto, hagamoslo". Y si es bueno, no te quepa
duda que alguien lo hara eventualmente (mas temprano que tarde si es que
motivas a alguien para que lo haga, ya sea convenciendole de lo util que
es o bien poniendo $$$).

Tenias esa oportunidad cuando trabajabas con SQL Server? OK, tenias
TRANSFORM pero si hubieras querido, no se, algo tipico de Postgres como
por ej. la capacidad de hacer CREATE AGGREGATE, habrias podido ir donde
el equipo de desarrollo a decirles "me gustaria agregar tal cosa..."??
Post by Gabriel Colina
El otro dia hablabas despectivamente de PHP,
refiriendote a una aplicacion, creo que PHP no es de
M$.
Obviamente no todo lo malo viene de MS ;-) Mi opinion personal de PHP
es bastante baja; habiendo sido un entusiasta, me decepcionaron los
resultados que obtuve y hoy por hoy usaria otros lenguajes.
Post by Gabriel Colina
De todos modos comparto contigo con liberarnos de M$,
pero a esta altura se que por otros motivos, puesto
que la gente con que me comunico normalmente, respetan
a los tranochados, esos que con desprecio hace 14
anios vos te sentabas al lado,
Ja ja ja ... no, yo no me sentaba con desprecio al lado de ellos. Me
acuerdo que varios de ellos preguntaban si desde VB podia uno conectarse
a ODBC, y yo quedaba "marcando ocupado" porque no sabia lo que era ODBC.
Si dije que eran trasnochados, es porque tenian bastante cara de haber
estado trabajando todo el dia y el cansancio les salia por los poros,
mientras que yo no tenia nada que hacer en todo el dia. Y por otro
lado, mientras todos ellos tenian un motivo para hacer el curso y cosas
con las que experimentar cuando llegaran a sus trabajos, yo estaba ahi
solo para ver que podia sacar del curso.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Gabriel Colina
2007-03-14 20:03:05 UTC
Permalink
Post by Alvaro Herrera
Humm, quizas me perdi ese mail, cuales eran esas
alternativas?
No tengo por que no creerte creo que sos un gran
aporte a PostgreSQL te envio esas propuestas tal cual
las escribi, pongo lo que hago en Visual y lo que hago
del lado de PostgreSQL

Ejemplo 1
Para mi muy apropiado.

Creo una funcion en el lenguaje PLPGSQL, en
postgresql, (aclaro que si alguna palabra no la pongo
bien por ejemplo plpgsql no se escribe asi, me importa
poco, debatan sobre conceptos por favor).
Retomando el tema aca hay una funcion a la que
pasandole parametros desde visual borra una tabla
auxiliar, la llena de datos le hace algun insert y
podria ser un update en fin todo.
Incluso uno de los select de la insercion invoca otra
funcion.

CREATE OR REPLACE FUNCTION
"central"."fnc_imp_ficha_articulo" (text, date,
integer) RETURNS boolean AS
$body$
begin
delete from central.imp_ficha_stock;
insert into central.imp_ficha_stock
(id_local,sucursal,
empresa,id_lin,documento,serie,numero,fecha,
id_articulo,entradas,salidas,saldos)
select id_local,sucursal,
empresa,id_lin,documento,serie,numero,fecha,
id_articulo,entradas,salidas,saldos from
central.fnc_ficha_articulo($1,$2,$3);
return true;
end;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT
SECURITY INVOKER;

Llamada desde visual

DtaSysGeGcFunc.central_fnc_imp_ficha_articulo
TxtDatos.Text, DTPDESDE.Value,
Val(DataComboLocal.BoundText)

Donde dtasysgegcfunc es igual a un dataenviroment
es un procedimiento del dataenviroment que llama a la
funcion, cuando creas el dataenviroment y su conecion
al DSN podes definir comando o procedimiento,
eligiendo procdimiento nos muestras las funciones de
la base de datos y elgiendo ejecuta esta pasando los
parametros que la funcion exige. aca se representa por
.central_fnc_imp_ficha_articulo, donde central_ es el
nombre del esquema y el punto visual lo representa con
_
TxtDatos.Text = textbox
DTPDESDE.Value = dtpicker
Val(DataComboLocal.BoundText) el valor numerico del
boundtext de un datacombobox.

Esto es facil y muy simple, se usa igual que en M$.

Ejemplo 2.

Se crea la funcion en pgplsql en este caso pongo otra
de ejemplo, pero puedo usar la misma

CREATE OR REPLACE FUNCTION
"central"."fnc_ing_lineas_doc" (bigint) RETURNS date
AS
$body$
declare
v_id_cab alias for $1;
curtime date;
BEGIN
curtime :='now';
delete from central.documentos where id_cab = $1;
insert into central.documentos
(id_cab,id_articulo,id_presupuesto,cantidad,fob,cif,costo_unitario,

costo_unit_final,precio_venta_unitario,dto1,dto2,impuesto_col_1,impuesto_col_2,ubicacion,

conteo)
select
id_cab,id_articulo,id_presupuesto,cantidad,fob,cif,costo_unitario,

costo_unit_final,precio_venta_unitario,dto1,dto2,impuesto_col_1,impuesto_col_2,ubicacion,

conteo from central.aux_lineas_doc where id_cab = $1;

delete from central.aux_lineas_doc where id_cab = $1;

RETURN curtime;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT
SECURITY INVOKER;

y desde un adodatacontrol, desde una conexion definida
por codigo o desde un dataenviroment como es este caso
ejecuto esto.

DtaSysGc.cnSysGeGc.Execute "select * from
central.fnc_ing_lineas_doc(" &
AdoCabezales.Recordset.Fields("id_cab") & ")"

Es Facil.


3 Metodo parecido al que plantea mi tocayo Gabriel
Ferro, a quien confieso le debo el hecho de darle una
mano mejor, que la que le di en la pregunta anterior y
por lo cual le pido disculpas y espero compenzarlo con
esto.


Desde visual y sin crear una funcion en postgresql.

DtaSysGc.cnSysGeGc.Execute "insert into
central.documentos (id_articulo,id_cab,cantidad)
select '" & TxtDatos(0).Text & "' as id_articulo, " &
nCabezales & " as id_cab, " &
Abs(Val(Lbldatos(4).Caption)) & " as cantidad;"

Las comillas dobles encierran todo lo que se va a
ejecuttar, pero si miras esto previamente de un msgbox
o desde el depurador verias que lo que pasa es esto
insert into central.documentos
(id_articulo,id_cab,cantidad) select 'PH8' as
id_articulo, 924,123.45 as cantidad;
Post by Alvaro Herrera
Post by Gabriel Colina
A mi tambien, quiza por que muchos tenemos la
necesidad de usar cotidanamente herramientas
productivas, puesto que somos varios (la manga de
profesionales trasnochados) que vos
despectivamente
Post by Gabriel Colina
tratas, que usamos el tiempo de transoche por que
en
Post by Gabriel Colina
el dia trabajamos para comer.
Vamos, que no era despectiva la intencion, no tienes
para que tomartelo
a mal.
Bien pero asi parecia la respuesta, me alegro Alvaro
de que no sea asi por que te tengo en buena estima y
este tipo de cosas me llevo a apasionarme un poco
puesto que soy un militante en la vida.
Post by Alvaro Herrera
Post by Gabriel Colina
Espero que no sea la luz del encandilameinto. Yo
no
Post by Gabriel Colina
cambie Access por PostgreSQL vengo de M$ SQL que a
decir verdad cuenta con un Transform y un Pivot
Table
Post by Gabriel Colina
y un trabajo de DataWorkHouse facil de implementar
y
Post by Gabriel Colina
no hay que modificar un contrib para obtener n
columnas.
Esta claro que hay algunas cosas que faltan en
Postgres, de lo contrario
yo no tendria nada que hacer. Pero trabajamos en
ello ... supongo que
si no tenemos PIVOT TABLE todavia es porque no ha
habido presion
suficiente de los usuarios. La siguiente pregunta,
entonces, seria: ¿es
PIVOT TABLE parte del estandar SQL? Si no lo es,
cual es el constructo
equivalente? Con eso ya podemos empezar a
aproximarnos a los hackers
para decir: "hey, falta esto, hagamoslo". Y si es
bueno, no te quepa
duda que alguien lo hara eventualmente (mas temprano
que tarde si es que
motivas a alguien para que lo haga, ya sea
convenciendole de lo util que
es o bien poniendo $$$).
Bien Alvaro, esto me pone contento, ya casi me mando
un unsuscribe por que no me bancaba lo que me parecia
algo arrogante, pero vamos bien y me quedo a dar
contribuciones entonces.

Resolvi algo en Pl/pgsql que hace algo similar al
PivotTable y en honor a la verdad las claves me la
dieron tu y Jaime, cuando andaban respondiendo sobre
el contrib de crosstab, el cual cuenta con dos
crosstab,1 crosstab2,1 crosstab3 y 1 crosstab4,
funciones que hacen tablas cartesianas, todas ellas
limitadas a la cantidad de columnas que sepas que va a
mostrar, puesto que apriori tenes que saber la
cantidad de datos diferentes que tiene la tabla para
los que van a formar las columnas.

Bueno yo cree contribm y contribn, me falta un poquito
de prolijidad para presentarlo, un poco a falta de
horas ya que eso lo hago desde las 23 en adelante
robandole horas al suenio. Pero creo que resuelve el
problema.

Tambien recuerdo haberte preguntado como se publica y
no encontre la respuesta, pero me parece esta una
buena oportunidad para que lo pongamos de nuevo en el
tapete.
Post by Alvaro Herrera
Tenias esa oportunidad cuando trabajabas con SQL
Server? OK, tenias
TRANSFORM pero si hubieras querido, no se, algo
tipico de Postgres como
por ej. la capacidad de hacer CREATE AGGREGATE,
habrias podido ir donde
el equipo de desarrollo a decirles "me gustaria
agregar tal cosa..."??
Si.
En mi caso, caso particular podia escalar a los
laboratios de Microsoft. Microsoft Uruguay esta aca
solo por la gente que da soporte a estas tecnologias.
Y hay tres empresas que ayudan desde aca al soporte de
America del Sur y America Latina, el grupo Expert y el
grupo de InfoCorp. con excelentes tecnicos capacitados
en "ciudad microsoft" como se conoce en la interna.

Pero no es el punto, por que mi partiuclaridad no
resuelve la de la sociedad ni de que el concepto del
Software Libre es un concepto mejor.
Post by Alvaro Herrera
Post by Gabriel Colina
El otro dia hablabas despectivamente de PHP,
refiriendote a una aplicacion, creo que PHP no es
de
Post by Gabriel Colina
M$.
Obviamente no todo lo malo viene de MS ;-) Mi
opinion personal de PHP
es bastante baja; habiendo sido un entusiasta, me
decepcionaron los
resultados que obtuve y hoy por hoy usaria otros
lenguajes.
Post by Gabriel Colina
De todos modos comparto contigo con liberarnos de
M$,
Post by Gabriel Colina
pero a esta altura se que por otros motivos,
puesto
Post by Gabriel Colina
que la gente con que me comunico normalmente,
respetan
Post by Gabriel Colina
a los tranochados, esos que con desprecio hace 14
anios vos te sentabas al lado,
Ja ja ja ... no, yo no me sentaba con desprecio al
lado de ellos. Me
acuerdo que varios de ellos preguntaban si desde VB
podia uno conectarse
a ODBC, y yo quedaba "marcando ocupado" porque no
sabia lo que era ODBC.
Si dije que eran trasnochados, es porque tenian
bastante cara de haber
estado trabajando todo el dia y el cansancio les
salia por los poros,
mientras que yo no tenia nada que hacer en todo el
dia. Y por otro
lado, mientras todos ellos tenian un motivo para
hacer el curso y cosas
con las que experimentar cuando llegaran a sus
trabajos, yo estaba ahi
solo para ver que podia sacar del curso.
Que suerte que decis eso, puesto que en mi
consideracion vos estas entre los mejores de Latam y
la linea de la genialidad y la soberbia es muy delgada
y la verdad que en vez de tratar de aportar, mi
proximo aporte seria unsuscribe, si entendia que aca
el intercambio era de forma clasista, por que
estariamos cambiando a M$ comercial, por Veleidad
personalista.

Ademas yo segui con la idea del encuentro de linux y
postgreSql y lo pantee en el foro de la gente de Linux
Uruguay, para ver de plantearle al gobierno y otras
instituciones aportaran infraestructura para hacer uno
aqui, justo donde M$ expone sus lanzamientos al
mercado.

La idea es invitar buenos exponentes de latam y pense
en gente como Alvaro, Jaime y algun otro de la lista,
y hacer un gran esfuerzo para que ustedes pudieran
venir y exponer.

Por Linux me gustaria tener a Gunnar y a alguien de
UTUTO.

Sinceramente ya he organizado eventos informaticos y
deportivos obteniendo apoyo del gobierno y no lo veo
dificil por la campania que el mismo esta haciendo de
Linux en Uruguay a nivel educativo.

Aprovecho que con este e-mail entendi tu espiritu y te
lo panteo.

Atte. Gabriel Colina


__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Alvaro Herrera
2007-03-14 22:59:38 UTC
Permalink
Post by Gabriel Colina
Ejemplo 1
[plpgsql]

Ok ...
Post by Gabriel Colina
Ejemplo 2.
[otra vez plpgsql]

Ok
Post by Gabriel Colina
3 Metodo parecido al que plantea mi tocayo Gabriel
Ferro, a quien confieso le debo el hecho de darle una
mano mejor, que la que le di en la pregunta anterior y
por lo cual le pido disculpas y espero compenzarlo con
esto.
Desde visual y sin crear una funcion en postgresql.
DtaSysGc.cnSysGeGc.Execute "insert into
central.documentos (id_articulo,id_cab,cantidad)
select '" & TxtDatos(0).Text & "' as id_articulo, " &
nCabezales & " as id_cab, " &
Abs(Val(Lbldatos(4).Caption)) & " as cantidad;"
Las comillas dobles encierran todo lo que se va a
ejecuttar, pero si miras esto previamente de un msgbox
o desde el depurador verias que lo que pasa es esto
insert into central.documentos
(id_articulo,id_cab,cantidad) select 'PH8' as
id_articulo, 924,123.45 as cantidad;
Pero esto tiene el mismo problema que la solucion que yo mostraba antes.
Si tienes tablas cuyos nombres estan en mayuscula, tienes que poner esos
nombres entre comillas dobles en la consulta. Y en el ejemplo de
arriba, siguen estando los & como operador de concatenacion, y las
comillas simples que quedan rodeando la parte donde se pone la variable.
Justamente todo lo que yo te comentaba que seria preferible evitar.

La unica diferencia con el codigo que yo te mostré es que no están los _
que significaban "el código continúa en la linea siguiente". No me
queda claro si esto es un artefacto del copy&paste del codigo en el
email, o si realmente el codigo funciona en varias lineas sin el _.

Las otras dos soluciones que mostrabas, no atacan para nada el problema
que yo queria hacer patente, sino que usan un mecanismo diferente para
evitarlo completamente. Ahora, cuando uno tiene un programa que hace
una consulta simple, para que iba a usar un SP? ¿Sera solo para
evitarse el problema de las comillas, etc, en el lenguaje?

No se si me explico con respecto a cual es el problema con el lenguaje.
Como ves es una cosa que parece bastante menor pero que a ti, como
programador, te hace la vida dificil innecesariamente.

No he dicho en ningun momento que sea un problema que tu o cualquier
otro programador no deba solucionar (y probablemente mas de una vez).
No digo que seas una persona despreciable porque tengas que solucionar
ese problema, o porque debas (o escojas) programar en Visual Basic.

Recuerda que fue lo primero que yo dije que abrio todo este thread: "tu
problema no es Postgres sino Visual Basic". Y creo que aca queda claro
a que me referia, porque justamente el problema es cómo construir un
string que puedas usar como consulta SQL. Y Visual Basic te hace ese
problema mas dificil de lo que deberia.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
Gabriel Colina
2007-03-14 23:56:25 UTC
Permalink
Post by Alvaro Herrera
Post by Gabriel Colina
Ejemplo 1
[plpgsql]
Ok ...
Post by Gabriel Colina
Ejemplo 2.
[otra vez plpgsql]
Ok
Post by Gabriel Colina
3 Metodo parecido al que plantea mi tocayo Gabriel
Ferro, a quien confieso le debo el hecho de darle
una
Post by Gabriel Colina
mano mejor, que la que le di en la pregunta
anterior y
Post by Gabriel Colina
por lo cual le pido disculpas y espero compenzarlo
con
Post by Gabriel Colina
esto.
Desde visual y sin crear una funcion en
postgresql.
Post by Gabriel Colina
DtaSysGc.cnSysGeGc.Execute "insert into
central.documentos (id_articulo,id_cab,cantidad)
select '" & TxtDatos(0).Text & "' as id_articulo,
" &
Post by Gabriel Colina
nCabezales & " as id_cab, " &
Abs(Val(Lbldatos(4).Caption)) & " as cantidad;"
Las comillas dobles encierran todo lo que se va a
ejecuttar, pero si miras esto previamente de un
msgbox
Post by Gabriel Colina
o desde el depurador verias que lo que pasa es
esto
Post by Gabriel Colina
insert into central.documentos
(id_articulo,id_cab,cantidad) select 'PH8' as
id_articulo, 924,123.45 as cantidad;
Pero esto tiene el mismo problema que la solucion
que yo mostraba antes.
Si tienes tablas cuyos nombres estan en mayuscula,
tienes que poner esos
nombres entre comillas dobles en la consulta. Y en
el ejemplo de
arriba, siguen estando los & como operador de
concatenacion, y las
comillas simples que quedan rodeando la parte donde
se pone la variable.
Justamente todo lo que yo te comentaba que seria
preferible evitar.
En este ejemplo que ponia igual cabe invertir las
funcion de las comillas, o sea las simples por fuera y
las dobles por dentro para que formen la cadena.
Post by Alvaro Herrera
La unica diferencia con el codigo que yo te mostré
es que no están los _
que significaban "el código continúa en la linea
siguiente". No me
queda claro si esto es un artefacto del copy&paste
del codigo en el
email, o si realmente el codigo funciona en varias
lineas sin el _.
Estas en lo cierto en eso tambien, fue por la forma en
que lo pegue y escribi para el ejemplo.
Post by Alvaro Herrera
Las otras dos soluciones que mostrabas, no atacan
para nada el problema
que yo queria hacer patente, sino que usan un
mecanismo diferente para
evitarlo completamente.
Pero si lo evitas ya no es problema, por eso te decia
que es la forma en que usan Visual, a mi me enseniaron
que esa forma de escribir codigo como si programaras
en clipper no es la forma ni la filosofia para ser un
buen programador en Visual, si no para que queres un
lenguaje visual, para aparte de crear los formularios,
escribir codigo por gusto ??
Post by Alvaro Herrera
Ahora, cuando uno tiene un
programa que hace
una consulta simple, para que iba a usar un SP?
¿Sera solo para
evitarse el problema de las comillas, etc, en el
lenguaje?
No se si me explico con respecto a cual es el
problema con el lenguaje.
Te explicas muy claro, y no discrepo, pero es que si
agarro un martillo de bola sin unias para sacar un
clavo, estoy equivocado.

El ejemplo 3 es solo para mostrar que el tema comillas
es solucionable aun en la peor forma de usar la
herramienta.
Post by Alvaro Herrera
Como ves es una cosa que parece bastante menor pero
que a ti, como
programador, te hace la vida dificil
innecesariamente.
No he dicho en ningun momento que sea un problema
que tu o cualquier
otro programador no deba solucionar (y probablemente
mas de una vez).
No digo que seas una persona despreciable porque
tengas que solucionar
ese problema, o porque debas (o escojas) programar
en Visual Basic.
Lo que pasa que para resolver eso yo no concateno con
esto _ yo creo una funcion en visual donde paso
parametros y genero la cadena que luego voy a
ejecutar, si ese fuera el caso, por ejemplo tengo una
lista de precios que hace muchos filtros por distintas
propiedades y se muestran en combo box, text box, y
otros controles propios de Visual, bueno desde el
los_focus lo mando a la funcion y listo. cuando tengo
que comunicarme con PostgreSQL para que me devuelva
determinado recordset termina asi.

DtaSysGc.cnSysGeGc.Execute funcion_visual()
Post by Alvaro Herrera
Recuerda que fue lo primero que yo dije que abrio
todo este thread: "tu
problema no es Postgres sino Visual Basic". Y creo
que aca queda claro
a que me referia, porque justamente el problema es
cómo construir un
string que puedas usar como consulta SQL. Y Visual
Basic te hace ese
problema mas dificil de lo que deberia.
Yo tambien abri fuego diciendo que no era Visual o
PostgreSQL, si no como combinan las herramientas.

Por que tambien cuando alguien desde visual me dice
postgresql no sirve no alcanza performance y esas
cosas, les pregunto si utilizan bien la herramienta.

Pregunto si estan usando la combinacion de Visual
Basic y una base de datos como deberia usarse.

No se si queda claro.

Por ultimo, si un lenguaje tiene varias posibilidades
y la gente elige la peor, es culpa del lenguaje ?

Bueno espero cafe mediante, seguir debatiendo y
tambien aportando.

No te olvides de las dos propuestas, mira que voy en
serio.\

La de la contrib, en que quiza me ayudes y en la del
encuentro.

Atte.
Gabriel Colina







__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Luis Rodrigo Gallardo Cruz
2007-03-15 00:13:20 UTC
Permalink
Post by Gabriel Colina
Por ultimo, si un lenguaje tiene varias posibilidades
y la gente elige la peor, es culpa del lenguaje ?
Quizá. ¿Cuál es la que resulta más natural en el lenguaje? ¿Qué tanta
experiencia con él necesitas tener para no escoger la peor?
¿Para escoger la mejor?
--
Rodrigo en-realidad-ni-sé-de-que-hablan Gallardo
GPG-Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28
Zenophobia: the irrational fear of convergent sequences.
Gabriel Colina
2007-03-15 04:25:55 UTC
Permalink
On Wed, Mar 14, 2007 at 06:56:25PM -0500, Gabriel
Post by Gabriel Colina
Por ultimo, si un lenguaje tiene varias
posibilidades
Post by Gabriel Colina
y la gente elige la peor, es culpa del lenguaje ?
Quizá. ¿Cuál es la que resulta más natural en el
lenguaje? ¿Qué tanta
experiencia con él necesitas tener para no escoger
la peor?
¿Para escoger la mejor?
Quiza estudiar en el lugar correcto y con profesores
certificados y con vocacion.

A tu enigma sinceramente no tengo una sola respuesta,
se me ocurren mil bobadas, entonces antes de darte una
respuesta boba, mejor me callo.

Atte.
Gabriel Colina

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Juan Martínez
2007-03-15 14:56:37 UTC
Permalink
Post by Gabriel Colina
On Wed, Mar 14, 2007 at 06:56:25PM -0500, Gabriel
Post by Gabriel Colina
Por ultimo, si un lenguaje tiene varias posibilidades
y la gente elige la peor, es culpa del lenguaje ?
Si. El lenguaje no debe ofrecer las malas posibilidades de uso.
Post by Gabriel Colina
Quizá. ¿Cuál es la que resulta más natural en el
lenguaje? ¿Qué tanta
experiencia con él necesitas tener para no escoger
la peor?
¿Para escoger la mejor?
Quiza estudiar en el lugar correcto y con profesores
certificados y con vocacion.
Son demasiadas variables, tremendamente subjetivas y dificiles de
predecirlas para generar un escenario supuesto para evaluar el más
favorable. Ni hablar que tienes que pagar para aprender _mas encima_ ...
Post by Gabriel Colina
A tu enigma sinceramente no tengo una sola respuesta,
se me ocurren mil bobadas, entonces antes de darte una
respuesta boba, mejor me callo.
Eso habla de que ciertamente, usar VB correctamente es cosa de suerte.
Mala cosa que un instrumento cientifico supuestamente esté abierto a la
probabilistica en cuento al buen uso que se le debe dar.

Ciertamente, cochinadas se pueden escribir en cualquier lenguaje, pero
algunos ayudan eso si...

Primero, lo que plantea Luis no es un enigma, sino algo que todos los
lenguajes decentes entregan que es la curva de aprendizaje.

Segundo, como tu mismo acabas de aceptar que no tienes nada que decir,
entonces ni siquiera envies un mensaje para decir que no tienes nada que
decir (obvio no?).

Tercero, los lenguajes buenos son los que por naturaleza propia te
"obligan" a tener buenas practicas de programación. El que no lo haga
por que considere que su objetivo es "que hasta la secretaria pueda
hacer un programa", ciertamente no es una herramienta para profesionales...
--
Juan Martinez G. Mac Iver # 370
Departamento de Informatica 4997900 - 4997950
Universidad Miguel de Cervantes Santiago - Chile
http://download.bblug.usla.org.ar/netiquette.png
Gabriel Colina
2007-03-15 17:39:30 UTC
Permalink
Post by Gabriel Colina
--- Luis Rodrigo Gallardo Cruz
On Wed, Mar 14, 2007 at 06:56:25PM -0500, Gabriel
Colina wrote:> >>> Por ultimo, si un lenguaje
tiene varias
Post by Gabriel Colina
posibilidades
Post by Gabriel Colina
y la gente elige la peor, es culpa del lenguaje
?
Si. El lenguaje no debe ofrecer las malas
posibilidades de uso.
Quizá. ¿Cuál es la que resulta más natural en el
lenguaje? ¿Qué tanta
experiencia con él necesitas tener para no
escoger
la peor?
¿Para escoger la mejor?
Quiza estudiar en el lugar correcto y con
profesores
certificados y con vocacion.
Son demasiadas variables, tremendamente subjetivas y
dificiles de
predecirlas para generar un escenario supuesto para
evaluar el más
favorable. Ni hablar que tienes que pagar para
aprender _mas encima_ ...
A tu enigma sinceramente no tengo una sola
respuesta,
se me ocurren mil bobadas, entonces antes de darte
una
respuesta boba, mejor me callo.
Eso habla de que ciertamente, usar VB correctamente
es cosa de suerte.
Mala cosa que un instrumento cientifico
supuestamente esté abierto a la
probabilistica en cuento al buen uso que se le debe
dar.
Es que es evidente que vos usas texto plano hermano,
por que cuando tengas que orientarte a eventos tenes
que usar varios metodos para variadas cosas, si pones
esos metodos para usarlo siempre de la misma manera
para todos los casos, entonces mejor si elegite un
lenguaje en texto plano.

Pero eso si acepta que tenes un mercado poco exigente
entonces.
Post by Gabriel Colina
cualquier lenguaje, pero
algunos ayudan eso si...
Primero, lo que plantea Luis no es un enigma, sino
algo que todos los
lenguajes decentes entregan que es la curva de
aprendizaje.
Si no viste la ironia de la frase es que tambien tenes
algo mas plano que el editor que usas y eso es peor
para remediar.

El plantea sobre las variables y subjetividades y
suerte que hay que tener.

Eso por que no sabe el esfuerzo de lo que llevaba en
los anios 90 certificarse y que en esa epoca no se le
daba a cualquiera la certificacion de Developer y
Engenier en M$. y muchos lo haciamos trasnochando,
entonces ver las criticas que gente ingorante como vos
si stematicamente y sin fundamento plantea, a esta
altura pibe, da asco.

Alvaro y Gunnar si que me llevaron al rincon, pero
pusieron argumentos de peso, no digo que ellos tengan
toda la razon, pero se hicieron entender.


De ahi mi ironia por que esta critica parte de
supuestos.

No hay nada que yo escriba que vos no contestes eso es
un poco molesto ya que tengo que argumentar cosas que
nada tienen que ver con la lista.
Post by Gabriel Colina
Segundo, como tu mismo acabas de aceptar que no
tienes nada que decir,
entonces ni siquiera envies un mensaje para decir
que no tienes nada que
decir (obvio no?).
No tan obvio, o quiza si obvio para ti por que no ves
mas alla que una pantalla en blanco y negro.

Le contesto para afirmar la importancia que tiene lo
que argumento, por que llevo mis argumentos hasta el
fin y si me convencen bien, pues me vencieron pero me
enseniaron.

Lo tuyo hasta ahora solo es critica barata.
Post by Gabriel Colina
Tercero, los lenguajes buenos son los que por
naturaleza propia te
"obligan" a tener buenas practicas de programación.
El que no lo haga
por que considere que su objetivo es "que hasta la
secretaria pueda
hacer un programa", ciertamente no es una
herramienta para profesionales...
Pura fraseologia barata, no veo una secretaria,
haciendo tareas de administracion de base de datos.
Y nadie se planteo el objetivo ese cuando disenio
Visual C o Visual Interdev o Visual Basic.

Eso puede ser parte de una campania de M$, en la que
muchos caen, creyendo que todo lo van a resolver con
un click, que los tontos se lo coman, no es mi caso,
lo entiendo.

Pero que gente que va a una Universidad piense que se
puede hagarrar del Marketing para establecer sus
criticas, sencillamente es totalmente insolito.

Juan, dejala por esa o si queres no me contestes mas
en publico, te prometo desasnarte en privado.

Atte.
Gabriel Colina

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Luis Rodrigo Gallardo Cruz
2007-03-15 19:05:04 UTC
Permalink
Post by Gabriel Colina
Post by Luis Rodrigo Gallardo Cruz
Por ultimo, si un lenguaje tiene varias
posibilidades y la gente elige la peor, es culpa del lenguaje?
Quizá. ¿Cuál es la que resulta más natural en el
lenguaje? ¿Qué tanta experiencia con él necesitas
tener para no escoger la peor? ¿Para escoger la mejor?
A tu enigma sinceramente no tengo una sola respuesta,
se me ocurren mil bobadas, entonces antes de darte
una respuesta boba, mejor me callo.
Mmm. Quizá no debería responder, que esto ya se volvió pelea, pero
quiero aclarar algo. Mi pregunta original *no* es un ataque, ni a VB
(que nunca he usado) ni mucho menos a Gabriel. Es una cuestión
legítima *y objetiva* de diseño de lenguajes.

¿A que viene esto? Pues a que no se puede deslindar el diseño del
lenguaje de la clase de soluciones que la gente que lo usa suele
elegir. Si, como infiero de la hebra, los usuarios de VB suelen
escoger malas soluciones a ciertos problemas, ¿en realidad crees que
decir, en escencia, que lo que pasa es que los usuarios son en su
mayoría tontos es correcto? ¿No crees que es por lo menos posible que
VB esté mal adaptado para esa clase de problemas?

Y si crees que lo único que se puede responder a esto son bobadas,
pues entonces lo que pasa es que nunca has considerado la pregunta con
seriedad. *Hay* respuestas. Lecciones aprendidas a partir de los
fallos de diseños anteriores. Estudios acerca de los fallos comunes
cometidos en diferentes lenguajes y de las carácteristicas en unos y
otros que los promueven o los evitan.

Claro que con todo esto ya estoy como a 15 remillones de kilometros
del tema de la lista, así que, ahora sí, ya me callo.
--
Rodrigo Gallardo
GPG-Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28
Zenophobia: the irrational fear of convergent sequences.
Gabriel Colina
2007-03-15 20:14:38 UTC
Permalink
Post by Luis Rodrigo Gallardo Cruz
Si, como infiero de la hebra, los usuarios
de VB suelen
escoger malas soluciones a ciertos problemas, ¿en
realidad crees que
decir, en escencia, que lo que pasa es que los
usuarios son en su
mayoría tontos es correcto? ¿No crees que es por lo
menos posible que
VB esté mal adaptado para esa clase de problemas?
Tambien quiero terminar con el tema porque estoy
agotado, ademas no soy alguien que hace una religion
de un lenguaje.

Pero te respondo algo que ya dije a esto que tu
planteas, vos en un lenguaje podes plantearte hacer un
select * from articulos where id_articulo=nidarticulo,
o podes traerte toda la tabla y recorrerla en un loop
para allar el registro que cumpla la condicion.
Si haces lo ultimo, el lenguaje es malo.

Te explico si yo uso access por ejemplo para una
aplicacion puedo tomar una tabla y hacer un seek sobre
un indice que escojo, usando un SQL, no puedo operar
de la misma forma.

Entonces VB esta mal por darme la posibilidad de tener
una forma optima para comunicarme con accesss, otra
para sql, otro para la lista de contactos de exchange,
o yo que cuando me conecto a sql, trato la forma de
invocar a los datos, de la manera que se debe hacer
para llamar datos en exchange o en access.

No voy a argumentar mas sobre este tema, voy a
estudiar un lenguaje multiplataforma.
Y he tomado nota de muchas cosas que me dejan pautas a
seguir.

Pero a si maniana me piden un reporte para ayer,
seguro que me prendo a Crystal y a travez de ODBC, le
entrego la solucion ayer.

Atte.
Gabriel Colina.


__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Gunnar Wolf
2007-03-15 00:34:18 UTC
Permalink
Post by Gabriel Colina
Ejemplo 1
Para mi muy apropiado.
Creo una funcion en el lenguaje PLPGSQL, en
postgresql, (aclaro que si alguna palabra no la pongo
bien por ejemplo plpgsql no se escribe asi, me importa
poco, debatan sobre conceptos por favor).
Retomando el tema aca hay una funcion a la que
pasandole parametros desde visual borra una tabla
auxiliar, la llena de datos le hace algun insert y
podria ser un update en fin todo.
Incluso uno de los select de la insercion invoca otra
funcion.
CREATE OR REPLACE FUNCTION
"central"."fnc_imp_ficha_articulo" (text, date,
integer) RETURNS boolean AS
$body$
begin
delete from central.imp_ficha_stock;
insert into central.imp_ficha_stock
(id_local,sucursal,
empresa,id_lin,documento,serie,numero,fecha,
id_articulo,entradas,salidas,saldos)
select id_local,sucursal,
empresa,id_lin,documento,serie,numero,fecha,
id_articulo,entradas,salidas,saldos from
central.fnc_ficha_articulo($1,$2,$3);
return true;
end;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT
SECURITY INVOKER;
Llamada desde visual
DtaSysGeGcFunc.central_fnc_imp_ficha_articulo
TxtDatos.Text, DTPDESDE.Value,
Val(DataComboLocal.BoundText)
¿Mi crítica principal a esto? Recuerda que los lenguajes de
programación están hechos como herramienta de comunicación entre
humanos, con suficiente formalismo para ser capaces de ser traducidos
a algo que una computadora pueda entender. Entonces, ¿por qué no
comenzar indentando bonito y poniendo nombres en simple y llano inglés
a las cosas? Sería mucho más fácil ponerle un nombre suficientemente
corto pero descriptivo a DtaSysGeGcFunc. Esperar que con sólo leerlo
el programador que se acerque a tu código le entienda, es mucho
pedir. Esperar que se acuerde de cómo escribirlo en otro momento a
1000 líneas de distancia, creo yo, también.

En segundo lugar: Estás creando una función plpgsql que consta
únicamente de un «delete», un «insert», un «select» y un «return
true». Lo que es más, tan poco te importa el lector humano de tu
código que ni siquiera le das aliases a $1, $2 y $3 para que sepa qué
debe ir en esas variables - pero bueno, pecata minuta. Ni siquiera
estás abriendo/cerrando una transacción para tener control en caso de
un error a medio proceso. En mi opinión (y, claro, las opiniones son
como los ombligos: Cada quién tiene la propia), algo de este nivel de
complejidad no merece una llamada a un segundo lenguaje. Sí, haz tus
tres o mil capas - ¿Pero por qué no hacerlo de una manera más
sencilla? Por ejemplo: (lleno de basura en lugar de tu primer insert,
que está incompleto)

sub imp_ficha_articulo {
my ($self, $text, $value, $boundtext) = @_;
my @data;
$self->{db}->begin_work;
eval {
$self->{db}->do('DELETE FROM central.imp_ficha_stock');

my $sth = $self->{db}->prepare('INSERT INTO central.imp_ficha_stock
(id_local, sucursal, empresa, id_lin, documento, serie,
numero, fecha, id_articulo, entradas, salidas, saldos)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');
$sth->execute(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);

$sth = $self->{db}->prepare('SELECT id_local, sucursal, empresa,
id_lin, documento, serie, numero, fecha, id_articulo,
entradas, salidas, saldos FROM
central.fnc_ficha_articulo(?, ?, ?)');
$sth->execute($text, $value, $boundtext);
@data = $sth->fetchrow_array;

$self->{db}->commit;
};
if ($@) {
warn "ERROR: $@";
$self->{db}->rollback;
return 0;
}
return 1;
}

Claro, acá puedes ver algunos de los puntitos acerca de cómo se maneja
este proceso en Perl - No me meto a explicar a detalle, creo que no
tiene sentido (además, no entiendo bien qué es lo que hace tu
aplicación, y explicarte tus propias funciones no es muy divertido ;-)
). Pero si esto lo haces estructurando tus clases correctamente, te va
a resultar mucho más sencillo y natural extenderlas y darles
mantenimiento.

Y nótese claramente: Escribí la función directo en el cliente de
correo, sin probar nada. Y hasta tengo que reconocer que estoy un
poquito oxidado en perlazos, hasta tuve que asomarme al manual de DBI
para recordar cómo se manejaba el eval/begin_work/commit/rollback ;-)

Saludos,
--
Gunnar Wolf - gwolf-***@public.gmane.org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF
Gunnar Wolf
2007-03-15 23:42:14 UTC
Permalink
Post by Gunnar Wolf
¿Mi crítica principal a esto? Recuerda que los
lenguajes de
programación están hechos como herramienta de
comunicación entre
humanos, con suficiente formalismo para ser capaces
de ser traducidos
a algo que una computadora pueda entender. Entonces,
¿por qué no
comenzar indentando bonito y poniendo nombres en
simple y llano inglés
a las cosas?
Usar formalismos uso, me baso en la notacion Hungara.
En parte a eso me refiero: Hay lenguajes, como C, que hoy en día se
usan para trabajar "cerca de los fierros", para hacer aplicaciones muy
grandes y de bajo nivel que requieren tanta optimización como sea
posible. Esos lenguajes, claro, requieren del programador que se
encargue de manejar los tipos de datos. Pero para la mayor parte de
las aplicaciones que vas a ver que tienen relación con bases de datos,
tener que pensar en esos detalles resulta innecesario - Si tu
compilador puede manejar automáticamente la conversión de tipos y
presentarte de una manera lógica la sobrecarga de operadores cada que
esta sea requerida, ¿para qué molestarte en usar notación húngara?
¿Para qué estarle recordando a cada paso al usuario qué es lo que
determinada variable debe contener?
La identacion existe en Visual y la uso siempre.
Ok, se habrá perdido en el ejemplo que mandaste.
Entiendo lo del ingles y lo acepto a reganiadientes
por que estamos en la era de la globalizacion y por
que ya hay años de desarrollo pionero en ingles, pero
no lo comparto.
No, no es que escriba en inglés por poder recibir ayuda de extranjeros
(aunque es un buen hábito, especialmente si estás acostumbrado a poner
tu código a disposición del mundo) - Los lenguajes de programación
están modelados siguiendo al inglés, y un humano puede leerlos casi
casi como si fueran inglés omitiendo o agregando algunos detalles
sintácticos. Te facilita la comprensión del código.
Y si lo decis por que el ingles es un lenguaje que se
adapta mas al de comandos, por que es imperativo.
Mejor usamos Japones o Coreano, son imperativos por su
naturaleza marcial mas que el ingles.
No, claro, ese argumento es ridículo.
(...)
Gracias por que esto lo voy a mejorar.
Pero es semantico, funcionar funciona igual.
Pero acá te insisto: El lenguaje no es para que "de funcionar
funcione", sino para expresar tus ideas formales, que la computadora
seguro va a entender, de modo que otro humano pueda hacerlo.
Y tambien una opinion experta me comento aqui que las
funciones que no se completaban hacian rollback de
forma automatica,
Ok, con eso me retracto de parte del regaño ;-)
de todas maneras tengo en Visual un
On error resume ErrControl
y un
codigo control errores
Ok. Supongo que es equivalente al bloque eval que yo incluí.
Si no lo dudo pero, no entiendo de Perl, pero me
parece muy parecido a lo que Gabriel Ferro intento
hacer desde Visual y aca se le critico.
Esto que viene es chanza para aflojar
Y tambien veo que no te tomaste el tiempo de poner
nombres a las variables jeje.
No le puse nombre a dos variables: @_ y $@. Estas son dos variables
especiales en Perl (y uno de los puntos que más se le critican al
lenguaje), el arreglo de parámetros recibidos y el error devuelto por
el último bloque. Y, bueno, a @_ formalmente sí le puse nombre,
asignándolo a tres variables escalares ;-)
Ya que estas aconsejanos un buen lenguaje compilado
que ademas sea productivo.
Hoy en día, puedo recomendarte Perl y Ruby. Habrá quien te recomiende
Python, pero a mí nunca me ha parecido cómodo. ¿Que no son compilados?
¡Claro que sí lo son! Son compilados como un paso previo a la
ejecución, utilizando un compilador tremendamente ágil - Pero no, no
son interpretados.
Y mil gracias nuevamente por tus aportes. como dijo
Alvaro, los que venimos de M$, aca tenemos que venir a
aprender.
Los que estamos en Linux desde hace diez años también ;-)

¡Saluods!
--
Gunnar Wolf - gwolf-***@public.gmane.org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF
Gabriel Colina
2007-03-15 03:55:31 UTC
Permalink
Gabriel Colina dijo [Wed, Mar 14, 2007 at 03:03:05PM
Post by Gabriel Colina
Ejemplo 1
Para mi muy apropiado.
Creo una funcion en el lenguaje PLPGSQL, en
postgresql, (aclaro que si alguna palabra no la
pongo
Post by Gabriel Colina
bien por ejemplo plpgsql no se escribe asi, me
importa
Post by Gabriel Colina
poco, debatan sobre conceptos por favor).
Retomando el tema aca hay una funcion a la que
pasandole parametros desde visual borra una tabla
auxiliar, la llena de datos le hace algun insert y
podria ser un update en fin todo.
Incluso uno de los select de la insercion invoca
otra
Post by Gabriel Colina
funcion.
CREATE OR REPLACE FUNCTION
"central"."fnc_imp_ficha_articulo" (text, date,
integer) RETURNS boolean AS
$body$
begin
delete from central.imp_ficha_stock;
insert into central.imp_ficha_stock
(id_local,sucursal,
empresa,id_lin,documento,serie,numero,fecha,
id_articulo,entradas,salidas,saldos)
select id_local,sucursal,
empresa,id_lin,documento,serie,numero,fecha,
id_articulo,entradas,salidas,saldos from
central.fnc_ficha_articulo($1,$2,$3);
return true;
end;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT
SECURITY INVOKER;
Llamada desde visual
DtaSysGeGcFunc.central_fnc_imp_ficha_articulo
TxtDatos.Text, DTPDESDE.Value,
Val(DataComboLocal.BoundText)
¿Mi crítica principal a esto? Recuerda que los
lenguajes de
programación están hechos como herramienta de
comunicación entre
humanos, con suficiente formalismo para ser capaces
de ser traducidos
a algo que una computadora pueda entender. Entonces,
¿por qué no
comenzar indentando bonito y poniendo nombres en
simple y llano inglés
a las cosas?
Usar formalismos uso, me baso en la notacion Hungara.

La identacion existe en Visual y la uso siempre.

Si violo las reglas de notacion que trato de imponerme
?, y si, Si en momentos de produccion como en este
caso actuo desprolijo?, tambien

Despues que cumplo con la meta y lo dejo andando
y solo despues me siento a retocar lo que no me
gusta. Creo los help y emprolijo el codigo.

Nombres cortos, creo que eso es algo discutible.

Entiendo lo del ingles y lo acepto a reganiadientes
por que estamos en la era de la globalizacion y por
que ya hay años de desarrollo pionero en ingles, pero
no lo comparto.

Comentario al margen, por que esto no lo escribo para
dar argumento, solo para expresar un deseo, digo.

Me gustaria tener una tecnologia alternativa y para
America Latina en nuestro idioma.

Existe gente en el mundo que desarrollo sistemas
operativos y solo uso el ingles para clonar windows
Por que la mayoria del codigo lo hizo en chino e
intervinieron 80.000 tecnicos.

Y si lo decis por que el ingles es un lenguaje que se
adapta mas al de comandos, por que es imperativo.

Mejor usamos Japones o Coreano, son imperativos por su
naturaleza marcial mas que el ingles.
Sería mucho más fácil ponerle un nombre
suficientemente
corto pero descriptivo a DtaSysGeGcFunc. Esperar que
con sólo leerlo
el programador que se acerque a tu código le
entienda, es mucho
pedir. Esperar que se acuerde de cómo escribirlo en
otro momento a
1000 líneas de distancia, creo yo, también.
Despues de leer mi primera tentativa de contestarte,
me di cuenta que en esto te replicaria solo por
replicarte, asi que te ahorro y me ahorro esto siendo
autocritico y diciendote que deberia renombrarla.
Seria asi.
DataEnvgGegcFunc

DataEnv = dataenviroment, si no podria ser
AdoDataControl
Gegc para indicar a que aplicacion pertenece
y Func, para indicar que especialmente en este
DataEnviroment hay llamada a los procedimientos.

Lo demas se va a leer facil, solo hay que habrir la
definicion del DataEnviroment y vemos a que se conecta
y que hace.

Gracias por que esto lo voy a mejorar.
Pero es semantico, funcionar funciona igual.

Lo que no te voy a llevar es eso de hacerlo en ingles
y cortito, si ellos tienen un lenguaje imperativo y
cortito bien, pero yo pienso en castellano y me
comunico muy bien con el.

Por suerte 1000 lineas, en cobol un monton de laburo y
muy pocos resultados, con 1000 lineas en VB, dejo
satisfechos a muchos con los resultados.
En segundo lugar: Estás creando una función plpgsql
que consta
únicamente de un «delete», un «insert», un «select»
y un «return
true». Lo que es más, tan poco te importa el lector
humano de tu
código que ni siquiera le das aliases a $1, $2 y $3
para que sepa qué
debe ir en esas variables - pero bueno, pecata
minuta. Ni siquiera
estás abriendo/cerrando una transacción para tener
control en caso de
un error a medio proceso. En mi opinión (y, claro,
las opiniones son
como los ombligos: Cada quién tiene la propia)
Si alias empece a usar en la decima funcion que cree
cuando vi ejemplos con Alias en el manual que baje de
postgresql.cl , hay algunos que no tienen.
Por que como a mi me obligaron a usar postgresql (por
suerte, por que me devolvio el gusto por la
investigacion), mientras armaba algo aprendia y leia
el manual, muchas veces me quede con la primera
opinion experta que encontre, esa funcion es un
ejemplo.

Y tambien una opinion experta me comento aqui que las
funciones que no se completaban hacian rollback de
forma automatica, de todas maneras tengo en Visual un

On error resume ErrControl

y un
ErrControl:
codigo control errores
sub imp_ficha_articulo {
$self->{db}->begin_work;
eval {
$self->{db}->do('DELETE FROM
central.imp_ficha_stock');
my $sth = $self->{db}->prepare('INSERT INTO
central.imp_ficha_stock
(id_local, sucursal, empresa, id_lin,
documento, serie,
numero, fecha, id_articulo, entradas, salidas,
saldos)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?)');
$sth->execute(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12);
$sth = $self->{db}->prepare('SELECT id_local,
sucursal, empresa,
id_lin, documento, serie, numero, fecha,
id_articulo,
entradas, salidas, saldos FROM
central.fnc_ficha_articulo(?, ?, ?)');
$sth->execute($text, $value, $boundtext);
@data = $sth->fetchrow_array;
$self->{db}->commit;
};
$self->{db}->rollback;
return 0;
}
return 1;
}
Claro, acá puedes ver algunos de los puntitos acerca
de cómo se maneja
este proceso en Perl - No me meto a explicar a
detalle, creo que no
tiene sentido (además, no entiendo bien qué es lo
que hace tu
aplicación, y explicarte tus propias funciones no es
muy divertido ;-)
). Pero si esto lo haces estructurando tus clases
correctamente, te va
a resultar mucho más sencillo y natural extenderlas
y darles
mantenimiento.
Si no lo dudo pero, no entiendo de Perl, pero me
parece muy parecido a lo que Gabriel Ferro intento
hacer desde Visual y aca se le critico.

Esto que viene es chanza para aflojar

Y tambien veo que no te tomaste el tiempo de poner
nombres a las variables jeje.
Y nótese claramente: Escribí la función directo en
el cliente d
correo, sin probar nada. Y hasta tengo que reconocer
que estoy un
poquito oxidado en perlazos, hasta tuve que asomarme
al manual de DBI
para recordar cómo se manejaba el
eval/begin_work/commit/rollback ;-)
Ya que estas aconsejanos un buen lenguaje compilado
que ademas sea productivo.

Y mil gracias nuevamente por tus aportes. como dijo
Alvaro, los que venimos de M$, aca tenemos que venir a
aprender.

Lo que no significa que tenga que endiosar a nadie ni
acatar todo.

Por que en esta sociedad, donde el exito lo miran
generalmente de manera diferente a mi punto de vista y
por lo que lei de tus escritos se que al tuyo tambien.


El significado de exito tienea esta sociedad, te digo
que la gente de M$. por lo menos en mi pais, trabaja
mas en proyectos importantes desde el punto de vista
economico que la gente de otros ambientes.

En plata constante y sonante, la gente de ARTECH, que
creo GENEXUS exporto una torta, la gente de Memory
Computacion tambien. Siendo Uruguay uno de los paises
que mas exporta software de Sudamerica.

Y teniendo M$ una sede en Uruguay no por un tema de
mercado ya que nuestro pais es chiquito, si no por la
calidad tecnica que aca existe.

Nosotros tenemos una educacion gratuita y obligatoria
y un mercado chico, lo cual nos obliga a capacitarnos
y migrar o trabajar hacia el exterior.

El plan de una computadora para cada niño empieza como
piloto este año, espero que tengan Linux.

Atte.
Gabriel Colina.
Saludos,
--
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E
F35A 8BB5 27AF
---------------------------(fin del
mensaje)---------------------------
TIP 9: el optimizador ignorará el uso de recorridos
de índice si los
tipos de datos de las columnas no coinciden
Atte Gabriel Colina.

PD. Te felicito

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/

Jaime Casanova
2007-03-16 02:49:28 UTC
Permalink
Post by Alvaro Herrera
Esta claro que hay algunas cosas que faltan en Postgres, de lo contrario
yo no tendria nada que hacer. Pero trabajamos en ello ... supongo que
si no tenemos PIVOT TABLE todavia es porque no ha habido presion
suficiente de los usuarios. La siguiente pregunta, entonces, seria: ¿es
PIVOT TABLE parte del estandar SQL? Si no lo es, cual es el constructo
equivalente? Con eso ya podemos empezar a aproximarnos a los hackers
para decir: "hey, falta esto, hagamoslo". Y si es bueno, no te quepa
duda que alguien lo hara eventualmente (mas temprano que tarde si es que
motivas a alguien para que lo haga, ya sea convenciendole de lo util que
es o bien poniendo $$$).
alguien averiguo si existe PIVOT TABLE en el estandar SQL? yo lo he
buscado varias veces para tener base a proponerlo...

en este momento no tengo mucho tiempo, ni siquiera he podido retomar
un proyecto en el que estaba (segun yo casi listo hasta que Tom opino
:()

pero cuando termine ese proyecto y tenga mas tiempo volvere a la casa del PIVOT
--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook
Gabriel Colina
2007-03-16 03:19:30 UTC
Permalink
On 3/14/07, Alvaro Herrera
Post by Alvaro Herrera
Esta claro que hay algunas cosas que faltan en
Postgres, de lo contrario
Post by Alvaro Herrera
yo no tendria nada que hacer. Pero trabajamos en
ello ... supongo que
Post by Alvaro Herrera
si no tenemos PIVOT TABLE todavia es porque no ha
habido presion
Post by Alvaro Herrera
suficiente de los usuarios. La siguiente
pregunta, entonces, seria: ¿es
Post by Alvaro Herrera
PIVOT TABLE parte del estandar SQL? Si no lo es,
cual es el constructo
Post by Alvaro Herrera
equivalente? Con eso ya podemos empezar a
aproximarnos a los hackers
Post by Alvaro Herrera
para decir: "hey, falta esto, hagamoslo". Y si es
bueno, no te quepa
Post by Alvaro Herrera
duda que alguien lo hara eventualmente (mas
temprano que tarde si es que
Post by Alvaro Herrera
motivas a alguien para que lo haga, ya sea
convenciendole de lo util que
Post by Alvaro Herrera
es o bien poniendo $$$).
alguien averiguo si existe PIVOT TABLE en el
estandar SQL? yo lo he
buscado varias veces para tener base a proponerlo...
en este momento no tengo mucho tiempo, ni siquiera
he podido retomar
un proyecto en el que estaba (segun yo casi listo
hasta que Tom opino
:()
pero cuando termine ese proyecto y tenga mas tiempo
volvere a la casa del PIVOT
Jaime quiza ya me adelante y para la proxima semana
sugiera agreguar a crosstab dos funciones pl/pgsql que
cumplen lo de Transform y Pivot, para hacer un
crosstab de n columnas y las llame crosstabm y
crosstabn.
Quiza a ti y a Alvaro les mande un poco mas pulido
esto y me lo comentan a ver que les parece y lo
brindamos a toda la comunidad.

Mira que digo esto con verguenza de que me digan, pero
anda a pasear con esto que hiciste.

Atte.
Gabriel Colina
--
Atentamente,
Jaime Casanova
"Programming today is a race between software
engineers striving to
build bigger and better idiot-proof programs and the
universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook
---------------------------(fin del
mensaje)---------------------------
TIP 3: si publicas/lees desde Usenet, por favor
envía "subscribe-nomail"
mensajes puedan llegar
a los suscriptores de la lista
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Edwin Quijada
2007-03-16 18:58:33 UTC
Permalink
Sabes, deberias postear eso por algun lado bien documentado y con ejemplos
para probar lo que hiciste. De seguro eso puede servirnos a muchos.
Hazte un pequeno manual desde instalar crostab hasta las modifcaciones q
hiciste y asi compartes ese codigo.
Que te paerce?




*-------------------------------------------------------*
*-Edwin Quijada
*-Developer DataBase
*-JQ Microsistemas
*-809-747-2787
* " Si deseas lograr cosas excepcionales debes de hacer cosas fuera de lo
comun"
*-------------------------------------------------------*
Subject: Re: [pgsql-es-ayuda] Simbolos dentro de cadenas
Date: Thu, 15 Mar 2007 22:19:30 -0500 (CDT)
On 3/14/07, Alvaro Herrera
Post by Alvaro Herrera
Esta claro que hay algunas cosas que faltan en
Postgres, de lo contrario
Post by Alvaro Herrera
yo no tendria nada que hacer. Pero trabajamos en
ello ... supongo que
Post by Alvaro Herrera
si no tenemos PIVOT TABLE todavia es porque no ha
habido presion
Post by Alvaro Herrera
suficiente de los usuarios. La siguiente
pregunta, entonces, seria: ¿es
Post by Alvaro Herrera
PIVOT TABLE parte del estandar SQL? Si no lo es,
cual es el constructo
Post by Alvaro Herrera
equivalente? Con eso ya podemos empezar a
aproximarnos a los hackers
Post by Alvaro Herrera
para decir: "hey, falta esto, hagamoslo". Y si es
bueno, no te quepa
Post by Alvaro Herrera
duda que alguien lo hara eventualmente (mas
temprano que tarde si es que
Post by Alvaro Herrera
motivas a alguien para que lo haga, ya sea
convenciendole de lo util que
Post by Alvaro Herrera
es o bien poniendo $$$).
alguien averiguo si existe PIVOT TABLE en el
estandar SQL? yo lo he
buscado varias veces para tener base a proponerlo...
en este momento no tengo mucho tiempo, ni siquiera
he podido retomar
un proyecto en el que estaba (segun yo casi listo
hasta que Tom opino
:()
pero cuando termine ese proyecto y tenga mas tiempo
volvere a la casa del PIVOT
Jaime quiza ya me adelante y para la proxima semana
sugiera agreguar a crosstab dos funciones pl/pgsql que
cumplen lo de Transform y Pivot, para hacer un
crosstab de n columnas y las llame crosstabm y
crosstabn.
Quiza a ti y a Alvaro les mande un poco mas pulido
esto y me lo comentan a ver que les parece y lo
brindamos a toda la comunidad.
Mira que digo esto con verguenza de que me digan, pero
anda a pasear con esto que hiciste.
Atte.
Gabriel Colina
--
Atentamente,
Jaime Casanova
"Programming today is a race between software
engineers striving to
build bigger and better idiot-proof programs and the
universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook
---------------------------(fin del
mensaje)---------------------------
TIP 3: si publicas/lees desde Usenet, por favor
envía "subscribe-nomail"
mensajes puedan llegar
a los suscriptores de la lista
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
---------------------------(fin del mensaje)---------------------------
TIP 3: si publicas/lees desde Usenet, por favor envía "subscribe-nomail"
a los suscriptores de la lista
_________________________________________________________________
Visita MSN Latino Noticias: Todo lo que pasa en el mundo y en tu paín, ¡en
tu idioma! http://latino.msn.com/noticias/
Gabriel Colina
2007-03-16 23:54:45 UTC
Permalink
Post by Edwin Quijada
Sabes, deberias postear eso por algun lado bien
documentado y con ejemplos
para probar lo que hiciste. De seguro eso puede
servirnos a muchos.
Hazte un pequeno manual desde instalar crostab hasta
las modifcaciones q
hiciste y asi compartes ese codigo.
Que te paerce?
Bien trabajo un poquitin mas para probar algunos
excenarios y empiezo a documentar.

Mi idea es compartilo por supuesto.

Atte.
Gabriel Colina.

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Gunnar Wolf
2007-03-15 00:12:40 UTC
Permalink
Antes que otra cosa, vaya mi experiencia con Álvaro acá - Lo siento,
no sigo esta lista tanto como quisiera, y no sé qué tan frecuente o
longevo seas en ella.

Hace cosa de tres años, invitamos a Álvaro a México, al Congreso
Nacional de Software Libre, a que viniera a hablarnos de
PostgreSQL. ¿Cuál fue nuestra motivación para invitar a Álvaro y no
-digamos- a Bruce Momjiam (como lo hicieron para otro congreso en
nuestro país)? Que es una persona de trato siempre amable, cercano,
que te explica al nivel que haga falta, que no deja dudas con
cabeza. Y... Bueno, si tachas a Álvaro de tener posturas intolerantes
en esta lista, te aseguro que más de uno saldremos a agradecerle que
es como es ;-)
Post by Gabriel Colina
Post by Alvaro Herrera
(...)
esa experiencia que ellos tenian, tuvimos que
recurrir a los trucos
horribles para hacer que el lenguaje funcionara.
No se que trucos horribles. yo ya mostre codigo
funcional y facil de mantener.
Umh... Funcional tal vez, en el sentido de que cumple su
función. Fácil de mantener... Lo pongo en duda. ¿Flexible? Jej... En
un ratito respondo a otro de tus mensajes, y me cuentas.
Post by Gabriel Colina
Post by Alvaro Herrera
Esto no tiene
defensa posible. En lenguajes mas modernos, esto se
puede escribir
mucho mas limpiamente, sin esa ensalada de simbolos
sql = sprintf(qq{select "Foo" from "Bar"
where "Col1" = '%s' and "Col2" = '%s'},
$variable, $otra_variable);
Es que yo no usaria este codigo, usaria funciones de
una base de datos, lease PostgreSQL o M$SQL y las
invocaria, o sea vuelvo a lo que digo programar en
tres capaz.
Es de las primeras veces que alguien menciona que Perl es un lenguaje
limpio y libre de símbolos innecesarios - Y mira que lo dice un
perlero de años ;-) Pero sí, se come vivo a Visual Basic en este
sentido.

Ahora, Gabriel... Si alguien te vendió que _todas_ las consultas que
requieren parametrización deben estar almacenadas en la BD, lo siento,
te vendieron un argumento enredoso e inmantenible. Es muy fácil abusar
de las funciones en BD, y es muy doloroso mantener código en varios
lenguajes simultáneos. Puedo hablarte por experiencia: Hice hace años
un proyecto con varias decenas de funciones y otras varias decenas de
triggers, con el manejo de una gran cantidad de lógica clavada en la
BD. La rigidez me mató. Y claro, hoy no dejo de usar funciones, vistas
y triggers donde hacen falta - pero abusar de ellos es la muerte. ¡Ah,
claro! no obtienes ninguna ventaja de rendimiento - muy al contrario,
ejecutar repetidamente procedimientos almacenados puede matar tu
rendimiento. En Postgres y en otros motores.
Post by Gabriel Colina
En esto estoy de acuerdo, pero tenes que aceptar o
comprobar que se puede hacer de otra forma, solo que
no lo tienen claro por que quiza vengan de lenguajes
como pascal o cobol. O los que les enseñaron tenian
ciertos vicios cuando aprendieron.
Seré el primero en admitir (casi casi en presumir, pues) que soy un
programador bastante deficiente, y que me queda mucho por
aprender... Pero el colgarte a un estilo (a un modo de hacer las
cosas) que está demostrado que reduce tu productividad y agarra a
patadas a la robustez de tu código es indefendible :)
Post by Gabriel Colina
El otro dia hablabas despectivamente de PHP,
refiriendote a una aplicacion, creo que PHP no es de
M$.
Cada que un novato a la programación se acerca ya sea por el lado de
Visual Basic o de PHP, Dios mata a un gatito. ¡Por favor! Piensen en
los gatitos.

Un poquito más en serio: Ambos lenguajes son una clarísima muestra de
cómo el crear una herramienta apta para ser aprendida sin esfuerzo
hace que mucha gente se quede en los primeros escalones. No dudo que
haya código bonito en VB; he visto código muy bueno en PHP... Pero
tristemente, ambos lenguajes te permiten (te invitan a) las cochinadas
más grandes. Como dice la máxima, «crea un sistema apto para tontos, y
sólo los tontos querrán usarlo».

Saludos,
--
Gunnar Wolf - gwolf-***@public.gmane.org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF
Gabriel Colina
2007-03-15 02:09:59 UTC
Permalink
Post by Gunnar Wolf
Antes que otra cosa, vaya mi experiencia con Álvaro
acá - Lo siento,
no sigo esta lista tanto como quisiera, y no sé qué
tan frecuente o
longevo seas en ella.
Hace cosa de tres años, invitamos a Álvaro a México,
al Congreso
Nacional de Software Libre, a que viniera a
hablarnos de
PostgreSQL. ¿Cuál fue nuestra motivación para
invitar a Álvaro y no
-digamos- a Bruce Momjiam (como lo hicieron para
otro congreso en
nuestro país)? Que es una persona de trato siempre
amable, cercano,
que te explica al nivel que haga falta, que no deja
dudas con
cabeza. Y... Bueno, si tachas a Álvaro de tener
posturas intolerantes
en esta lista, te aseguro que más de uno saldremos a
agradecerle que
es como es ;-)
Me alegra, asi se deben defender los amigos y la gente
que tiene una causa en comun.
Y como no visitas frecuente la pagina te comento que a
Alvaro le he agradecido sus aportes, y se que cuando
quiere responder bien lo hace como un caballero, solo
me molesto un tono que me parecio despectivo y se lo
hice saber, por que de mi no esperen nunca que no sea
critico y/o autocritico.
Post by Gunnar Wolf
Gabriel Colina dijo [Wed, Mar 14, 2007 at 12:05:59PM
Post by Gabriel Colina
Post by Alvaro Herrera
(...)
esa experiencia que ellos tenian, tuvimos que
recurrir a los trucos
horribles para hacer que el lenguaje funcionara.
No se que trucos horribles. yo ya mostre codigo
funcional y facil de mantener.
Umh... Funcional tal vez, en el sentido de que
cumple su
función. Fácil de mantener... Lo pongo en duda.
¿Flexible? Jej... En
un ratito respondo a otro de tus mensajes, y me
cuentas.
Post by Gabriel Colina
Post by Alvaro Herrera
Esto no tiene
defensa posible. En lenguajes mas modernos,
esto se
Post by Gabriel Colina
Post by Alvaro Herrera
puede escribir
mucho mas limpiamente, sin esa ensalada de
simbolos
Post by Gabriel Colina
Post by Alvaro Herrera
sql = sprintf(qq{select "Foo" from "Bar"
where "Col1" = '%s' and "Col2" = '%s'},
$variable, $otra_variable);
Es que yo no usaria este codigo, usaria funciones
de
Post by Gabriel Colina
una base de datos, lease PostgreSQL o M$SQL y las
invocaria, o sea vuelvo a lo que digo programar en
tres capaz.
Es de las primeras veces que alguien menciona que
Perl es un lenguaje
limpio y libre de símbolos innecesarios - Y mira que
lo dice un
perlero de años ;-) Pero sí, se come vivo a Visual
Basic en este
sentido.
Ahora, Gabriel... Si alguien te vendió que _todas_
las consultas que
requieren parametrización deben estar almacenadas en
la BD, lo siento,
te vendieron un argumento enredoso e inmantenible.
Es muy fácil abusar
de las funciones en BD, y es muy doloroso mantener
código en varios
lenguajes simultáneos. Puedo hablarte por
experiencia: Hice hace años
un proyecto con varias decenas de funciones y otras
varias decenas de
triggers, con el manejo de una gran cantidad de
lógica clavada en la
BD. La rigidez me mató. Y claro, hoy no dejo de usar
funciones, vistas
y triggers donde hacen falta - pero abusar de ellos
es la muerte. ¡Ah,
claro! no obtienes ninguna ventaja de rendimiento -
muy al contrario,
ejecutar repetidamente procedimientos almacenados
puede matar tu
rendimiento. En Postgres y en otros motores.
Gunnar tambien mostre la forma de utilizar funciones
en VB, podes utilizar ocx propios, trabajar con el
API, las dll, crear las propias, pero en el caso que
hablabamos, prefiero hacerlo de esa manera.

Gunnar debatir con ustedes y en su cancha, me parece
que es de quijotes, ademas son muy buenos exponentes y
tecnicamente excelente.

Mis inicios no fueron en Windows fue en un PDP y
despues en un VAX y en el anio 84 ya sabia de los 64
bits.
Me abraze a QNX, pero en el area comercial me mataron
un proyecto con el argumento de que no tenia soporte
en mi pais, asi que elegi Windows para comer.
Pero trate de ser bueno en eso.
Post by Gunnar Wolf
Post by Gabriel Colina
En esto estoy de acuerdo, pero tenes que aceptar o
comprobar que se puede hacer de otra forma, solo
que
Post by Gabriel Colina
no lo tienen claro por que quiza vengan de
lenguajes
Post by Gabriel Colina
como pascal o cobol. O los que les enseñaron
tenian
Post by Gabriel Colina
ciertos vicios cuando aprendieron.
Seré el primero en admitir (casi casi en presumir,
pues) que soy un
programador bastante deficiente, y que me queda
mucho por
aprender... Pero el colgarte a un estilo (a un modo
de hacer las
cosas) que está demostrado que reduce tu
productividad y agarra a
patadas a la robustez de tu código es indefendible
:)
Mi productividad aumento desde que deje el cobol o el
RPG2, cosas de las que apenas me acuerdo de la
estructura.
Post by Gunnar Wolf
Post by Gabriel Colina
El otro dia hablabas despectivamente de PHP,
refiriendote a una aplicacion, creo que PHP no es
de
Post by Gabriel Colina
M$.
Cada que un novato a la programación se acerca ya
sea por el lado de
Visual Basic o de PHP, Dios mata a un gatito. ¡Por
favor! Piensen en
los gatitos.
Un poquito más en serio: Ambos lenguajes son una
clarísima muestra de
cómo el crear una herramienta apta para ser
aprendida sin esfuerzo
hace que mucha gente se quede en los primeros
escalones. No dudo que
haya código bonito en VB; he visto código muy bueno
en PHP... Pero
tristemente, ambos lenguajes te permiten (te invitan
a) las cochinadas
más grandes. Como dice la máxima, «crea un sistema
apto para tontos, y
sólo los tontos querrán usarlo».
Bueno el que quiera hacer cochinadas que las haga yo
trato de ser cuidadoso.

Con respecto a los tontos, tengo muchos clientes
usando mis aplicaciones y son usuarios felices que
entienden el valor de la informacion facil de obtener.

Y toman decisiones en base a la informacion y con esas
decisiones progresan en sus empresas.
Post by Gunnar Wolf
Saludos,
Te contesto el saludo diciendote que me gusta el
enfoque social del software libre que tenes, que
espero visites Uruguay invitado por la comunidad de
linux aqui, cosa que voy a proponer a nivel de las
organizaciones publicas de educacion junto a la
comunidad a cual le plantee la idea. Tambien Jaime y
Alvaro serian invitados seguro.


Que segui tus articulos y que hoy por hoy me debato
entre UTUTO y DEBIAN, por favor sin polemica ok. Por
hoy tuve demasiado. y en la comunidad linux soy un
novato que apenas sabe instalar un fedora para
trabajar con PostgreSQL.
Post by Gunnar Wolf
--
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E
F35A 8BB5 27AF
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Edwin Quijada
2007-03-15 15:59:40 UTC
Permalink
Post by Gabriel Colina
Que segui tus articulos y que hoy por hoy me debato
entre UTUTO y DEBIAN, por favor sin polemica ok. Por
hoy tuve demasiado. y en la comunidad linux soy un
novato que apenas sabe instalar un fedora para
trabajar con PostgreSQL.
Gabriel , Portese como un hombrecito e instalese DEBIAN.

_________________________________________________________________
Latinos en EE.UU: noticias y artículos de interés para ti
http://latino.msn.com/noticias/latinoseneeuu
Gabriel Colina
2007-03-15 17:52:40 UTC
Permalink
Post by Edwin Quijada
Post by Gabriel Colina
Que segui tus articulos y que hoy por hoy me debato
entre UTUTO y DEBIAN, por favor sin polemica ok.
Por
Post by Gabriel Colina
hoy tuve demasiado. y en la comunidad linux soy un
novato que apenas sabe instalar un fedora para
trabajar con PostgreSQL.
Gabriel , Portese como un hombrecito e instalese
DEBIAN.
Juas que buen argumento.

Pero en casa quiero probar una distribucion que es
Sudamericana y tiene un motivo de ser.

Atte.
Gabriel Colina

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Mario Wojcik
2007-03-15 18:59:22 UTC
Permalink
Post by Gabriel Colina
Post by Edwin Quijada
Post by Gabriel Colina
Que segui tus articulos y que hoy por hoy me debato
entre UTUTO y DEBIAN, por favor sin polemica ok.
Por
Post by Gabriel Colina
hoy tuve demasiado. y en la comunidad linux soy un
novato que apenas sabe instalar un fedora para
trabajar con PostgreSQL.
Gabriel , Portese como un hombrecito e instalese
DEBIAN.
Juas que buen argumento.
Pero en casa quiero probar una distribucion que es
Sudamericana y tiene un motivo de ser.
Atte.
Gabriel Colina
Hola Gabriel. Como ya te dije, me gustan Gentoo y Slackware. Las
distribuciones argentinas (Sud Americanas) UTUTO (de Salta) esta basada
en Gentoo (la que usa Stallman) y Tuquito (Tucumán) esta basada en Slack
y las dos estan muy buenas para desktop, y por su origen se bancan bien
un servidor...
Gabriel Colina
2007-03-15 20:23:36 UTC
Permalink
Post by Gabriel Colina
Post by Gabriel Colina
Post by Edwin Quijada
Post by Gabriel Colina
Que segui tus articulos y que hoy por hoy me
debato
Post by Gabriel Colina
Post by Edwin Quijada
Post by Gabriel Colina
entre UTUTO y DEBIAN, por favor sin polemica ok.
Por
Post by Gabriel Colina
hoy tuve demasiado. y en la comunidad linux soy
un
Post by Gabriel Colina
Post by Edwin Quijada
Post by Gabriel Colina
novato que apenas sabe instalar un fedora para
trabajar con PostgreSQL.
Gabriel , Portese como un hombrecito e instalese
DEBIAN.
Juas que buen argumento.
Pero en casa quiero probar una distribucion que es
Sudamericana y tiene un motivo de ser.
Atte.
Gabriel Colina
Hola Gabriel. Como ya te dije, me gustan Gentoo y
Slackware. Las
distribuciones argentinas (Sud Americanas) UTUTO (de
Salta) esta basada
en Gentoo (la que usa Stallman) y Tuquito (Tucumán)
esta basada en Slack
y las dos estan muy buenas para desktop, y por su
origen se bancan bien
un servidor...
Y bueno si UTUTO se basa en gentoo y te gusta voy a
usar UTUTO solo por lo que plantea mi compatriota
Daniel y lo que espuso en Cuba, sobre como desde el
norte pretende manipular nuestra ensenianza y no nos
dejan desarrollar maneras alternativas.
Y la farsa con los pc de 100 dolares que quieren
montar.

Saludos a las provincias Argentinas que estan metiendo
bastante desarrollo en distros.

Desde Uruguay
Atte.
Gabriel Colina




__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Henry
2007-03-15 06:53:30 UTC
Permalink
Gunnar Wolf <gwolf-***@public.gmane.org> escribió:Ahora, Gabriel... Si alguien te vendió que _todas_ las consultas que
requieren parametrización deben estar almacenadas en la BD, lo siento,
te vendieron un argumento enredoso e inmantenible. Es muy fácil abusar
de las funciones en BD, y es muy doloroso mantener código en varios
lenguajes simultáneos. Puedo hablarte por experiencia: Hice hace años
un proyecto con varias decenas de funciones y otras varias decenas de
triggers, con el manejo de una gran cantidad de lógica clavada en la
BD. La rigidez me mató. Y claro, hoy no dejo de usar funciones, vistas
y triggers donde hacen falta - pero abusar de ellos es la muerte. ¡Ah,
claro! no obtienes ninguna ventaja de rendimiento - muy al contrario,
ejecutar repetidamente procedimientos almacenados puede matar tu
rendimiento. En Postgres y en otros motores.
que tal Gunnar,
bueno, para comenzar no me gusta usar trigger, tambien soy poco de usar vista, ya que cuando hay pocos datos en la BD son buenas pero cuando la informacion va creciendo se ponen algo lentas, se refiero a las vistas.

que raro que digas que no se obtiene alguna ventajas en rendimientos al usar funciones, o es mejor hacer 5 select seguidos en el cliente para validar datos antes de un insert, update o delete (osea aumentar el trafico de la red, imaginate en ambiente web). Ademas de mencionar los planes de ejecucion para las funciones. Tambien por cuestiones de seguridad el poner los nombres de columnas y tablas en tu codigo fuente, asi como tambien el usuario no esta trabajando directamente con la tabla sino con las funciones lo cual hace menos posible algun ataque de inyección SQL y se le puede asignar privilegios a las funciones sin ningun problema. Tampoco hay que preocuparse por los caracteres especiales ya sea '\ @ä$:š^ al hacer un update,delete o insert. El uso de manejo de transacciones, donde
mi lema es 'O se hace todo lo necesario o nada se hace' es obvio que por motivos de integridad de datos.
Que la logica del negocio se encuentre
centralizada asi que no solamente puede ser utilizada por una aplicacion sino por varias otras que la necesiten.

pero obviamente como lo mencionastes, usar funciones tambien tiene sus desventajas ya que no es un lenguaje estandar SQL, po lo tanto puede haber problemas de portabilidad.Otra es que algun cambio en los parametros de las funciones tengas que ir al codigo fuente a hacer algun ajustes.

En mi caso, una vez hecho mi app, ya casi ni lo toco, simplemente hago algunas modificaciones en las funciones, obviamente solo en caso de aumento de parametros de las funciones es necesario ajustar tambien mi codigo fuente.

Para no enredarse con las funciones y demas , es necesaria una buena documentacion de la BD como del app.

Sobre porque uso 'select ' para retornar datos desde una funcion, es por ke no uso vistas, como dije anteriormente al comienzo son buenas pero cuando la informacion crece se ponen un poco lentas (eso sucede en cualquier DBMS).Y claro a veces debo hacer una consulta previa a la principal. (trafico de red) .




---------------------------------

LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
Gunnar Wolf
2007-03-15 23:25:05 UTC
Permalink
Post by Henry
bueno, para comenzar no me gusta usar trigger, tambien soy poco de
usar vista, ya que cuando hay pocos datos en la BD son buenas pero
cuando la informacion va creciendo se ponen algo lentas, se refiero a
las vistas.
Humh... Las vistas tienden a ser muy eficientes, según lo que yo he
podido observar :) Mi recomendación va más bien porque rara vez vale
la pena la rigidez que te impone _una_ consulta prefabricada - pero si
la requieres, para algo son!
Post by Henry
que raro que digas que no se obtiene alguna ventajas en rendimientos
al usar funciones, o es mejor hacer 5 select seguidos en el cliente
para validar datos antes de un insert, update o delete (osea
aumentar el trafico de la red, imaginate en ambiente web). Ademas de
mencionar los planes de ejecucion para las funciones.
No, claro, si vas a hacer una secuencia de operaciones, adelante, crea
una función. Sin emabrgo, si vas a hacer algo como:

CREATE FUNCTION registra_hijo (integer, integer) AS $$
DECLARE
padre ALIAS FOR $1,
hijo ALIAS FOR $2,
BEGIN
INSERT INTO relaciones (id_padre, id_hijo) VALUES (padre, hijo);
END
$$ language 'plpgsql';

Pues... ¿qué sentido tiene? Y créeme, me he encontrado con muchos
casos como este, en que el programador cree de este modo estar
"empujando" la lógica a la BD. Creo que tendría mayor sentido, en tu
clase Cosa, tener:

sub agrega_hijo {
my ($self, $hijo) = @_;
my $sth = $self->{db}->prepare('INSERT INTO relaciones (id_padre, id_hijo) VALUES (?,?)');
$sth->execute($self->{id}, $hijo->{id});
}

por poner un ejemplo simplista, claro está ;-)
Post by Henry
Tambien por
cuestiones de seguridad el poner los nombres de columnas y tablas en
tu codigo fuente, asi como tambien el usuario no esta trabajando
directamente con la tabla sino con las funciones lo cual hace menos
posible algun ataque de inyección SQL y se le puede asignar
privilegios a las funciones sin ningun problema.
Momento, momento... Acá estás confundiendo peras con gimnasia. Para
evitar inyección de SQL, lo que debes hacer es evitar meter cualquier
elemento proporcionado por el usuario a tus cadenas SQL - ¿cómo?
Preparando las órdenes antes de ejecutarlas (puedes verlo en la
función que hice). En realidad, tener una aplicación completa que no
maneje SQL en lo más mínimo, es demasiado pedir... Es casi casi como
programar una aplicación que no conozca la estructura de los datos que
maneja. Ni siquiera con frameworks (p.ej. Rails) que hacen lo posible
por evitarte escribir el SQL directamente - los nombres de las
tablas y columnas siempre son fundamentales para tu código. Puedes,
sí, mantener diferentes órdenes ejecutadas por diferentes usuarios, o
cosas por el estilo.
Post by Henry
Tampoco hay que
un update,delete o insert.
Nuevamente: Prepara una cadena SQL sin elementos externos. Ejecuta con
los datos proporcionados por el usuario. No hay posibilidad de
inyección de SQL.
Post by Henry
El uso de manejo de transacciones,
donde mi lema es 'O se hace todo lo necesario o nada se hace' es
obvio que por motivos de integridad de datos.
Completamente de acuerdo en esto - No lo incluí en la funcioncita de
arriba para mantenerla sencilla, pero sí, cualquier cosa que ocupe más
de una operación a la BD debe ir en una transacción
Post by Henry
Que la logica del negocio se encuentre
centralizada asi que no solamente puede ser utilizada por una
aplicacion sino por varias otras que la necesiten.
Acá... A veces y a veces. Depende de cada caso. Por ejemplo, en mi
caso, yo uso la BD principalmente como un depósito de datos
estructurados (y con algunos triggers mantengo pedacitos de esa
estructura que no son representables fácilmente en el DDL). Hago una
capa back-end en mi lenguaje de preferencia, que representa lo que les
ha dado por llamar la «lógica del negocio» (¡Dios me libre de hacer
negocios! ;-) ), y hago otra capa que se encarga de la interacción con
el usuario. O, cuando escribo con Ruby, me ciño al tradicional patrón
MVC, usando a la BD estrictamente como la mitad de abajo del modelo.
Post by Henry
Sobre porque uso 'select ' para retornar datos desde una funcion, es
por ke no uso vistas, como dije anteriormente al comienzo son buenas
pero cuando la informacion crece se ponen un poco lentas (eso sucede
en cualquier DBMS).Y claro a veces debo hacer una consulta previa a
la principal. (trafico de red) .
Vistas bien definidas, con índices bien definidos, no deben darte
mayor problema de rendimiento. Al menos, no un problema mayor que
hacer esa misma consulta desde la aplicacíon ;-)

Saludos,
--
Gunnar Wolf - gwolf-***@public.gmane.org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF
Henry
2007-03-16 00:27:23 UTC
Permalink
Post by Henry
bueno, para comenzar no me gusta usar trigger, tambien soy poco de
usar vista, ya que cuando hay pocos datos en la BD son buenas pero
cuando la informacion va creciendo se ponen algo lentas, se refiero a
las vistas.
Humh... Las vistas tienden a ser muy eficientes, según lo que yo he
podido observar :) Mi recomendación va más bien porque rara vez vale
la pena la rigidez que te impone _una_ consulta prefabricada - pero si
la requieres, para algo son!
Post by Henry
que raro que digas que no se obtiene alguna ventajas en rendimientos
al usar funciones, o es mejor hacer 5 select seguidos en el cliente
para validar datos antes de un insert, update o delete (osea
aumentar el trafico de la red, imaginate en ambiente web). Ademas de
mencionar los planes de ejecucion para las funciones.
No, claro, si vas a hacer una secuencia de operaciones, adelante, crea
una función. Sin emabrgo, si vas a hacer algo como:

CREATE FUNCTION registra_hijo (integer, integer) AS $$
DECLARE
padre ALIAS FOR $1,
hijo ALIAS FOR $2,
BEGIN
INSERT INTO relaciones (id_padre, id_hijo) VALUES (padre, hijo);
END
$$ language 'plpgsql';

Pues... ¿qué sentido tiene? Y créeme, me he encontrado con muchos
casos como este, en que el programador cree de este modo estar
"empujando" la lógica a la BD. Creo que tendría mayor sentido, en tu
clase Cosa, tener:

sub agrega_hijo {
my ($self, $hijo) = @_;
my $sth = $self->{db}->prepare('INSERT INTO relaciones (id_padre, id_hijo) VALUES (?,?)');
$sth->execute($self->{id}, $hijo->{id});
}

por poner un ejemplo simplista, claro está ;-)
Post by Henry
Tambien por
cuestiones de seguridad el poner los nombres de columnas y tablas en
tu codigo fuente, asi como tambien el usuario no esta trabajando
directamente con la tabla sino con las funciones lo cual hace menos
posible algun ataque de inyección SQL y se le puede asignar
privilegios a las funciones sin ningun problema.
Momento, momento... Acá estás confundiendo peras con gimnasia.
lo que quiero decir es que cuando usas una funcion en postgres para alguna operacion,
se pone implemente

select * from tabla where campo=parametro_1;

en cambio cuando usas algo asi en alguna app,
la mayoria de lenguaje lo usan asi:

sql="select * from tabla='" + parametro_1 + "'"; (creo que power builder no)

y ya sabemos que puede pasar, si un usuario pone un valor mal intencionado en parametro_1, al menos que primero asegures que parametro_1 es un valor adecuado para la consulta, osea tendria que crear alguna subrutina para esto, la mayoria de aplicaciones ya vienen con subrutinas para esto, algo como 'prepare' o algo asi.

como vez la funciones de postgres y otros DBMS hacen este procedimiento limpiamente, sin preocuparse de que valor se le va a asignar para realizar los filtros.

es por eso que tambien evito en lo posible usar la sentencia 'execute' de postgres, al menos que sea yo mismo quien ponga los valores para armar la consulta.

en lo que son las vista, yo estuve usandolas hasta hace poco, hasta que me di cuenta que usando funciones, devolvia los registro mas rapido, porke? no lo se,
pero mas que todo por eso lo hice y por lo ya antes explicado.

bueno, para serte sincero hasta un insert into simple, lo pongo en funciones,
y bueno no creo que traiga rigides muy alta hacerlo.


ah, una pregunta, una vista tambien no se tomaria como pre-fabricada?







---------------------------------

LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
Gunnar Wolf
2007-03-16 01:17:04 UTC
Permalink
Post by Henry
lo que quiero decir es que cuando usas una funcion en postgres para alguna operacion,
se pone implemente
select * from tabla where campo=parametro_1;
en cambio cuando usas algo asi en alguna app,
sql="select * from tabla='" + parametro_1 + "'"; (creo que power builder no)
y ya sabemos que puede pasar, si un usuario pone un valor mal
intencionado en parametro_1, al menos que primero asegures que
parametro_1 es un valor adecuado para la consulta, osea tendria que
crear alguna subrutina para esto, la mayoria de aplicaciones ya
vienen con subrutinas para esto, algo como 'prepare' o algo asi.
¡Ahí está! ¡Le pegaste al problema! (supongo que te faltó un "where
id" después de espcificar tabla) Si construyes tus consultas SQL
concatenando (o interpolando) cadenas y variables suministradas por el
usuario, nunca vas a tener seguridad alguna. Puedes, del mismo modo,
llamar a tu función:

sql = "select dame_resultados(" + parametro_1 + ")";

parametro_1 sigue viajando como parte de la cadena. Y por más que
protejas a tu función, ¿qué pasa si parametro_1 contiene:

1); delete from tabla; --

Pese al blindaje que intentaste poner a través de la función
dame_resultados, el usuario te está inyectando un delete from tabla
como si nada. Sin embargo, si tienes (evitando notaciones específicas
a lenguajes, inventando sintaxis):

statement = pg_prepare("select * from tabla where id = ?")
statement.execute(parametro_1)

te puedes olvidar de inyecciones de SQL - El '?' se vuelve un
"placeholder" - un elemento que será reemplazado en la consulta (ya
compilada y procesada por el motor de Postgres) por la consulta que
vayas a hacer.
Post by Henry
es por eso que tambien evito en lo posible usar la sentencia
'execute' de postgres, al menos que sea yo mismo quien ponga los
valores para armar la consulta.
Claro, si -contrario a lo que asumí arriba- estás armando la consulta
basándote en los datos que te da el usuario para el _nombre de la
tabla_, entonces sí tienes un problema severo. Sugiero validar
parametro_1 contra la lista de tablas válidas - y no meter datos
proporcionados por el usuario indiscriminadamente, sólo los datos
generados por tu programa. Por más dinámica que sea la consulta.
Post by Henry
bueno, para serte sincero hasta un insert into simple, lo pongo en funciones,
y bueno no creo que traiga rigides muy alta hacerlo.
Bueno... me quedo mis opiniones, creo que ya llegamos a un punto
muerto ;-)
Post by Henry
ah, una pregunta, una vista tambien no se tomaria como pre-fabricada?
Sí. Hay ocasiones en que las vistas son la respuesta adecuada... Pero
de nuevo, depende de muchas cosas. En general, las uso mucho menos que
cuando las descubrí ;)
--
Gunnar Wolf - gwolf-***@public.gmane.org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF
Henry
2007-03-16 01:51:34 UTC
Permalink
Post by Henry
lo que quiero decir es que cuando usas una funcion en postgres para alguna operacion,
se pone implemente
select * from tabla where campo=parametro_1;
en cambio cuando usas algo asi en alguna app,
sql="select * from tabla='" + parametro_1 + "'"; (creo que power builder no)
ok, si falto poner where campo=..... en el select que puse de ejemplo, por eso hay un ' despues del =
Post by Henry
y ya sabemos que puede pasar, si un usuario pone un valor mal
intencionado en parametro_1, al menos que primero asegures que
parametro_1 es un valor adecuado para la consulta, osea tendria que
crear alguna subrutina para esto, la mayoria de aplicaciones ya
vienen con subrutinas para esto, algo como 'prepare' o algo asi.
sql = "select dame_resultados(" + parametro_1 + ")";
yo no uso esa forma para llamar a las funciones desde mi app, por eso no tengo problemas de ese tipo.
Post by Henry
parametro_1 sigue viajando como parte de la cadena. Y por más que
1); delete from tabla; --
Pese al blindaje que intentaste poner a través de la función
dame_resultados, el usuario te está inyectando un delete from tabla
como si nada. Sin embargo, si tienes (evitando notaciones específicas
statement = pg_prepare("select * from tabla where id = ?")
statement.execute(parametro_1)
te puedes olvidar de inyecciones de SQL - El '?' se vuelve un
"placeholder" - un elemento que será reemplazado en la consulta (ya
compilada y procesada por el motor de Postgres) por la consulta que
vayas a hacer.
es por eso que tambien evito en lo posible usar la sentencia
'execute' de postgres, al menos que sea yo mismo quien ponga los
valores para armar la consulta.
bueno, saludos y gracias por una replica alturada.


---------------------------------

LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
Gabriel Colina
2007-03-18 13:12:09 UTC
Permalink
Post by Henry
Post by Henry
bueno, para comenzar no me gusta usar trigger,
tambien soy poco de
Post by Henry
usar vista, ya que cuando hay pocos datos en la BD
son buenas pero
Post by Henry
cuando la informacion va creciendo se ponen algo
lentas, se refiero a
Post by Henry
las vistas.
Humh... Las vistas tienden a ser muy eficientes,
según lo que yo he
podido observar :) Mi recomendación va más bien
porque rara vez vale
la pena la rigidez que te impone _una_ consulta
prefabricada - pero si
la requieres, para algo son!
No voy a debatir sobre esto, tengo opiniones
encontradas en uno u otro punto con Henry y en uno u
otro punto con Gunnar.
Lo dejo para otro momento, quiza para alguna charla de
boliche en alguna convencion, quiza en el dia de
PostgresSOL, no quita que en algun momento, me tienete
y conteste algo.
Lo que quiero felicitar a Henry y a Gunnar es por la
forma en que exponen las ideas en este debate.
Cada uno con sus fundamentos, pero sin denostar la
opinion del otro, los felicito a los dos, ojala esto
se torne cotidiano en el foro.
Post by Henry
Post by Henry
que raro que digas que no se obtiene alguna
ventajas en rendimientos
Post by Henry
al usar funciones, o es mejor hacer 5 select
seguidos en el cliente
Post by Henry
para validar datos antes de un insert, update o
delete (osea
Post by Henry
aumentar el trafico de la red, imaginate en
ambiente web). Ademas de
Post by Henry
mencionar los planes de ejecucion para las
funciones.
No, claro, si vas a hacer una secuencia de
operaciones, adelante, crea
CREATE FUNCTION registra_hijo (integer, integer) AS
$$
DECLARE
padre ALIAS FOR $1,
hijo ALIAS FOR $2,
BEGIN
INSERT INTO relaciones (id_padre, id_hijo) VALUES
(padre, hijo);
END
$$ language 'plpgsql';
Pues... ¿qué sentido tiene? Y créeme, me he
encontrado con muchos
casos como este, en que el programador cree de este
modo estar
"empujando" la lógica a la BD. Creo que tendría
mayor sentido, en tu
sub agrega_hijo {
my $sth = $self->{db}->prepare('INSERT INTO
relaciones (id_padre, id_hijo) VALUES (?,?)');
$sth->execute($self->{id}, $hijo->{id});
}
por poner un ejemplo simplista, claro está ;-)
Post by Henry
Tambien por
cuestiones de seguridad el poner los nombres de
columnas y tablas en
Post by Henry
tu codigo fuente, asi como tambien el usuario no
esta trabajando
Post by Henry
directamente con la tabla sino con las funciones
lo cual hace menos
Post by Henry
posible algun ataque de inyección SQL y se le
puede asignar
Post by Henry
privilegios a las funciones sin ningun problema.
Momento, momento... Acá estás confundiendo peras con
gimnasia. Para
evitar inyección de SQL, lo que debes hacer es
evitar meter cualquier
elemento proporcionado por el usuario a tus cadenas
SQL - ¿cómo?
Preparando las órdenes antes de ejecutarlas (puedes
verlo en la
función que hice). En realidad, tener una aplicación
completa que no
maneje SQL en lo más mínimo, es demasiado pedir...
Es casi casi como
programar una aplicación que no conozca la
estructura de los datos que
maneja. Ni siquiera con frameworks (p.ej. Rails) que
hacen lo posible
por evitarte escribir el SQL directamente - los
nombres de las
tablas y columnas siempre son fundamentales para tu
código. Puedes,
sí, mantener diferentes órdenes ejecutadas por
diferentes usuarios, o
cosas por el estilo.
Post by Henry
Tampoco hay que
preocuparse por los caracteres especiales ya sea
un update,delete o insert.
Nuevamente: Prepara una cadena SQL sin elementos
externos. Ejecuta con
los datos proporcionados por el usuario. No hay
posibilidad de
inyección de SQL.
Post by Henry
El uso de manejo de transacciones,
donde mi lema es 'O se hace todo lo necesario o
nada se hace' es
Post by Henry
obvio que por motivos de integridad de datos.
Completamente de acuerdo en esto - No lo incluí en
la funcioncita de
arriba para mantenerla sencilla, pero sí, cualquier
cosa que ocupe más
de una operación a la BD debe ir en una transacción
Post by Henry
Que la logica del negocio se encuentre
centralizada asi que no solamente puede ser
utilizada por una
Post by Henry
aplicacion sino por varias otras que la necesiten.
Acá... A veces y a veces. Depende de cada caso. Por
ejemplo, en mi
caso, yo uso la BD principalmente como un depósito
de datos
estructurados (y con algunos triggers mantengo
pedacitos de esa
estructura que no son representables fácilmente en
el DDL). Hago una
capa back-end en mi lenguaje de preferencia, que
representa lo que les
ha dado por llamar la «lógica del negocio» (¡Dios me
libre de hacer
negocios! ;-) ), y hago otra capa que se encarga de
la interacción con
el usuario. O, cuando escribo con Ruby, me ciño al
tradicional patrón
MVC, usando a la BD estrictamente como la mitad de
abajo del modelo.
Aca si me tente, que facil de seducir soy, lo voy
hacer en forma de pregunta no de afirmacion.


"Empujar las reglas de negocio", tratando de que
cualquier app, se sirva de las funciones, esta mal?

Aunque soy partidario de "empujar la regla" admito que
el a veces y a veces, es una buena contestacion, por
el hecho de que a veces armas una aplicacion, por
ejemplo para la web, con cosas por ejemplo que si bien
estan contempladas en el MER, no se contemplaron en la
necesidad "comercial" del momento, puesto que la
operativa del "negocio" cambio, determinando nuevas
funcionalidades, todos sabemos que las funciones son
mas peregnes y cambiantes en el tiempo, que los
modelos de datos.

Entonces en este punto el a veces y el a veces resulta
bueno en cuanto a las funciones, pero igual trato de
empujar la mayor parte de las mismas hacia la BD, por
que todavia no veo lo malo.

En cuanto a las vistas defiendo el tenerlas en la BD.
por que para algo tenemos el explain analyze, aunque
en PostgreSQL yo tendria que tirar esto a Jaime o a
Alvaro, para que me expliquen mejor los resultados que
tengo puesto que me falta estudio, pero normalmente si
algo en la vista es lento, trabajo en cambiar el
planteo, haciendo que todo los modulos de mi app o mis
app que la utilizen se beneficien de la optimizacion.
Post by Henry
ha dado por llamar la «lógica del negocio» (¡Dios me
libre de hacer
negocios! ;-) ),
Admito que cuando escribiste esto me desubicaste y me
obligaste a poner todo lo referido a negocio entre
comillas.
No por que no comparta tu frase, si no por que me di
cuenta que tengo que cambiar en mis discursos esta
forma de expresion y no se como hacer esto que se me
hizo costumbre.
Por que cambiarla, por que la mitad de mi programacion
va destinada a obras sociales, cooperativas de
vivienda etc. y la frase "logica del negocio" o los
insulta por decirles que lo que hacen es un negocio, o
los insulta por decirles que como no es un negocio no
tiene logica. Punto que reflexione mientras leia.
Post by Henry
Post by Henry
Sobre porque uso 'select ' para retoirnar datos
desde una funcion, es
Post by Henry
por ke no uso vistas, como dije anteriormente al
comienzo son buenas
Post by Henry
pero cuando la informacion crece se ponen un poco
lentas (eso sucede
Post by Henry
en cualquier DBMS).Y claro a veces debo hacer una
consulta previa a
Post by Henry
la principal. (trafico de red) .
Vistas bien definidas, con índices bien definidos,
no deben darte
mayor problema de rendimiento. Al menos, no un
problema mayor que
hacer esa misma consulta desde la aplicacíon ;-)
Saludos,
Como vieron en mi argumento anterior comparto esto de
definir y buscar optimizar siempre las vistas, ademas
de obtener el apoyo de las reglas de insert, update y
delete, para todos los usos posteriores.

Encantado de haber leido un texto tan ameno en el
foro, saluda a ustedes,
Atte.
Gabriel Colina
Post by Henry
--
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E
F35A 8BB5 27AF
---------------------------(fin del
mensaje)---------------------------
TIP 6: ¿Has buscado en los archivos de nuestra lista
de correo?
http://archives.postgresql.org/pgsql-es-ayuda
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Jaime Casanova
2007-03-16 02:40:38 UTC
Permalink
Post by Gunnar Wolf
Post by Gabriel Colina
El otro dia hablabas despectivamente de PHP,
refiriendote a una aplicacion, creo que PHP no es de
M$.
Cada que un novato a la programación se acerca ya sea por el lado de
Visual Basic o de PHP, Dios mata a un gatito. ¡Por favor! Piensen en
los gatitos.
no entendi esto :(
--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook
Gunnar Wolf
2007-03-16 22:01:50 UTC
Permalink
Post by Jaime Casanova
Post by Gunnar Wolf
Cada que un novato a la programación se acerca ya sea por el lado de
Visual Basic o de PHP, Dios mata a un gatito. ¡Por favor! Piensen en
los gatitos.
no entendi esto :(
VB y PHP son malos. Terribles. Genocidas. No los uses.

saludos,
--
Gunnar Wolf - gwolf-***@public.gmane.org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF
Javier Carlos
2007-03-17 15:16:43 UTC
Permalink
Post by Gunnar Wolf
Post by Jaime Casanova
Post by Gunnar Wolf
Cada que un novato a la programación se acerca ya sea por el lado de
Visual Basic o de PHP, Dios mata a un gatito. ¡Por favor! Piensen en
los gatitos.
no entendi esto :(
VB y PHP son malos. Terribles. Genocidas. No los uses.
PHP no es malo (VB en lo personal no me gusta, pero he visto desarrollos
muy decentes en este lenguaje), los malos son los programadores estúpidos,
no importa el lenguaje.

Es lo mismo que con los sistemas operativos, no porque alguien le ponga a
su server OpenBSD en lugar de Win 2003 ya va a ser mejor. Si no sabe
administrarlo, su server puede estar hackeado por varios años sin que se
dé cuenta...


Saludos,

Javier
Oswaldo Hernández
2007-03-14 14:44:26 UTC
Permalink
...
Post by Alvaro Herrera
Y me pregunto, no hay una manera
Post by Alvaro Herrera
_sana_ de usar el
lenguaje??? No hay algo asi como un sprintf() con
el cual puedas
construir el string de la consulta? Lo que muestras
arriba es horrible
e inmantenible, y me pregunto como diablos puede un
programador hacer
algo con un lenguaje asi.
Alvaro me extrania de ti este tipo de respuestas, pero
te contesto, en dos sentidos, el primero que el
lenguaje es circunstancial para un buen programador,
segundo, asi como no puedo opinar de Lazarus por
ejemplo por que a penas lo mire, hay muchos que opinan
de Visual sin conocerlo, o acaso para calificarlo asi,
hiciste la carrera de Developer y te certificaste
????.
Sin animo de entrar en polemicas, no puedo evitar hacer unos comentarios sobre esto.

He estado mas 10 años trabajando con VB (VB3, 4, 5 y 6), por lo que creo que algo de experiencia con
el lenguaje si la tengo.

En mi caso la aparición del .net fue la gota que colmo el vaso y decidi abandonar el vb. La
experiencia hasta ahora es que fue una decision acertada.

Con respecto al comentario de Alvaro, antes veia naturales cosas como el codigo VB que dio inicio a
este thread, pero ahora soy de su misma opinión.

En cuanto a que el lenguaje es circunstancial para un buen programador, si, y no. Un buen conductor
siempre conducirá bien, pero si conduce un Mercedes tendrá mas prestaciones y seguridad que si
conduce una coche económico. (VB *no* es el mercedes :) )

Con estos comentarios no quiero desmerecer a los que utilizan VB, que tienen todos mis respetos, ni
al propio lenguaje en si, al que considero una opcion mas, pero la mayoria de los que utilizan este
entorno (por lo menos los que conozco) piensan que por la combinacion de economia, rapidez de
desarrollo, potencia, soporte, etc estan en el mejor de los mundos. Esto es un dato erroneo.

Saludos.
--
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
Henry
2007-03-13 21:24:52 UTC
Permalink
por eso es mejor usar funciones de postgres y ahi insertar tus registros.
a esa funcion la llamas desde VB con ADODB:Command,


Gabriel Ferro <gabrielrferro-/***@public.gmane.org> escribió:

Maestros, tengo el problema que cuando intento guardar una cadena en un campo del tipo character(50) hay carcateres que me dan problemas esto lo hago desde VB con

sql= "UPDATE ""Acta"" SET " _
& """FechaCarga""='" & Format(campos(2), "dd/mm/yyyy") & "', " _
& """Lugar""='" & lugar & "' " _
& " WHERE ""CodActa""='" & tuplas2!CodActa & "';"
cnn.Execute (sql)

la cosa es que si el campo lugar tiene
por ejemplo !"·$%&/()=?¿ÑѪºÇÇÁÉÍÓÚÀÈÌÒÙ><hola

me da el error como si se pasa de los 50 caracteres
fui viendo simbolo por simbolo y tuve que hacer una funcion que reemplaza los caracteres problematicos por un *, los que me dieron problemas eran
"
!
&
%
·
º
lo raro aun mas es que si copio el contenido de la variale sql en tiempo de ejecucion y la pego en un pgpadmin3 la instruccion se ejecuta sin problemas... y ademas como aseguro que son solo estos, hay alguna funcion de postgree que reemplace los caracteres problematicos asegurandome que no se pinchara el programa con cualquier cadena que tenga?






---------------------------------
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
Probalo ya!





---------------------------------
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
Probalo ya!


---------------------------------

LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
Gabriel Colina
2007-03-13 21:50:10 UTC
Permalink
Post by Henry
por eso es mejor usar funciones de postgres y ahi
insertar tus registros.
a esa funcion la llamas desde VB con
ADODB:Command,
Maestros, tengo el problema que cuando intento
guardar una cadena en un campo del tipo
character(50) hay carcateres que me dan problemas
esto lo hago desde VB con
sql= "UPDATE ""Acta"" SET " _
& """FechaCarga""='" &
Format(campos(2), "dd/mm/yyyy") & "', " _
& """Lugar""='" & lugar & "' " _
& " WHERE ""CodActa""='" &
tuplas2!CodActa & "';"
cnn.Execute (sql)
la cosa es que si el campo lugar tiene
por ejemplo !"·$%&/()=?¿ÑѪºÇÇÁÉÍÓÚÀÈÌÒÙ><hola
me da el error como si se pasa de los 50
caracteres
fui viendo simbolo por simbolo y tuve que hacer
una funcion que reemplaza los caracteres
problematicos por un *, los que me dieron problemas
eran
"
!
&
%
·
º
lo raro aun mas es que si copio el contenido de la
variale sql en tiempo de ejecucion y la pego en un
pgpadmin3 la instruccion se ejecuta sin problemas...
y ademas como aseguro que son solo estos, hay alguna
funcion de postgree que reemplace los caracteres
problematicos asegurandome que no se pinchara el
programa con cualquier cadena que tenga?
Lo que me parece que te molesta es las comillas dobles
dos veces, pone comillas "" para visual y '' para la
sentencia postgres.

Pero tambien yo te dije antes que es mejor hacer unas
funciones en pg/plsql, e invocarla como invocas una
funcion en M$ o en access, le pasas los parametros y
que ella se encargue de insertar, borrar o modificar
registros.

Atte.
Gabriel Colina

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Alvaro Herrera
2007-03-13 21:54:52 UTC
Permalink
Post by Gabriel Colina
Post by Gabriel Ferro
sql= "UPDATE ""Acta"" SET " _
& """FechaCarga""='" &
Format(campos(2), "dd/mm/yyyy") & "', " _
& """Lugar""='" & lugar & "' " _
& " WHERE ""CodActa""='" &
tuplas2!CodActa & "';"
cnn.Execute (sql)
Lo que me parece que te molesta es las comillas dobles
dos veces, pone comillas "" para visual y '' para la
sentencia postgres.
No es tan facil, porque Postgres quiere que los nombres de las tablas y
columnas con mayusculas vengan con comillas dobles.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Gabriel Colina
2007-03-14 02:13:55 UTC
Permalink
Post by Gabriel Colina
Post by Gabriel Colina
Post by Gabriel Ferro
sql= "UPDATE ""Acta"" SET " _
& """FechaCarga""='" &
Format(campos(2), "dd/mm/yyyy") & "', " _
& """Lugar""='" & lugar & "' "
_
Post by Gabriel Colina
Post by Gabriel Ferro
& " WHERE ""CodActa""='" &
tuplas2!CodActa & "';"
cnn.Execute (sql)
Lo que me parece que te molesta es las comillas
dobles
Post by Gabriel Colina
dos veces, pone comillas "" para visual y '' para
la
Post by Gabriel Colina
sentencia postgres.
No es tan facil, porque Postgres quiere que los
nombres de las tablas y
columnas con mayusculas vengan con comillas dobles.
Eso es correcto, Alvaro, por eso mismo digo que lo que
le pase a postgres lleve comillas simples, la variable
sql antes del execute lleve dobles.

Pero aca pongo varios ejemplos de como resolver desde
visual y los he usado todos.

Ejemplo 1
Para mi muy apropiado.

Creo una funcion en el lenguaje PLPGSQL, en
postgresql, (aclaro que si alguna palabra no la pongo
bien por ejemplo plpgsql no se escribe asi, me importa
poco, debatan sobre conceptos por favor).
Retomando el tema aca hay una funcion a la que
pasandole parametros desde visual borra una tabla
auxiliar, la llena de datos le hace algun insert y
podria ser un update en fin todo.
Incluso uno de los select de la insercion invoca otra
funcion.

CREATE OR REPLACE FUNCTION
"central"."fnc_imp_ficha_articulo" (text, date,
integer) RETURNS boolean AS
$body$
begin
delete from central.imp_ficha_stock;
insert into central.imp_ficha_stock
(id_local,sucursal,
empresa,id_lin,documento,serie,numero,fecha,
id_articulo,entradas,salidas,saldos)
select id_local,sucursal,
empresa,id_lin,documento,serie,numero,fecha,
id_articulo,entradas,salidas,saldos from
central.fnc_ficha_articulo($1,$2,$3);
return true;
end;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT
SECURITY INVOKER;

Llamada desde visual

DtaSysGeGcFunc.central_fnc_imp_ficha_articulo
TxtDatos.Text, DTPDESDE.Value,
Val(DataComboLocal.BoundText)

Donde dtasysgegcfunc es igual a un dataenviroment
es un procedimiento del dataenviroment que llama a la
funcion, cuando creas el dataenviroment y su conecion
al DSN podes definir comando o procedimiento,
eligiendo procdimiento nos muestras las funciones de
la base de datos y elgiendo ejecuta esta pasando los
parametros que la funcion exige. aca se representa por
.central_fnc_imp_ficha_articulo, donde central_ es el
nombre del esquema y el punto visual lo representa con
_
TxtDatos.Text = textbox
DTPDESDE.Value = dtpicker
Val(DataComboLocal.BoundText) el valor numerico del
boundtext de un datacombobox.

Esto es facil y muy simple, se usa igual que en M$.

Ejemplo 2.

Se crea la funcion en pgplsql en este caso pongo otra
de ejemplo, pero puedo usar la misma

CREATE OR REPLACE FUNCTION
"central"."fnc_ing_lineas_doc" (bigint) RETURNS date
AS
$body$
declare
v_id_cab alias for $1;
curtime date;
BEGIN
curtime :='now';
delete from central.documentos where id_cab = $1;
insert into central.documentos
(id_cab,id_articulo,id_presupuesto,cantidad,fob,cif,costo_unitario,

costo_unit_final,precio_venta_unitario,dto1,dto2,impuesto_col_1,impuesto_col_2,ubicacion,

conteo)
select
id_cab,id_articulo,id_presupuesto,cantidad,fob,cif,costo_unitario,

costo_unit_final,precio_venta_unitario,dto1,dto2,impuesto_col_1,impuesto_col_2,ubicacion,

conteo from central.aux_lineas_doc where id_cab = $1;

delete from central.aux_lineas_doc where id_cab = $1;

RETURN curtime;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT
SECURITY INVOKER;

y desde un adodatacontrol, desde una conexion definida
por codigo o desde un dataenviroment como es este caso
ejecuto esto.

DtaSysGc.cnSysGeGc.Execute "select * from
central.fnc_ing_lineas_doc(" &
AdoCabezales.Recordset.Fields("id_cab") & ")"

Es Facil.


3 Metodo parecido al que plantea mi tocayo Gabriel
Ferro, a quien confieso le debo el hecho de darle una
mano mejor, que la que le di en la pregunta anterior y
por lo cual le pido disculpas y espero compenzarlo con
esto.


Desde visual y sin crear una funcion en postgresql.

DtaSysGc.cnSysGeGc.Execute "insert into
central.documentos (id_articulo,id_cab,cantidad)
select '" & TxtDatos(0).Text & "' as id_articulo, " &
nCabezales & " as id_cab, " &
Abs(Val(Lbldatos(4).Caption)) & " as cantidad;"

Las comillas dobles encierran todo lo que se va a
ejecuttar, pero si miras esto previamente de un msgbox
o desde el depurador verias que lo que pasa es esto
insert into central.documentos
(id_articulo,id_cab,cantidad) select 'PH8' as
id_articulo, 924,123.45 as cantidad;

En el id_articulo se pasa un caracter entre comillas
simples.

Igual tendrias que hacer en el update, lo que pasa que
la fecha si yo lo hago asi la trataria con
year-month-day para que o sea '2007-03-14'

Esta opcion Gabriel es la que menos me gusta, creo que
las funciones estan para resolver este tipo de cosas
ahorrandonos escribir codigo en nuestra aplicacion y
pudiendo hacer una programacion lo mas cerca de la
programacion en tres capas.

Disculpame Alvaro por llenar el foro con cosas de
Visual, pero me encanta que la gente tenga soluciones
para que tambien el mundo de M$ empieze a preferir
usar postgresql, por que ganan en robustes y no
pierden facilidades.
Post by Gabriel Colina
Alvaro Herrera
http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom
Development, 24x7 support
Atte. Gabriel Colina


__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Henry
2007-03-14 17:32:13 UTC
Permalink
como dije anteriormente, no es recomendable hacer update,select,delete y insert en el mismo codigo de la aplicacion,
para eso existen las funciones de postgres.

usando las funciones de postgres desde VB, se arregla todo el problema de caracteres especiales que se quieran insertar, actualizar o borrar.

Para eso existe ADODB.Command, los que saben de VB, sabran lo que estoy diciendo.

Gabriel Colina <colina_movil-/***@public.gmane.org> escribió:

--- Alvaro Herrera
Post by Gabriel Colina
Post by Gabriel Colina
Post by Gabriel Ferro
sql= "UPDATE ""Acta"" SET " _
& """FechaCarga""='" &
Format(campos(2), "dd/mm/yyyy") & "', " _
& """Lugar""='" & lugar & "' "
_
Post by Gabriel Colina
Post by Gabriel Ferro
& " WHERE ""CodActa""='" &
tuplas2!CodActa & "';"
cnn.Execute (sql)
Lo que me parece que te molesta es las comillas
dobles
Post by Gabriel Colina
dos veces, pone comillas "" para visual y '' para
la
Post by Gabriel Colina
sentencia postgres.
No es tan facil, porque Postgres quiere que los
nombres de las tablas y
columnas con mayusculas vengan con comillas dobles.
Eso es correcto, Alvaro, por eso mismo digo que lo que
le pase a postgres lleve comillas simples, la variable
sql antes del execute lleve dobles.

Pero aca pongo varios ejemplos de como resolver desde
visual y los he usado todos.

Ejemplo 1
Para mi muy apropiado.

Creo una funcion en el lenguaje PLPGSQL, en
postgresql, (aclaro que si alguna palabra no la pongo
bien por ejemplo plpgsql no se escribe asi, me importa
poco, debatan sobre conceptos por favor).
Retomando el tema aca hay una funcion a la que
pasandole parametros desde visual borra una tabla
auxiliar, la llena de datos le hace algun insert y
podria ser un update en fin todo.
Incluso uno de los select de la insercion invoca otra
funcion.

CREATE OR REPLACE FUNCTION
"central"."fnc_imp_ficha_articulo" (text, date,
integer) RETURNS boolean AS
$body$
begin
delete from central.imp_ficha_stock;
insert into central.imp_ficha_stock
(id_local,sucursal,
empresa,id_lin,documento,serie,numero,fecha,
id_articulo,entradas,salidas,saldos)
select id_local,sucursal,
empresa,id_lin,documento,serie,numero,fecha,
id_articulo,entradas,salidas,saldos from
central.fnc_ficha_articulo($1,$2,$3);
return true;
end;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT
SECURITY INVOKER;

Llamada desde visual

DtaSysGeGcFunc.central_fnc_imp_ficha_articulo
TxtDatos.Text, DTPDESDE.Value,
Val(DataComboLocal.BoundText)

Donde dtasysgegcfunc es igual a un dataenviroment
es un procedimiento del dataenviroment que llama a la
funcion, cuando creas el dataenviroment y su conecion
al DSN podes definir comando o procedimiento,
eligiendo procdimiento nos muestras las funciones de
la base de datos y elgiendo ejecuta esta pasando los
parametros que la funcion exige. aca se representa por
.central_fnc_imp_ficha_articulo, donde central_ es el
nombre del esquema y el punto visual lo representa con
_
TxtDatos.Text = textbox
DTPDESDE.Value = dtpicker
Val(DataComboLocal.BoundText) el valor numerico del
boundtext de un datacombobox.

Esto es facil y muy simple, se usa igual que en M$.

Ejemplo 2.

Se crea la funcion en pgplsql en este caso pongo otra
de ejemplo, pero puedo usar la misma

CREATE OR REPLACE FUNCTION
"central"."fnc_ing_lineas_doc" (bigint) RETURNS date
AS
$body$
declare
v_id_cab alias for $1;
curtime date;
BEGIN
curtime :='now';
delete from central.documentos where id_cab = $1;
insert into central.documentos
(id_cab,id_articulo,id_presupuesto,cantidad,fob,cif,costo_unitario,

costo_unit_final,precio_venta_unitario,dto1,dto2,impuesto_col_1,impuesto_col_2,ubicacion,

conteo)
select
id_cab,id_articulo,id_presupuesto,cantidad,fob,cif,costo_unitario,

costo_unit_final,precio_venta_unitario,dto1,dto2,impuesto_col_1,impuesto_col_2,ubicacion,

conteo from central.aux_lineas_doc where id_cab = $1;

delete from central.aux_lineas_doc where id_cab = $1;

RETURN curtime;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT
SECURITY INVOKER;

y desde un adodatacontrol, desde una conexion definida
por codigo o desde un dataenviroment como es este caso
ejecuto esto.

DtaSysGc.cnSysGeGc.Execute "select * from
central.fnc_ing_lineas_doc(" &
AdoCabezales.Recordset.Fields("id_cab") & ")"

Es Facil.


3 Metodo parecido al que plantea mi tocayo Gabriel
Ferro, a quien confieso le debo el hecho de darle una
mano mejor, que la que le di en la pregunta anterior y
por lo cual le pido disculpas y espero compenzarlo con
esto.


Desde visual y sin crear una funcion en postgresql.

DtaSysGc.cnSysGeGc.Execute "insert into
central.documentos (id_articulo,id_cab,cantidad)
select '" & TxtDatos(0).Text & "' as id_articulo, " &
nCabezales & " as id_cab, " &
Abs(Val(Lbldatos(4).Caption)) & " as cantidad;"

Las comillas dobles encierran todo lo que se va a
ejecuttar, pero si miras esto previamente de un msgbox
o desde el depurador verias que lo que pasa es esto
insert into central.documentos
(id_articulo,id_cab,cantidad) select 'PH8' as
id_articulo, 924,123.45 as cantidad;

En el id_articulo se pasa un caracter entre comillas
simples.

Igual tendrias que hacer en el update, lo que pasa que
la fecha si yo lo hago asi la trataria con
year-month-day para que o sea '2007-03-14'

Esta opcion Gabriel es la que menos me gusta, creo que
las funciones estan para resolver este tipo de cosas
ahorrandonos escribir codigo en nuestra aplicacion y
pudiendo hacer una programacion lo mas cerca de la
programacion en tres capas.

Disculpame Alvaro por llenar el foro con cosas de
Visual, pero me encanta que la gente tenga soluciones
para que tambien el mundo de M$ empieze a preferir
usar postgresql, por que ganan en robustes y no
pierden facilidades.
Post by Gabriel Colina
Alvaro Herrera
http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom
Development, 24x7 support
Atte. Gabriel Colina


__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/

---------------------------(fin del mensaje)---------------------------
TIP 1: para suscribirte y desuscribirte, visita http://archives.postgresql.org/pgsql-es-ayuda



---------------------------------

LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
Gabriel Colina
2007-03-14 18:43:23 UTC
Permalink
Post by Henry
como dije anteriormente, no es recomendable hacer
update,select,delete y insert en el mismo codigo de
la aplicacion,
para eso existen las funciones de postgres.
usando las funciones de postgres desde VB, se
arregla todo el problema de caracteres especiales
que se quieran insertar, actualizar o borrar.
Para eso existe ADODB.Command, los que saben de
VB, sabran lo que estoy diciendo.
Henry completamente de acuerdo.

Ademas si lees todo te das cuenta que en dos de tres
sugerencias es precisamente lo que tu decis lo que
propongo. Y lo mostre desde un dataenviroment, desde
el codigo y desde un Adodatacontrol.

Escribi tus respuestas abajo por favor, es parte de lo
poco que se de la netetiq.

Atte. Gabriel Colina


__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Ricardo Martin Gomez
2007-03-13 19:12:38 UTC
Permalink
Gabriel tu problema es del unicode que estas usando, echale un vistazo por
ese lado.
pgadmin no te trae problemas por que esta usando el mismo unicode que la
base.

el tema es que depende del unicode algunos caracteres ocupan mas o menos
bytes por eso te de ese error.

Saludos
Martin.
Subject: [pgsql-es-ayuda] Simbolos dentro de cadenas
Date: Sun, 11 Mar 2007 06:14:19 -0700 (PDT)
Maestros, tengo el problema que cuando intento guardar una cadena en un
campo del tipo character(50) hay carcateres que me dan problemas esto lo
hago desde VB con
sql= "UPDATE ""Acta"" SET " _
& """FechaCarga""='" & Format(campos(2), "dd/mm/yyyy") & "', " _
& """Lugar""='" & lugar & "' " _
& " WHERE ""CodActa""='" & tuplas2!CodActa & "';"
cnn.Execute (sql)
la cosa es que si el campo lugar tiene
por ejemplo !"·$%&/()=?¿ÑѪºÇÇÁÉÍÓÚÀÈÌÒÙ><hola
me da el error como si se pasa de los 50 caracteres
fui viendo simbolo por simbolo y tuve que hacer una funcion que reemplaza
los caracteres problematicos por un *, los que me dieron problemas eran
"
!
&
%
·
º
lo raro aun mas es que si copio el contenido de la variale sql en tiempo de
ejecucion y la pego en un pgpadmin3 la instruccion se ejecuta sin
problemas... y ademas como aseguro que son solo estos, hay alguna funcion
de postgree que reemplace los caracteres problematicos asegurandome que no
se pinchara el programa con cualquier cadena que tenga?
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
_________________________________________________________________
Acepta el reto MSN Premium: Protección para tus hijos en internet.
Descárgalo y pruébalo 2 meses gratis.
http://join.msn.com?XAPID=1697&DI=1055&HL=Footer_mailsenviados_proteccioninfantil
Gabriel Ferro
2007-03-14 16:07:06 UTC
Permalink
Heyyy.. muchachos no se peleen, me parece que no estamos metiendo en un pozo negro, seamos sinceros el visual tiene sus grandes falencias yo usaba Delphi y me gustaba mucho mas, pero como muchos estamos obligados "a usar lo que otros saben usar" nos guste o no nos guste. Es lo que hay, no es cuestión de cual es mejor o cual es peor porquería, por ejemplo me hubiese encantado hacer todo con otros lenguajes como mono, powerbuilder, etc. pero o no se consigue una versión crackeada (el original no te lo compran ni a palos) o es muy difícil de conseguir documentación para aprender desde 0. Por ejemplo yo hacia 10 años que no programaba y en una semana hice un sistema de carga en visual, a los tumbos, con codigo asqueroso pero que anda... asi es la cosa, ahora tambien a los tumbos estoy haciendo que este programa deje de ser local y se conecte a postgreSql y ademas aprender linux que es lo que podemos instalar en el servidor que a su vez tendra servidor de correo y todo
sobre una VPN provincial... pufff... les parece que me puedo poner a elegir lo mejor y manejarlo al toque?..
por todo esto les pido mil disculpas si pregunto idoteces o me trasnformo en una aberracion programaril..jeeee.. son mis unicos salvavidas.....

haa.. les comento que todas las tablas y campos los pase a minusculas y las cadenas con comandos me quedaron mucho mas legibles, ya no tienen tantas comillitas...
Saludosssssss

PD: si algun genio de VB programara un componente donde se inserten los comandos que uno quiera limpitos limpitos como le gusta a Alavaro estaria barbaroooo.. yo no lo he encontrado...¿Uds?






__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
Miguel Bernilla Sánchez
2007-03-14 16:14:36 UTC
Permalink
============
Post by Gabriel Ferro
Heyyy.. muchachos no se peleen, me parece que no estamos metiendo
en un pozo negro, seamos sinceros el visual tiene sus grandes
falencias yo usaba Delphi y me gustaba mucho mas, pero como muchos
estamos obligados "a usar lo que otros saben usar" nos guste o no
nos guste. Es lo que hay, no es cuestión de cual es mejor o cual es
peor porquería, por ejemplo me hubiese encantado hacer todo con
otros lenguajes como mono, powerbuilder, etc. pero o no se consigue
una versión crackeada (el original no te lo compran ni a palos) o es
muy difícil de conseguir documentación para aprender desde 0. Por
ejemplo yo hacia 10 años que no programaba y en una semana hice un
sistema de carga en visual, a los tumbos, con codigo asqueroso pero
que anda... asi es la cosa, ahora tambien a los tumbos estoy
haciendo que este programa deje de ser local y se conecte a
postgreSql y ademas aprender linux que es lo que podemos instalar en
el servidor que a su vez tendra servidor de correo y todo sobre una
VPN provincial... pufff... les parece que me puedo poner a elegir lo mejor y manejarlo al toque?..
por todo esto les pido mil disculpas si pregunto idoteces o me
trasnformo en una aberracion programaril..jeeee.. son mis unicos salvavidas.....
 
haa.. les comento que todas las tablas y campos los pase a
minusculas y las cadenas con comandos me quedaron mucho mas
legibles, ya no tienen tantas comillitas...
Saludosssssss
 
PD: si algun genio de VB programara un componente donde se inserten
los comandos que uno quiera limpitos limpitos como le gusta a
Alavaro estaria barbaroooo.. yo no lo he encontrado...¿Uds?
Tengo entendido que Sybase (Empresa que provee power builder) tiene
desarrollado un plug in llamado "datawindows .net" para visual .net
que facilita mucho las cosas,,, personalmente no lo he probado... pero
dicen que anda muy bien.
Post by Gabriel Ferro
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
Probalo ya!
Gabriel Colina
2007-03-14 18:50:36 UTC
Permalink
Post by Miguel Bernilla Sánchez
============
Con fecha Miércoles, 14 de Marzo de 2007, 11:07:06
Post by Gabriel Ferro
Heyyy.. muchachos no se peleen, me parece que no
estamos metiendo
Post by Gabriel Ferro
en un pozo negro, seamos sinceros el visual tiene
sus grandes
Post by Gabriel Ferro
falencias yo usaba Delphi y me gustaba mucho mas,
pero como muchos
Post by Gabriel Ferro
estamos obligados "a usar lo que otros saben usar"
nos guste o no
Post by Gabriel Ferro
nos guste. Es lo que hay, no es cuestión de cual
es mejor o cual es
Post by Gabriel Ferro
peor porquería, por ejemplo me hubiese encantado
hacer todo con
Post by Gabriel Ferro
otros lenguajes como mono, powerbuilder, etc. pero
o no se consigue
Post by Gabriel Ferro
una versión crackeada (el original no te lo
compran ni a palos) o es
Post by Gabriel Ferro
muy difícil de conseguir documentación para
aprender desde 0. Por
Post by Gabriel Ferro
ejemplo yo hacia 10 años que no programaba y en
una semana hice un
Post by Gabriel Ferro
sistema de carga en visual, a los tumbos, con
codigo asqueroso pero
Post by Gabriel Ferro
que anda... asi es la cosa, ahora tambien a los
tumbos estoy
Post by Gabriel Ferro
haciendo que este programa deje de ser local y se
conecte a
Post by Gabriel Ferro
postgreSql y ademas aprender linux que es lo que
podemos instalar en
Post by Gabriel Ferro
el servidor que a su vez tendra servidor de correo
y todo sobre una
Post by Gabriel Ferro
VPN provincial... pufff... les parece que me puedo
poner a elegir lo mejor y manejarlo al toque?..
Post by Gabriel Ferro
por todo esto les pido mil disculpas si pregunto
idoteces o me
Post by Gabriel Ferro
trasnformo en una aberracion programaril..jeeee..
son mis unicos salvavidas.....
Post by Gabriel Ferro
 
haa.. les comento que todas las tablas y campos
los pase a
Post by Gabriel Ferro
minusculas y las cadenas con comandos me quedaron
mucho mas
Post by Gabriel Ferro
legibles, ya no tienen tantas comillitas...
Saludosssssss
 
PD: si algun genio de VB programara un componente
donde se inserten
Post by Gabriel Ferro
los comandos que uno quiera limpitos limpitos como
le gusta a
Post by Gabriel Ferro
Alavaro estaria barbaroooo.. yo no lo he
encontrado...¿Uds?
Tengo entendido que Sybase (Empresa que provee power
builder) tiene
desarrollado un plug in llamado "datawindows .net"
para visual .net
que facilita mucho las cosas,,, personalmente no lo
he probado... pero
dicen que anda muy bien.
Post by Gabriel Ferro
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni
imaginabas,
Post by Gabriel Ferro
está en Yahoo! Respuestas (Beta).
Probalo ya!
---------------------------(fin del
mensaje)---------------------------
TIP 4: No hagas 'kill -9' a postmaster
Gabriel, tocayo, a veces hay que pelear para defender
lo que uno cree.

Ademas he peleado esta vuelta con una de las dos
personas que mas admiro tecnicamente en esta lista.

Estoy si de acuerdo en un todo con Henry, sobre cual
es la mejor manera.

Quiza a muchos no les guste usar dataenviroment, bien
usado no es mas lento que hacerlo en el codigo, puesto
que ademas este se puede hacer de manera desprolijo.

Yo repito y al igual que Henry creo que es mejor
definir las funciones en la base de datos y luego
pasar parametros.

Usa Visual Basic, no uses codigo, Visual es tan
amigable que con casi nada de codigo resolves.

Atte.
Gabriel Colina





__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Juan Martínez
2007-03-14 19:19:47 UTC
Permalink
Post by Gabriel Colina
Gabriel, tocayo, a veces hay que pelear para defender
lo que uno cree.
Oye. Esto no es politica ni idealismos. Si crees que Windows o Linux son
herramientas de batalla, estás muy errado. Si uno defiende a Linux
(Lease *NIX) es por que técnicamente son mejores, y no tiene que ver con
un tema de creencias.
Post by Gabriel Colina
Ademas he peleado esta vuelta con una de las dos
personas que mas admiro tecnicamente en esta lista.
Y no te hace pensar que esa persona tiene la razon?
No digo que Alvaro las sabe todas, pero si trabaja colaborando en el
codigo de postgres, es por que algo sabe de programacion y lenguajes.
Por ende como te metes a pelear con alguien asi?

Si VB fuera tan bueno, por que no lo usan en tecnologia aplicada a la
medicina? (como si se usa C), por que no lo usaron para escribir el
mismo linux o bsd?. Por que crees que no se usa en practicamente ningun
desarrollo libre?

Encuentro horroroso es que se mencionó que algunas personas tienen que
usar software pirata para hacer los desarrollos. Entiendo que haya gente
que le guste VB (y que pague por ello), pero de ahi a usarlo
ilegalmente...es por que hay un problema etico.

Mira si se critica a VB, no es por que nos gusta hacerlo, sino por que
la etica profesional, que cada uno aqui puede tener, impele a hacerlo.
Puedes conocerlo un poquito o entero al dichoso lenguaje ese, da igual,
si al ver un ejemplo tan pedestre la aberracion salta a la luz...o sea...
--
Juan Martinez G. Mac Iver # 370
Departamento de Informatica 4997900 - 4997950
Universidad Miguel de Cervantes Santiago - Chile
Loading Image...
Gabriel Colina
2007-03-14 20:28:15 UTC
Permalink
Post by Gabriel Colina
Post by Gabriel Colina
Gabriel, tocayo, a veces hay que pelear para
defender
Post by Gabriel Colina
lo que uno cree.
Oye. Esto no es politica ni idealismos. Si crees que
Windows o Linux son
herramientas de batalla, estás muy errado. Si uno
defiende a Linux
(Lease *NIX) es por que técnicamente son mejores, y
no tiene que ver con
un tema de creencias.
Todo es politica, el relacionamiento humano es una
cuestion politica.

Claro que encerrado en el silicio no ves el mundo eso
es obvio.

Pero si eso es en lo que crees bien te respeto.
Post by Gabriel Colina
Post by Gabriel Colina
Ademas he peleado esta vuelta con una de las dos
personas que mas admiro tecnicamente en esta
lista.
Y no te hace pensar que esa persona tiene la razon?
No digo que Alvaro las sabe todas, pero si trabaja
colaborando en el
codigo de postgres, es por que algo sabe de
programacion y lenguajes.
Por ende como te metes a pelear con alguien asi?
No peleo, Alvaro sabe que discrepo con una forma de
plantear las cosas y nada mas.

Te puedo asegurar que quiza en la discrepancia aporte
mas que con la obsecuencia.
Post by Gabriel Colina
Si VB fuera tan bueno, por que no lo usan en
tecnologia aplicada a la
medicina? (como si se usa C), por que no lo usaron
para escribir el
mismo linux o bsd?. Por que crees que no se usa en
practicamente ningun
desarrollo libre?
En la medicina no usaria Linux si no fuera RTOS, por
suerte cuando me toco implemete QNX, te imaginas con
Fedora haciendo cosas que deberian funcionar RTOS.
Post by Gabriel Colina
Encuentro horroroso es que se mencionó que algunas
personas tienen que
usar software pirata para hacer los desarrollos.
Quien menciono esto, yo tengo el Visual Basic legal y
me lo regalo M$.
Post by Gabriel Colina
Entiendo que haya gente
que le guste VB (y que pague por ello), pero de ahi
a usarlo
ilegalmente...es por que hay un problema etico.
El que roba a un ladron.... reza un dicho muy popular.
Post by Gabriel Colina
Mira si se critica a VB, no es por que nos gusta
hacerlo, sino por que
la etica profesional, que cada uno aqui puede tener,
impele a hacerlo.
Me parece bien.
Post by Gabriel Colina
Puedes conocerlo un poquito o entero al dichoso
lenguaje ese, da igual,
si al ver un ejemplo tan pedestre la aberracion
salta a la luz...o sea...
Tu luz es una velita ?, a mi me parece bien usarlo
donde se debe usar y sustiurlo donde se debe
sustituir.


Atte.
Gabriel Colina

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Gabriel Colina
2007-03-14 19:11:55 UTC
Permalink
Post by Gabriel Ferro
Post by Gabriel Ferro
por todo esto les pido mil disculpas si pregunto
idoteces o me
Post by Gabriel Ferro
trasnformo en una aberracion programaril..jeeee..
son mis unicos salvavidas.....
Por suerte fui docente en varios campos y te digo que
tengo la percepcion que no hay idiotas, hay respuestas
idiotas.

No te disculpes por usar las computadoras para
sobrevivir en una sociedad de mercado, capitalista.

Es facil criticar con la heladera llena, cuando no
tenes que ser parte de un grupo de (profesionales
trasnochados que estudian en ese horario por que la
vida quiza no le dio otra oportunidad).

Esa no es mi condicion por obligacion si no por
opcion.

De todas maneras cuando sientas que la pregunta aca es
idiota, preguntame lo que quieras sobre Visual y
PostgreSQL.

Si llegaramos a la conclusion que esta pregunta es
pura para postgrsql, entonces la formularemos en el
Foro para no invadirlos con nuestra sucia forma de
obtener la vida. Y las obsenas palabrad de ADO,
Visual, Windows M$ y otras cosa que aca no soportan
y las llaman OT, aunque alguna vez me dijeran que si
se relaciona con PostgreSQL no eran OT. mmm?

Voy a crear en postgres-latam.org el espacio
win.postgresql-latam.org, para que publiquemos
nuestros codigos y experiencias con esta gran base de
datos y descontaminemos el foro de este tipo de
asquerosas preguntas.

Asi cuando lleguemos aqui, ocupemos el lugar que por
naturaleza se asigna a nosotros y es el de newbies.

Atte.
Gabriel Colina.

PD. mi proximo mail va a ser el de unsuscribe.







__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Espartano
2007-03-14 19:19:56 UTC
Permalink
Post by Gabriel Colina
Por suerte fui docente en varios campos y te digo que
tengo la percepcion que no hay idiotas, hay respuestas
idiotas.
No te disculpes por usar las computadoras para
sobrevivir en una sociedad de mercado, capitalista.
Es facil criticar con la heladera llena, cuando no
tenes que ser parte de un grupo de (profesionales
trasnochados que estudian en ese horario por que la
vida quiza no le dio otra oportunidad).
Esa no es mi condicion por obligacion si no por
opcion.
De todas maneras cuando sientas que la pregunta aca es
idiota, preguntame lo que quieras sobre Visual y
PostgreSQL.
Si llegaramos a la conclusion que esta pregunta es
pura para postgrsql, entonces la formularemos en el
Foro para no invadirlos con nuestra sucia forma de
obtener la vida. Y las obsenas palabrad de ADO,
Visual, Windows M$ y otras cosa que aca no soportan
y las llaman OT, aunque alguna vez me dijeran que si
se relaciona con PostgreSQL no eran OT. mmm?
Voy a crear en postgres-latam.org el espacio
win.postgresql-latam.org, para que publiquemos
nuestros codigos y experiencias con esta gran base de
datos y descontaminemos el foro de este tipo de
asquerosas preguntas.
Asi cuando lleguemos aqui, ocupemos el lugar que por
naturaleza se asigna a nosotros y es el de newbies.
Atte.
Gabriel Colina.
PD. mi proximo mail va a ser el de unsuscribe.
Valla que mal te lo has tomado :( lastima ......
--
"Linux is for people who hate Windows, BSD is for people who love UNIX".
"Social Engineer -> Because there is no patch for human stupidity"
"The Unix Guru's View of Sex unzip ; strip ; touch ; grep ; finger ;
mount ; fsck ; more ; yes ; umount ; sleep."
"Documentation is like sex: when it is good, it is very, very good;
and when it is bad, it is better than nothing."
Juan Martínez
2007-03-14 19:32:40 UTC
Permalink
Post by Gabriel Colina
No te disculpes por usar las computadoras para
sobrevivir en una sociedad de mercado, capitalista.
Otra vez mezclando peras con manzanas.
Si eres tan anti capitalista, que haces entonces usando software de una
empresa que vive del capitalismo?
Post by Gabriel Colina
[resentimientos varios...]
PD. mi proximo mail va a ser el de unsuscribe.
He de esperar que no sea de unsuscribe...

PD: es unsubscribe y no se le debe enviar a la lista, sino a una
direccion especificada en el mismo sitio por donde te inscribiste. :-D
--
Juan Martinez G. Mac Iver # 370
Departamento de Informatica 4997900 - 4997950
Universidad Miguel de Cervantes Santiago - Chile
http://download.bblug.usla.org.ar/netiquette.png
Gabriel Colina
2007-03-14 20:19:02 UTC
Permalink
Post by Gabriel Colina
Post by Gabriel Colina
No te disculpes por usar las computadoras para
sobrevivir en una sociedad de mercado,
capitalista.
Otra vez mezclando peras con manzanas.
No Juan, no mezclo, utilizo peras y utilizo manzanas.
Post by Gabriel Colina
Si eres tan anti capitalista, que haces entonces
usando software de una
empresa que vive del capitalismo?
Te contesto para que entienas un poco.


Lo mismo que hacian los Miristas y los del Manuel
Rodriguez en Chile cuando usaban armas fabricadas en
USA. Mi padre combatio una dictadura con FAL, por que
no les llegaron las AK47, el Che por suerte tuvo otra
oportunidad

Hasta que conoci Linux, cuando me desvincule a
Microsoft, proponia a las pymes de mi pais que no
adoptaran mas tecnolgia que la de Windows 2000, por
que todo lo demas era superfluo, entonces me dedique
hacer aplicaciones para pymes que corrieran en W98,
ME, NT y servidor NT o 2000, pero que les aportara la
capacidad con que contaban las grandes empresas y solo
adpote xp, cuando postgresql pudo correr en el.

Asi muchas empresas no gastaban en correr la carrera
que M$ les sugeria.

Combate desde adentro se llama.

Por eso no uso .net y de haber trabajado en Loreal, el
Latu, Coca Cola, me pase a aportar a cooperativas y
pymes de mi pais.

Hoy tengo un gobierno que va darle prioridad a linux y
mi compromiso es apoyar a una tecnolgia desarrollo de
un tencolgia contraegemonica que nos ayude y no que
nos unda en grandes costos y gastando en licitaciones
millonarias.

No la empresa M$ esa no vive del capitalismo forma
parte y lo fomenta, yo lamentablemente vivo en el.

Ademas China clono esa tecnologia o sea Windows y
tambien conocen linux, ellos saben que si se conocen a
si mismos y conocen al enemigo, libraran mil batallas
sin perder ninguna.

Te aclaro que estoy adoptando para mi UTUTO que es
Sudamericano, pero todavia no puedo imponerlo en mis
clientes.

Atte.
Gabriel Colina
Post by Gabriel Colina
Post by Gabriel Colina
[resentimientos varios...]
PD. mi proximo mail va a ser el de unsuscribe.
He de esperar que no sea de unsuscribe...
PD: es unsubscribe y no se le debe enviar a la
lista, sino a una
direccion especificada en el mismo sitio por donde
te inscribiste. :-D
--
Juan Martinez G. Mac Iver # 370
Departamento de Informatica 4997900 - 4997950
Universidad Miguel de Cervantes Santiago - Chile
http://download.bblug.usla.org.ar/netiquette.png
---------------------------(fin del
mensaje)---------------------------
TIP 8: explain analyze es tu amigo
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Ricardo Martin Gomez
2007-03-15 13:14:17 UTC
Permalink
Buenas mis amigos listeros:
No quiero entrar en discusiones como estas por que me parecen sin sentido
y los invito a todos a hacer en forma privada y no a la lista ya que los que
nos dedicamos solo a postgres no tenemos nada que ver con esas "cosas"
llamadas lenguajes de programacion.
Con esto no quiero ofender a nadie pero me parece demasiado tonto
prenderse en un debate sobre que lenguaje de programacion es mejor y cual
peor y sobre todo en la lista de "POSTGRES".
Propongo que para esto vayan a los foros de esos lenguajes a hacerlo.

Vuelvo a repetir "no es mi intencion ofender a nadie".
Ahora bien, si se trata de ver que conviene programar clientes ricos con
toda la programacion en el lenguaje o clientes finos con todo en postgres
sin duda opino que la segunda opcion es la mejor de todas y mas eficente.
Ahora como administrador de bases de datos voy a reconocer que los
programadores prefieren hacer clientes ricos, al menos todos los que
conozco, y para este caso ver que BD es mejor o peor tiene otro significado.

Con todo esto que digo no pretendo alentar a toda la gente a apartarse de la
lista, pretendo que todos asi como yo podamos aprender sobre postgres y
decidir si usarla o no segun el criterio de cada uno.

Disculpen la extension de mi mail, pero es que me cansa un poco leer 50 o 60
mail por dia y que solo 5 0 6 esten destinados a postgres exclusivamente.

Saludos
Martin.
Subject: Re: [pgsql-es-ayuda] Simbolos dentro de cadenas
Date: Wed, 14 Mar 2007 15:32:40 -0400
Post by Gabriel Colina
No te disculpes por usar las computadoras para
sobrevivir en una sociedad de mercado, capitalista.
Otra vez mezclando peras con manzanas.
Si eres tan anti capitalista, que haces entonces usando software de una
empresa que vive del capitalismo?
Post by Gabriel Colina
[resentimientos varios...]
PD. mi proximo mail va a ser el de unsuscribe.
He de esperar que no sea de unsuscribe...
PD: es unsubscribe y no se le debe enviar a la lista, sino a una direccion
especificada en el mismo sitio por donde te inscribiste. :-D
--
Juan Martinez G. Mac Iver # 370
Departamento de Informatica 4997900 - 4997950
Universidad Miguel de Cervantes Santiago - Chile
http://download.bblug.usla.org.ar/netiquette.png
---------------------------(fin del mensaje)---------------------------
TIP 8: explain analyze es tu amigo
_________________________________________________________________
¿Estás pensando en cambiar de coche? Todas los modelos de serie y extras en
MSN Motor. http://motor.msn.es/researchcentre/
Gabriel Colina
2007-03-15 18:16:01 UTC
Permalink
Post by Ricardo Martin Gomez
No quiero entrar en discusiones como estas por
que me parecen sin sentido
y los invito a todos a hacer en forma privada y no a
la lista ya que los que
nos dedicamos solo a postgres no tenemos nada que
ver con esas "cosas"
llamadas lenguajes de programacion.
Con esto no quiero ofender a nadie pero me parece
demasiado tonto
prenderse en un debate sobre que lenguaje de
programacion es mejor y cual
peor y sobre todo en la lista de "POSTGRES".
Propongo que para esto vayan a los foros de esos
lenguajes a hacerlo.
Vuelvo a repetir "no es mi intencion ofender a
nadie".
Ahora bien, si se trata de ver que conviene
programar clientes ricos con
toda la programacion en el lenguaje o clientes finos
con todo en postgres
sin duda opino que la segunda opcion es la mejor de
todas y mas eficente.
Ahora como administrador de bases de datos voy a
reconocer que los
programadores prefieren hacer clientes ricos, al
menos todos los que
conozco, y para este caso ver que BD es mejor o peor
tiene otro significado.
Con todo esto que digo no pretendo alentar a toda la
gente a apartarse de la
lista, pretendo que todos asi como yo podamos
aprender sobre postgres y
decidir si usarla o no segun el criterio de cada
uno.
Disculpen la extension de mi mail, pero es que me
cansa un poco leer 50 o 60
mail por dia y que solo 5 0 6 esten destinados a
postgres exclusivamente.
Saludos
Martin.
CC: Miguel Bernilla Sánchez
Subject: Re: [pgsql-es-ayuda] Simbolos dentro de
cadenas
Date: Wed, 14 Mar 2007 15:32:40 -0400
Post by Gabriel Colina
No te disculpes por usar las computadoras para
sobrevivir en una sociedad de mercado,
capitalista.
Otra vez mezclando peras con manzanas.
Si eres tan anti capitalista, que haces entonces
usando software de una
empresa que vive del capitalismo?
Post by Gabriel Colina
[resentimientos varios...]
PD. mi proximo mail va a ser el de unsuscribe.
He de esperar que no sea de unsuscribe...
PD: es unsubscribe y no se le debe enviar a la
lista, sino a una direccion
especificada en el mismo sitio por donde te
inscribiste. :-D
--
Juan Martinez G. Mac Iver # 370
Departamento de Informatica 4997900 -
4997950
Universidad Miguel de Cervantes Santiago - Chile
http://download.bblug.usla.org.ar/netiquette.png
---------------------------(fin del
mensaje)---------------------------
TIP 8: explain analyze es tu amigo
_________________________________________________________________
Post by Ricardo Martin Gomez
¿Estás pensando en cambiar de coche? Todas los
modelos de serie y extras en
MSN Motor. http://motor.msn.es/researchcentre/
---------------------------(fin del
mensaje)---------------------------
TIP 8: explain analyze es tu amigo
Te entiendo Martin, y por eso propuse hace unos meses
armar un postgresql-latam.org para abrir un camino que
nos permita tener a postgersql como base central, pero
orientada a dar respuesta a problemas de comunicacion
con cada lenguaje.

Como eso no tuvo eco y habemos por lo visto muchos con
necesidad de plantear estos temas, se termina
recayendo en este foro.

Atte.
Gabriel Colina

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Gabriel Colina
2007-03-15 18:16:03 UTC
Permalink
Post by Ricardo Martin Gomez
No quiero entrar en discusiones como estas por
que me parecen sin sentido
y los invito a todos a hacer en forma privada y no a
la lista ya que los que
nos dedicamos solo a postgres no tenemos nada que
ver con esas "cosas"
llamadas lenguajes de programacion.
Con esto no quiero ofender a nadie pero me parece
demasiado tonto
prenderse en un debate sobre que lenguaje de
programacion es mejor y cual
peor y sobre todo en la lista de "POSTGRES".
Propongo que para esto vayan a los foros de esos
lenguajes a hacerlo.
Vuelvo a repetir "no es mi intencion ofender a
nadie".
Ahora bien, si se trata de ver que conviene
programar clientes ricos con
toda la programacion en el lenguaje o clientes finos
con todo en postgres
sin duda opino que la segunda opcion es la mejor de
todas y mas eficente.
Ahora como administrador de bases de datos voy a
reconocer que los
programadores prefieren hacer clientes ricos, al
menos todos los que
conozco, y para este caso ver que BD es mejor o peor
tiene otro significado.
Con todo esto que digo no pretendo alentar a toda la
gente a apartarse de la
lista, pretendo que todos asi como yo podamos
aprender sobre postgres y
decidir si usarla o no segun el criterio de cada
uno.
Disculpen la extension de mi mail, pero es que me
cansa un poco leer 50 o 60
mail por dia y que solo 5 0 6 esten destinados a
postgres exclusivamente.
Saludos
Martin.
CC: Miguel Bernilla Sánchez
Subject: Re: [pgsql-es-ayuda] Simbolos dentro de
cadenas
Date: Wed, 14 Mar 2007 15:32:40 -0400
Post by Gabriel Colina
No te disculpes por usar las computadoras para
sobrevivir en una sociedad de mercado,
capitalista.
Otra vez mezclando peras con manzanas.
Si eres tan anti capitalista, que haces entonces
usando software de una
empresa que vive del capitalismo?
Post by Gabriel Colina
[resentimientos varios...]
PD. mi proximo mail va a ser el de unsuscribe.
He de esperar que no sea de unsuscribe...
PD: es unsubscribe y no se le debe enviar a la
lista, sino a una direccion
especificada en el mismo sitio por donde te
inscribiste. :-D
--
Juan Martinez G. Mac Iver # 370
Departamento de Informatica 4997900 -
4997950
Universidad Miguel de Cervantes Santiago - Chile
http://download.bblug.usla.org.ar/netiquette.png
---------------------------(fin del
mensaje)---------------------------
TIP 8: explain analyze es tu amigo
_________________________________________________________________
Post by Ricardo Martin Gomez
¿Estás pensando en cambiar de coche? Todas los
modelos de serie y extras en
MSN Motor. http://motor.msn.es/researchcentre/
---------------------------(fin del
mensaje)---------------------------
TIP 8: explain analyze es tu amigo
Te entiendo Martin, y por eso propuse hace unos meses
armar un postgresql-latam.org para abrir un camino que
nos permita tener a postgersql como base central, pero
orientada a dar respuesta a problemas de comunicacion
con cada lenguaje.

Como eso no tuvo eco y habemos por lo visto muchos con
necesidad de plantear estos temas, se termina
recayendo en este foro.

Atte.
Gabriel Colina

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Miguel Bernilla Sánchez
2007-03-14 19:49:15 UTC
Permalink
============
Post by Gabriel Colina
Post by Gabriel Ferro
Post by Gabriel Ferro
por todo esto les pido mil disculpas si pregunto
idoteces o me
Post by Gabriel Ferro
trasnformo en una aberracion programaril..jeeee..
son mis unicos salvavidas.....
Por suerte fui docente en varios campos y te digo que
tengo la percepcion que no hay idiotas, hay respuestas
idiotas.
Será cierto de que los docentes no permiten que se discrepe con ellos,
por que creen que ellos son dueños de la verdad???.
Confio en que en este caso no aplique el comentario.
(todo lo digo de buena onda....)
Post by Gabriel Colina
No te disculpes por usar las computadoras para
sobrevivir en una sociedad de mercado, capitalista.
Es facil criticar con la heladera llena, cuando no
tenes que ser parte de un grupo de (profesionales
trasnochados que estudian en ese horario por que la
vida quiza no le dio otra oportunidad).
Esa no es mi condicion por obligacion si no por
opcion.
De todas maneras cuando sientas que la pregunta aca es
idiota, preguntame lo que quieras sobre Visual y
PostgreSQL.
Si llegaramos a la conclusion que esta pregunta es
pura para postgrsql, entonces la formularemos en el
Foro para no invadirlos con nuestra sucia forma de
obtener la vida. Y las obsenas palabrad de ADO,
Visual, Windows M$ y otras cosa que aca no soportan
y las llaman OT, aunque alguna vez me dijeran que si
se relaciona con PostgreSQL no eran OT. mmm?
Voy a crear en postgres-latam.org el espacio
win.postgresql-latam.org, para que publiquemos
nuestros codigos y experiencias con esta gran base de
datos y descontaminemos el foro de este tipo de
asquerosas preguntas.
Asi cuando lleguemos aqui, ocupemos el lugar que por
naturaleza se asigna a nosotros y es el de newbies.
Atte.
Gabriel Colina.
PD. mi proximo mail va a ser el de unsuscribe.
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Gabriel Colina
2007-03-14 20:05:56 UTC
Permalink
Post by Miguel Bernilla Sánchez
============
Con fecha Miércoles, 14 de Marzo de 2007, 02:11:55
Post by Gabriel Colina
Post by Gabriel Ferro
Post by Gabriel Ferro
por todo esto les pido mil disculpas si
pregunto
Post by Gabriel Colina
Post by Gabriel Ferro
idoteces o me
Post by Gabriel Ferro
trasnformo en una aberracion
programaril..jeeee..
Post by Gabriel Colina
Post by Gabriel Ferro
son mis unicos salvavidas.....
Por suerte fui docente en varios campos y te digo
que
Post by Gabriel Colina
tengo la percepcion que no hay idiotas, hay
respuestas
Post by Gabriel Colina
idiotas.
Será cierto de que los docentes no permiten que se
discrepe con ellos,
por que creen que ellos son dueños de la verdad???.
Confio en que en este caso no aplique el comentario.
(todo lo digo de buena onda....)
La misma frase te contesta, cuando digo que las
respuestas son idiotas, yo creo que no hay una sola
verdad.

Atte. Gabriel Colina





__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Edwin Quijada
2007-03-15 15:26:48 UTC
Permalink
JAJAJAJA! Vamos Gabriel, no te pongas asi. Alvaro suele ser medio sarcastico
pero en el fondo es buena persona. Es un tanto radical , a veces con sus
opiniones pero es un tipo bien.

Mira, algo que he aprendido en esta vida es a estar con Dios y Lucifer, ese
es mi caso ahora. Me fui de una empresa en donde tenia todo en Linux y
Postgres excepto los cleintes e hice maravillas alla aparte de los $$$ que
les ahorre pero ahora cai en una en donde todo es M$ y lease el maldito .NET
que tanto odio me toco conjuntamente con MSSQL.

La verdad no se si son malos o buenos , no tengo tanta base para opinar,
pero me toca aprender o al menos entender ese codigo. He mejorado , ya
instale un servidor con Linux y estoy poniendo un Postgres ahi, tuve q
peliar con todo el mundo, pero al final me hicieron caso

Creo que Alvaro solo externo una opinon de su sentir contra VB , si lo
oyeras hablando de PHP seguro entenderias que no dijo nada de VB para lo que
piensa de PHP, paradojicamente el era que staba desarrolando plpg/php , que
ironia.

A pesar de lo que el piensa no dudes que uno de estos dias el sea quien
desarrolle plpg/vb, jejeje.

Asi que no te pongas asi , y solo trata de desiintoxicarte del lado oscuro
de la fuerza.

_________________________________________________________________
Latinos en EE.UU: noticias y artículos de interés para ti
http://latino.msn.com/noticias/latinoseneeuu
Gabriel Colina
2007-03-15 17:49:33 UTC
Permalink
Gracias Edwin, opino lo mismo de Alvaro y no me cabe
duda que es un gran tipo, no me tiro contra el, solo
me dolio una expresion y no que atacara a visual,fue
algo que interprete de una frase en el aspecto humano
y que el mismo se encargo de ir aclarando, en
particular eso me importa mas que lo tecnico. Tambien
soy radical, ademas radical por filosofia, por eso
gente como Gunnar o Alvaro que se dignan a contestar
inculso fuera de OT, merecen mi respeto y aunque
usemos distintas herramientas, vamos por el camino de
aportar a quien necesite el aporte y lo plantee bien.

Yo mismo trato de orientar, no de postgresql por que
de eso recien ahora podria dar algo, pero si de como
usarlo con las herramientas que conozco.

Pero fijate lo radical que sere, que teniendo que
terminar un proyecto importante, a la hora de comer,
me detuve a contestarle a alguien que sistematicamente
cuando opino de algo, ataca la opinion. Pero de forma
argumental en esos correos nunca puso un codigo, como
lo han hecho Jaime, Gunnar y Alvaro.

Y estoy contestandole ahora a alguien que me
simpatiza, para que no se preocupe, que se valorar lo
que Alvaro significa en esta comunidad que pese a
quien le pese y mas alla del momento, que pudo verse
feo, es una comunidad con grandes cualidades.

Atte.
Gabriel Colina


__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
Espartano
2007-03-14 16:23:52 UTC
Permalink
Post by Gabriel Ferro
Heyyy.. muchachos no se peleen, me parece que no estamos metiendo en un pozo
negro, seamos sinceros el visual tiene sus grandes falencias yo usaba Delphi
y me gustaba mucho mas, pero como muchos estamos obligados "a usar lo que
otros saben usar" nos guste o no nos guste. Es lo que hay, no es cuestión de
cual es mejor o cual es peor porquería, por ejemplo me hubiese encantado
hacer todo con otros lenguajes como mono, powerbuilder, etc. pero o no se
consigue una versión crackeada (el original no te lo compran ni a palos)
No necesitas crackear mono :p ni perl no python y mucho menos C ;)
Post by Gabriel Ferro
o
es muy difícil de conseguir documentación para aprender desde 0. Por ejemplo
yo hacia 10 años que no programaba y en una semana hice un sistema de carga
en visual, a los tumbos, con codigo asqueroso pero que anda...
Este es precisamente el problema, que visual lo puedes usar sin tener
conocimiento o mucho conocimiento de programacion, mira no me mal
interpretes no digo que lo que hiciste este mal, tenias un problema y
lo resolviste, eso es bueno pero luego cuando vallas ganando
experiencia y abilidades tu desarrollo que hiciste se hara cada vez
mas insostenible, digamos entonces que la mas grande "bondad" de
visual es a la vez su mas grande defecto.
Post by Gabriel Ferro
asi es la
cosa, ahora tambien a los tumbos estoy haciendo que este programa deje de
ser local y se conecte a postgreSql y ademas aprender linux que es lo que
podemos instalar en el servidor que a su vez tendra servidor de correo y
Mala idea poner 2 servicios en un mismo servidor, IMHO minimo deberias
instalarte un disco aparte para postgres.
Post by Gabriel Ferro
todo sobre una VPN provincial... pufff... les parece que me puedo poner a
elegir lo mejor y manejarlo al toque?..
Claro, de una sola vez puede elegir lo mejor, manejarlo a toque es
algo complejo a la primera, diria casi imposible por aquello de que la
practica hace al maestro pero asi es en todo, asi es que yo te
recomendaria eligieras de una buena vez lo mejor, si no para la
siguiente tendras que migrar nuevamente a lo que es mejor.
Post by Gabriel Ferro
por todo esto les pido mil disculpas si pregunto idoteces o me trasnformo en
una aberracion programaril..jeeee.. son mis unicos salvavidas.....
JEjeje supongo que todos tenemos "salvavidas" en algun momento de
nuestras vidas ;)
Post by Gabriel Ferro
haa.. les comento que todas las tablas y campos los pase a minusculas y las
cadenas con comandos me quedaron mucho mas legibles, ya no tienen tantas
comillitas...
Saludosssssss
PD: si algun genio de VB programara un componente donde se inserten los
comandos que uno quiera limpitos limpitos como le gusta a Alavaro estaria
barbaroooo.. yo no lo he encontrado...¿Uds?
--
"Linux is for people who hate Windows, BSD is for people who love UNIX".
"Social Engineer -> Because there is no patch for human stupidity"
"The Unix Guru's View of Sex unzip ; strip ; touch ; grep ; finger ;
mount ; fsck ; more ; yes ; umount ; sleep."
"Documentation is like sex: when it is good, it is very, very good;
and when it is bad, it is better than nothing."
Mario
2007-03-16 12:44:48 UTC
Permalink
Voy a empezar a estudiar python y entonces voy a
ponerme a desarrollar sobre objetivos que aporten a la
comunidad.
Les parece ?
Esta muy bien que quieras ayudar a la comunidad y quieras empezar
con webtranslator. De hecho hay tareas si no quieres aprender o no has
aprendido aun python como por ejemplo validar los codigos HTML y XHTML
para que cumplan con la W3C o detectar problemas de usabilidad como lo
estamos haciendo con Alvaro para luego reportarlos y discutirlos para
darle una solucion.

Sin embargo, si quieres aprender python como reto personal para
ayudar al desarrollo, bueno webtranslator y la comunidad te estaran
muy agradecidos.
--
http://www.advogato.org/person/mgonzalez/
Roberto Andrade Fonseca
2007-03-16 22:37:53 UTC
Permalink
Post by Gunnar Wolf
Post by Jaime Casanova
Post by Gunnar Wolf
Cada que un novato a la programación se acerca ya sea por el lado de
Visual Basic o de PHP, Dios mata a un gatito. ¡Por favor! Piensen en
los gatitos.
no entendi esto :(
VB y PHP son malos. Terribles. Genocidas. No los uses.
No, al usar PHP los gatitos solo quedan apendejados, no es mortal de
necesidad.

Saludos,
--
Roberto Andrade Fonseca
Director de Tecnología
Inteligentes.com, S.A. de C.V.
Tel. (55) 5207-1672 / 1673
Continúe leyendo en narkive:
Loading...