Leandro Lucarella, el 15 de junio a las 14:00 me escribiste:
> Daniel Nogradi, el 14 de junio a las 17:19 me escribiste:
> > > > Hi, can you please test the code below (if you have sqlite)? If you
> > > > use a different db, can you please change the connectionForURI to use
> > > > yours and test then? The correct output should be 5 of course.
> > >
> > > I can't, but I don't see the point. What do you expect me to see running
> > > the test?
> > 
> > 
> > Well, if you would have a different db than sqlite and for you the
> > test would pass it would mean that the problem is either with sqlite
> > or the python binding pysqlite, but not sqlobject.
> 
> I thought Oleg tested that. Anyways, I've attached two output from the
> test (one for postgresql, and one for mysql), both failed as expected.

I allways forget the attachments... :S

-- 
LUCA - Leandro Lucarella - Usando Debian GNU/Linux Sid - GNU Generation
------------------------------------------------------------------------
E-Mail / JID:     [EMAIL PROTECTED]
GPG Fingerprint:  D9E1 4545 0F4B 7928 E82C  375D 4B02 0FE0 B08B 4FB2 
GPG Key:          gpg --keyserver pks.lugmen.org.ar --recv-keys B08B4FB2
------------------------------------------------------------------------
El techo de mi cuarto lleno de planetas
Y mi mente es un planeta más
Donde vivo yo y nadie podrá entrar
Jamás
 1/Query   :  CREATE TABLE named (
    id SERIAL PRIMARY KEY,
    name TEXT,
    child_name VARCHAR(255)
)
 1/QueryR  :  CREATE TABLE named (
    id SERIAL PRIMARY KEY,
    name TEXT,
    child_name VARCHAR(255)
)
 1/COMMIT  :  auto
 1/Query   :  CREATE TABLE zoo (
    id SERIAL PRIMARY KEY,
    child_name VARCHAR(255)
)
 1/QueryR  :  CREATE TABLE zoo (
    id SERIAL PRIMARY KEY,
    child_name VARCHAR(255)
)
 1/COMMIT  :  auto
 1/Query   :  CREATE TABLE cage (
    id SERIAL PRIMARY KEY,
    zoo_id INT,
    child_name VARCHAR(255)
)
 1/QueryR  :  CREATE TABLE cage (
    id SERIAL PRIMARY KEY,
    zoo_id INT,
    child_name VARCHAR(255)
)
 1/COMMIT  :  auto
 1/Query   :  ALTER TABLE cage ADD CONSTRAINT zoo_id_exists FOREIGN KEY 
(zoo_id) REFERENCES zoo (id) 
 1/QueryR  :  ALTER TABLE cage ADD CONSTRAINT zoo_id_exists FOREIGN KEY 
(zoo_id) REFERENCES zoo (id) 
 1/COMMIT  :  auto
 1/Query   :  CREATE TABLE animal (
    id SERIAL PRIMARY KEY,
    cage_id INT,
    child_name VARCHAR(255)
)
 1/QueryR  :  CREATE TABLE animal (
    id SERIAL PRIMARY KEY,
    cage_id INT,
    child_name VARCHAR(255)
)
 1/COMMIT  :  auto
 1/Query   :  ALTER TABLE animal ADD CONSTRAINT cage_id_exists FOREIGN KEY 
(cage_id) REFERENCES cage (id) 
 1/QueryR  :  ALTER TABLE animal ADD CONSTRAINT cage_id_exists FOREIGN KEY 
