Re: chars => int

From: "Leonel Nunez" <lnunez(at)enelserver(dot)com>
To: "Ricardo Martin Gomez" <rimartingomez(at)hotmail(dot)com>
Cc: lordjose84(at)gmail(dot)com, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: chars => int
Date: 2007-02-01 15:25:35
Message-ID: 44220.189.155.118.232.1170343535.squirrel@enelserver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

> Jose: me parece que en algo estan equivocados sobre el tema de la
> portabilidad y es aqui en donde la apli de ustedes tiene el problema. que
> como te dije estan dedicando gran parte de los 80mb a procesar texto,
> hasta
> parece una locura escribirlo.
> el tema vendria + o - asi.
> La apli para poder tener una buena utilizacion tiene que usar algun SQL
> estandar que soporten todos los motores en el cual la vas a usar para
> cualquier select. Yo pensaba que tu problema era para portar los datos de
> una base a otra y por eso te recomende las funciones de conversion. En
> cuanto a la apli lo unico que tiene que hacer al momento de guardar los
> datos es validarlos segun el formato y poder insertarlos en la base de
> esta
> manera. luego el select es estandar y los datos los tratas segun su tipo.
> Espero poder ser claro y que me entiendas
>
> Saludos
> Martin.
>
>

Para esto y otras cosas existen ORBs como SqlAlchemy
www.sqlalchemy.org para Python o Hibernate www.hibernate.org Para Java

ejemplo para Sqlalchemy con PostgreSQL y Mysql ( YUCK! )

tenemos nuestro script test.py

------------------------------------------
from sqlalchemy import *

db = create_engine('postgres://leonel:hola(at)localhost:5432/leonel')
#db = create_engine('mysql://leonel:hola(at)localhost:3306/leonel')
metadata = BoundMetaData(db)

test_table = Table ('test', metadata,
Column ('id', Integer,primary_key=True),
Column ('usuario',String(40)),
Column ('fecha',DateTime ))

test_table.create()

insert = test_table.insert()
insert.execute(id=1,usuario='Yo mero',fecha='2007-01-01')
insert.execute(id=2,usuario='el otro',fecha='2006-12-12')

select = test_table.select()

result = select.execute()
for row in result:
print row[0] , row[1], row[2]

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

despues de ejecutar 2 veces ( una para PostgreSQL y otra para Mysql ) este
elaborado,complicado , rebuscado , casi casi ciencia nuclear y de
transbordadores espaciales (jeje ) terminamos con esto en las DB:

PostgreSQL :

leonel=> \d test;
Table "public.test"
Column | Type | Modifiers
---------+--------------------------+---------------------------------------------------
id | integer | not null default
nextval('test_id_seq'::regclass)
usuario | character varying(40) |
fecha | timestamp with time zone |
Indexes:
"test_pkey" PRIMARY KEY, btree (id)

leonel=> select * from test;
id | usuario | fecha
----+---------+------------------------
1 | Yo mero | 2007-01-01 00:00:00-07
2 | el otro | 2006-12-12 00:00:00-07
(2 rows)

MySQL :

mysql> describe test;
+---------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| usuario | varchar(40) | YES | | NULL | |
| fecha | datetime | YES | | NULL | |
+---------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

mysql> select * from test;
+----+---------+---------------------+
| id | usuario | fecha |
+----+---------+---------------------+
| 1 | Yo mero | 2007-01-01 00:00:00 |
| 2 | el otro | 2006-12-12 00:00:00 |
+----+---------+---------------------+
2 rows in set (0.00 sec)

Me meti con cosas de fechas y secuencias ?
NO.
Y los datos estan en su respectivo formato de la base de datos.

Leonel

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ricardo David Carrillo Sánchez 2007-02-01 16:08:08 Respaldos con Postgresql!!
Previous Message Ricardo Martin Gomez 2007-02-01 12:17:29 Re: chars => int