[DB-SIG] problems with DCOracle2 running on solaris 8 (oracle8.1.6)
Molina Carron
ernesto.molina@externo.mju.es
Tue, 28 Jan 2003 17:15:07 +0100
def testTRA_Acciones1():
sql=[''' select
cd_camino,cd_tramite,cd_operacion,condicion,cd_accion,
parametro1, parametro2, parametro3, parametro3
from
rm_tra_acciones x
where
cd_tramite=:p1 and cd_camino=:p2
''',
''' select
cd_camino,cd_tramite,cd_operacion,condicion,cd_accion,
parametro1, parametro2, parametro3, parametro3
from
rm_tra_acciones x
where
cd_tramite=:p1 and
cd_camino =:p2 and
cd_operacion=:p3
''']
params=[('Registro', 2,),('Registro', 2,13800,)]
import DCOracle2
cadenaConn='%s/%s@%s'% ('menores','menores','datos10k')
conn=DCOracle2.connect(cadenaConn)
cur=conn.cursor()
cur.execute(sql[0],params[0])
rs = cur.fetchall()
print """Primary key columns are CD_Camino, CD_Tramite and CD_Operacion,
so feels like if both rows where the same"""
print 'test1','-'*100
print [x[0] for x in cur.describe()]
print rs[41]
print 'test2','-'*100
cur=conn.cursor()
cur.execute(sql[1],params[1])
rs=cur.fetchall()
print [x[0] for x in cur.describe()]
print rs[0]
def testTRA_Acciones2():
sql=['''select
rowid,
cd_camino,cd_tramite,cd_operacion,condicion,cd_accion,
parametro1, parametro2, parametro3, parametro3
from rm_tra_acciones x
where cd_tramite=:p1 and cd_camino=:p2
''',
'''select
rowid,
cd_camino,cd_tramite,cd_operacion,condicion,cd_accion,
parametro1, parametro2, parametro3, parametro3
from rm_tra_acciones x
where cd_tramite=:p1 and cd_camino=:p2 and cd_operacion=:p3
''']
params=[('Registro', 2,),('Registro', 2,13800,)]
import DCOracle2
cadenaConn='%s/%s@%s'% ('menores','menores','datos10k')
conn=DCOracle2.connect(cadenaConn)
cur=conn.cursor()
cur.execute(sql[0],params[0])
rs = cur.fetchall()
print
print 'Test rowid','-'*80
print rs[41]
rowid1=rs[41][0]
cur=conn.cursor()
cur.execute(sql[1],params[1])
rs = cur.fetchall()
print rs[0]
rowid2=rs[0][0]
print 'is it the same rowid?',rowid1 is rowid2
print
def testTRA_Acciones3():
sql=['''select
rowid,
cd_camino,cd_tramite,cd_operacion,condicion,cd_accion,
parametro1, parametro2, parametro3, parametro3
from rm_tra_acciones x
where cd_tramite=:p1 and cd_camino=:p2 and cd_operacion=:p3
''']
params=[('Registro', 2,13800,)]
import DCOracle2
cadenaConn='%s/%s@%s'% ('menores','menores','datos10k')
conn=DCOracle2.connect(cadenaConn)
cur=conn.cursor()
cur.execute(sql[0],params[0])
rs = cur.fetchone()
print 'Test 1=1: gonna fetch the same row, the same query twice','-'*30
print rs
rowid1=rs[0]
cur=conn.cursor()
cur.execute(sql[0],params[0])
rs = cur.fetchone()
print rs
rowid2=rs[0]
print 'is it the same rowid?',rowid1 is rowid2
print
sqlRowID='''select
rowid,
cd_camino,cd_tramite,cd_operacion,condicion,cd_accion,
parametro1, parametro2, parametro3, parametro3
from rm_tra_acciones x
where rowid=:p1'''
cur=conn.cursor()
cur.execute(sqlRowID,rowid1)
rs = cur.fetchone()
print 'fetch the row looking for its rowid','-'*30
print rs
cur=conn.cursor()
cur.execute(sqlRowID,rowid2)
rs = cur.fetchone()
print 'fetch the row looking for its rowid (2)','-'*30
print rs
if __name__=='__main__':
testTRA_Acciones1()
testTRA_Acciones2()
testTRA_Acciones3()
---------------------------------------------------------------
the results
---------------------------------------------------------------
Primary key columns are CD_Camino, CD_Tramite and CD_Operacion,
so feels like if both rows where the same
test1 ----------------------------------------------------------------------
------------------------------
['CD_CAMINO', 'CD_TRAMITE', 'CD_OPERACION', 'CONDICION', 'CD_ACCION',
'PARAMETRO1', 'PARAMETRO2', 'PARAMETRO3', 'PARAMETRO3']
[2L, 'Registro', 13800L, "ANIO_EXP_FISCALIA & '' # ''", 'X>X',
'ANIO_EXP_FISCALIA', None, None, None]
test2 ----------------------------------------------------------------------
------------------------------
['CD_CAMINO', 'CD_TRAMITE', 'CD_OPERACION', 'CONDICION', 'CD_ACCION',
'PARAMETRO1', 'PARAMETRO2', 'PARAMETRO3', 'PARAMETRO3']
[2L, 'Registro', 13800L, "ANIO_EXP_FISCALIA & '' # ''", 'X>X',
'ANIO_EXP_FISCALIA', 'x', None, None]
Test
rowid ----------------------------------------------------------------------
----------
[<OracleRowID at 0x003a0c74>, 2L, 'Registro', 13800L, "ANIO_EXP_FISCALIA &
'' # ''", 'X>X', 'ANIO_EXP_FISCALIA', None, None, None]
[<OracleRowID at 0x003a0674>, 2L, 'Registro', 13800L, "ANIO_EXP_FISCALIA &
'' # ''", 'X>X', 'ANIO_EXP_FISCALIA', 'x', None, None]
is it the same rowid? 0
Test 1=1: gonna fetch the same row, the same query
twice ------------------------------
[<OracleRowID at 0x003792b4>, 2L, 'Registro', 13800L, "ANIO_EXP_FISCALIA &
'' # ''", 'X>X', 'ANIO_EXP_FISCALIA', 'x', None, None]
[<OracleRowID at 0x00379250>, 2L, 'Registro', 13800L, "ANIO_EXP_FISCALIA &
'' # ''", 'X>X', 'ANIO_EXP_FISCALIA', 'x', None, None]
is it the same rowid? 0
fetch the row looking for its rowid ------------------------------
[<OracleRowID at 0x00378fd0>, 2L, 'Registro', 13800L, "ANIO_EXP_FISCALIA &
'' # ''", 'X>X', 'ANIO_EXP_FISCALIA', 'x', None, None]
fetch the row looking for its rowid (2) ------------------------------
[<OracleRowID at 0x00378f90>, 2L, 'Registro', 13800L, "ANIO_EXP_FISCALIA & '
' # ''", 'X>X', 'ANIO_EXP_FISCALIA', 'x', None, None]