(cage_id) REFERENCES cage (id) 
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO named (id, name, child_name) VALUES (1, 'myzoo', 
'zoo')
 1/COMMIT  :  auto
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (1)
 1/QueryR  :  SELECT name, child_name FROM named WHERE id = (1)
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO zoo (id, child_name) VALUES (1, NULL)
 1/COMMIT  :  auto
 1/QueryOne:  SELECT child_name FROM zoo WHERE id = (1)
 1/QueryR  :  SELECT child_name FROM zoo WHERE id = (1)
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO named (id, name, child_name) VALUES (2, 'firstcage', 
'cage')
 1/COMMIT  :  auto
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (2)
 1/QueryR  :  SELECT name, child_name FROM named WHERE id = (2)
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO cage (id, zoo_id, child_name) VALUES (2, 1, NULL)
 1/COMMIT  :  auto
 1/QueryOne:  SELECT zoo_id, child_name FROM cage WHERE id = (2)
 1/QueryR  :  SELECT zoo_id, child_name FROM cage WHERE id = (2)
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO named (id, name, child_name) VALUES (3, 'secondcage', 
'cage')
 1/COMMIT  :  auto
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (3)
 1/QueryR  :  SELECT name, child_name FROM named WHERE id = (3)
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO cage (id, zoo_id, child_name) VALUES (3, 1, NULL)
 1/COMMIT  :  auto
 1/QueryOne:  SELECT zoo_id, child_name FROM cage WHERE id = (3)
 1/QueryR  :  SELECT zoo_id, child_name FROM cage WHERE id = (3)
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO named (id, name, child_name) VALUES (4, 'tiger', 
'animal')
 1/COMMIT  :  auto
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (4)
 1/QueryR  :  SELECT name, child_name FROM named WHERE id = (4)
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO animal (id, cage_id, child_name) VALUES (4, 2, NULL)
 1/COMMIT  :  auto
 1/QueryOne:  SELECT cage_id, child_name FROM animal WHERE id = (4)
 1/QueryR  :  SELECT cage_id, child_name FROM animal WHERE id = (4)
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO named (id, name, child_name) VALUES (5, 'lion', 
'animal')
 1/COMMIT  :  auto
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (5)
 1/QueryR  :  SELECT name, child_name FROM named WHERE id = (5)
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO animal (id, cage_id, child_name) VALUES (5, 2, NULL)
 1/COMMIT  :  auto
 1/QueryOne:  SELECT cage_id, child_name FROM animal WHERE id = (5)
 1/QueryR  :  SELECT cage_id, child_name FROM animal WHERE id = (5)
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO named (id, name, child_name) VALUES (6, 'croc', 
'animal')
 1/COMMIT  :  auto
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (6)
 1/QueryR  :  SELECT name, child_name FROM named WHERE id = (6)
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO animal (id, cage_id, child_name) VALUES (6, 3, NULL)
 1/COMMIT  :  auto
 1/QueryOne:  SELECT cage_id, child_name FROM animal WHERE id = (6)
 1/QueryR  :  SELECT cage_id, child_name FROM animal WHERE id = (6)
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO named (id, name, child_name) VALUES (7, 'hypo', 
'animal')
 1/COMMIT  :  auto
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (7)
 1/QueryR  :  SELECT name, child_name FROM named WHERE id = (7)
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO animal (id, cage_id, child_name) VALUES (7, 3, NULL)
 1/COMMIT  :  auto
 1/QueryOne:  SELECT cage_id, child_name FROM animal WHERE id = (7)
 1/QueryR  :  SELECT cage_id, child_name FROM animal WHERE id = (7)
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO named (id, name, child_name) VALUES (8, 'fish', 
'animal')
 1/COMMIT  :  auto
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (8)
 1/QueryR  :  SELECT name, child_name FROM named WHERE id = (8)
 1/COMMIT  :  auto
 1/QueryIns:  INSERT INTO animal (id, cage_id, child_name) VALUES (8, 3, NULL)
 1/COMMIT  :  auto
 1/QueryOne:  SELECT cage_id, child_name FROM animal WHERE id = (8)
 1/QueryR  :  SELECT cage_id, child_name FROM animal WHERE id = (8)
 1/COMMIT  :  auto
--------------------------------------------------------------------------------
 1/QueryOne:  SELECT COUNT(*) FROM named LEFT JOIN cage ON ((animal.cage_id) = 
(cage.id)) LEFT JOIN zoo ON ((cage.zoo_id) = (zoo.id)) WHERE (((named.name) = 
('myzoo')) AND ((named.child_name) = ('animal')))
 1/QueryR  :  SELECT COUNT(*) FROM named LEFT JOIN cage ON ((animal.cage_id) = 
(cage.id)) LEFT JOIN zoo ON ((cage.zoo_id) = (zoo.id)) WHERE (((named.name) = 
('myzoo')) AND ((named.child_name) = ('animal')))
 1/COMMIT  :  auto
Traceback (most recent call last):
  File "/tmp/db.py", line 50, in ?
    print animal.select( zoo.q.name=='myzoo', join=joins ).count( )
  File "/usr/lib/python2.4/site-packages/sqlobject/sresults.py", line 199, in 
count
    count = self.accumulate('COUNT(*)')
  File "/usr/lib/python2.4/site-packages/sqlobject/sresults.py", line 182, in 
accumulate
    return conn.accumulateSelect(self, *expressions)
  File "/usr/lib/python2.4/site-packages/sqlobject/dbconnection.py", line 418, 
in accumulateSelect
    val = self.queryOne(q)
  File "/usr/lib/python2.4/site-packages/sqlobject/dbconnection.py", line 385, 
in queryOne
    return self._runWithConnection(self._queryOne, s)
  File "/usr/lib/python2.4/site-packages/sqlobject/dbconnection.py", line 255, 
in _runWithConnection
    val = meth(conn, *args)
  File "/usr/lib/python2.4/site-packages/sqlobject/dbconnection.py", line 378, 
in _queryOne
    self._executeRetry(conn, c, s)
  File "/usr/lib/python2.4/site-packages/sqlobject/dbconnection.py", line 334, 
in _executeRetry
    return cursor.execute(query)
psycopg2.ProgrammingError: falta una entrada para la tabla «animal» en la 
cláusula FROM

 1/Query   :  CREATE TABLE named (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name TEXT,
    child_name VARCHAR(255)
)
 1/Query   :  CREATE TABLE zoo (
    id INT PRIMARY KEY AUTO_INCREMENT,
    child_name VARCHAR(255)
)
 1/Query   :  CREATE TABLE cage (
    id INT PRIMARY KEY AUTO_INCREMENT,
    zoo_id INT,
    child_name VARCHAR(255)
)
 1/Query   :  ALTER TABLE cage ADD CONSTRAINT cage_zoo_id_exists FOREIGN KEY 
(zoo_id) REFERENCES zoo (id) 
 1/Query   :  CREATE TABLE animal (
    id INT PRIMARY KEY AUTO_INCREMENT,
    cage_id INT,
    child_name VARCHAR(255)
)
 1/Query   :  ALTER TABLE animal ADD CONSTRAINT animal_cage_id_exists FOREIGN 
KEY (cage_id) REFERENCES cage (id) 
 1/QueryIns:  INSERT INTO named (name, child_name) VALUES ('myzoo', 'zoo')
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (1)
 1/QueryIns:  INSERT INTO zoo (id, child_name) VALUES (1, NULL)
 1/QueryOne:  SELECT child_name FROM zoo WHERE id = (1)
 1/QueryIns:  INSERT INTO named (name, child_name) VALUES ('firstcage', 'cage')
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (2)
 1/QueryIns:  INSERT INTO cage (id, zoo_id, child_name) VALUES (2, 1, NULL)
 1/QueryOne:  SELECT zoo_id, child_name FROM cage WHERE id = (2)
 1/QueryIns:  INSERT INTO named (name, child_name) VALUES ('secondcage', 'cage')
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (3)
 1/QueryIns:  INSERT INTO cage (id, zoo_id, child_name) VALUES (3, 1, NULL)
 1/QueryOne:  SELECT zoo_id, child_name FROM cage WHERE id = (3)
 1/QueryIns:  INSERT INTO named (name, child_name) VALUES ('tiger', 'animal')
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (4)
 1/QueryIns:  INSERT INTO animal (id, cage_id, child_name) VALUES (4, 2, NULL)
 1/QueryOne:  SELECT cage_id, child_name FROM animal WHERE id = (4)
 1/QueryIns:  INSERT INTO named (name, child_name) VALUES ('lion', 'animal')
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (5)
 1/QueryIns:  INSERT INTO animal (id, cage_id, child_name) VALUES (5, 2, NULL)
 1/QueryOne:  SELECT cage_id, child_name FROM animal WHERE id = (5)
 1/QueryIns:  INSERT INTO named (name, child_name) VALUES ('croc', 'animal')
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (6)
 1/QueryIns:  INSERT INTO animal (id, cage_id, child_name) VALUES (6, 3, NULL)
 1/QueryOne:  SELECT cage_id, child_name FROM animal WHERE id = (6)
 1/QueryIns:  INSERT INTO named (name, child_name) VALUES ('hypo', 'animal')
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (7)
 1/QueryIns:  INSERT INTO animal (id, cage_id, child_name) VALUES (7, 3, NULL)
 1/QueryOne:  SELECT cage_id, child_name FROM animal WHERE id = (7)
 1/QueryIns:  INSERT INTO named (name, child_name) VALUES ('fish', 'animal')
 1/QueryOne:  SELECT name, child_name FROM named WHERE id = (8)
 1/QueryIns:  INSERT INTO animal (id, cage_id, child_name) VALUES (8, 3, NULL)
 1/QueryOne:  SELECT cage_id, child_name FROM animal WHERE id = (8)
--------------------------------------------------------------------------------
 1/QueryOne:  SELECT COUNT(*) FROM named LEFT JOIN cage ON ((animal.cage_id) = 
(cage.id)) LEFT JOIN zoo ON ((cage.zoo_id) = (zoo.id)) WHERE (((named.name) = 
('myzoo')) AND ((named.child_name) = ('animal')))
Traceback (most recent call last):
  File "/tmp/db.py", line 50, in ?
    print animal.select( zoo.q.name=='myzoo', join=joins ).count( )
  File "/usr/lib/python2.4/site-packages/sqlobject/sresults.py", line 199, in 
count
    count = self.accumulate('COUNT(*)')
  File "/usr/lib/python2.4/site-packages/sqlobject/sresults.py", line 182, in 
accumulate
    return conn.accumulateSelect(self, *expressions)
  File "/usr/lib/python2.4/site-packages/sqlobject/dbconnection.py", line 418, 
in accumulateSelect
    val = self.queryOne(q)
  File "/usr/lib/python2.4/site-packages/sqlobject/dbconnection.py", line 385, 
in queryOne
    return self._runWithConnection(self._queryOne, s)
  File "/usr/lib/python2.4/site-packages/sqlobject/dbconnection.py", line 255, 
in _runWithConnection
    val = meth(conn, *args)
  File "/usr/lib/python2.4/site-packages/sqlobject/dbconnection.py", line 378, 
in _queryOne
    self._executeRetry(conn, c, s)
  File "/usr/lib/python2.4/site-packages/sqlobject/mysql/mysqlconnection.py", 
line 122, in _executeRetry
    raise OperationalError(ErrorMessage(e))
sqlobject.dberrors.OperationalError: Unknown column 'animal.cage_id' in 'on 
clause'

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss

Reply via email to