[Gambas Bug Tracker] Bug #1102: ODBC driver super buggy 3: impossible made subquerys if the previous its a call/select to SP

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[Gambas Bug Tracker] Bug #1102: ODBC driver super buggy 3: impossible made subquerys if the previous its a call/select to SP

bugtracker
http://gambaswiki.org/bugtracker/edit?object=BUG.1102&from=L21haW4-

PICCORO LENZ MCKAY reported a new bug.

Summary
-------

ODBC driver super buggy 3: impossible made subquerys if the previous its a call/select to SP

Type             : Bug
Priority         : High
Gambas version   : 3.9
Product          : ODBC driver


Description
-----------

as i said in previous bug: some time ago i tried and found many bugs, but not reported due i using older linux..

tested in linuxmint, winbuntu, stupibuntu, debian lasted, and fedora
and with gambas versions from 3.1.1 to lasted (specifically 3.1.1, 3.4.2 and 3.9.X and trunk)

the next piece of code always return "-2" for Max in resulset:

query1 = "call sp('value string')" ' this return a select table resulset
query2 = "select count(*) from sp('value string')"  ' < - - use the select table return of the SP with count

Try rs2 = $conexionodbc.Exec(query2)
    If rs2.Available Then  '
     
      try rs1 = $conexionodbc.Exec(query1)      ' BUG this raise a problem, no rows and some times !

    Endif

this are very unconfortable, due for workaroud must made a select count(), that relies on another bug that i next to post right now!

for now i try to workaround with the rs.MoveNext using when


System information
------------------

[System]
Gambas=3.9.1
OperatingSystem=Linux
Kernel=3.2.0-0.bpo.4-686-pae
Architecture=x86
Distribution=debian 6.1
Desktop=
Theme=VenenuX
Language=es_VE.UTF-8
Memory=1695M

[Libraries]
Cairo=libcairo.so.2.11000.2
Curl=libcurl.so.4.2.0
DBus=libdbus-1.so.3.4.0
GStreamer=libgstreamer-0.10.so.0.27.0
GTK+2=libgtk-x11-2.0.so.0.2000.1
Poppler=libpoppler.so.5.0.0
QT4=libQtCore.so.4.7.4
SDL=libSDL-1.2.so.0.11.4
SQLite=libsqlite3.so.0.8.6

[Environment]
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-SDLMZFhfxe,guid=e84bee4349323ab2fdd0e833000d3724
DESKTOP_SESSION=openbox
DISPLAY=:0.0
GB_GUI=gb.qt4
GDMSESSION=openbox
GDM_LANG=es_VE.UTF-8
GDM_XSERVER_LOCATION=local
GNOME_KEYRING_CONTROL=/tmp/keyring-F6Av2Z
GNOME_KEYRING_PID=28945
HOME=<home>
LANG=es_VE.UTF-8
LOGNAME=<user>
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:<home>/.rvm/bin
PWD=<home>
SHELL=/bin/bash
SSH_AGENT_PID=28992
SSH_AUTH_SOCK=/tmp/ssh-MIgmw28954/agent.28954
TZ=:/etc/localtime
USER=<user>
USERNAME=<user>
WINDOWPATH=7:8:8:8:8
XAUTHORITY=<home>/.Xauthority
XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/
XDG_SESSION_COOKIE=b7d14e28769c4139a06b6f990000000c-1493388004.744958-1810097376



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Gambas-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gambas-user
Reply | Threaded
Open this post in threaded view
|

[Gambas Bug Tracker] Bug #1102: ODBC driver super buggy 3: impossible made subquerys if the previous its a call/select to SP

bugtracker
http://gambaswiki.org/bugtracker/edit?object=BUG.1102&from=L21haW4-

Comment #1 by PICCORO LENZ MCKAY:

hi, this query make me impossible document and find a solution to how populate a grid not using the Data event...

i send a issue to freetds project, due this error today does not permit to me got some progress in the odbc+gridview work
https://github.com/FreeTDS/freetds/issues/131

but the problem i guess its not totally freetds driver due in odbc+sqlite i cannot make simple quierys after connected... but the odbc+sqlite module are in good shape



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Gambas-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gambas-user
Reply | Threaded
Open this post in threaded view
|

[Gambas Bug Tracker] Bug #1102: ODBC driver super buggy 3: impossible made subquerys if the previous its a call/select to SP

bugtracker
In reply to this post by bugtracker
http://gambaswiki.org/bugtracker/edit?object=BUG.1102&from=L21haW4-

Comment #2 by zxMarce:

As per https://stackoverflow.com/questions/33940294/sqlgetstmtattr-output-value-for-sql-attr-row-number, it seems that SQLite has issues in their ODBC Driver implementation.
Per ODBC definitions, returning negative row values is illegal for a driver in the particular ODBC calls the Gambas driver makes to find out a row count.
That being the case I further patched my internal GetRecordCount() function in the ODBC Gambas driver to take these illegal values into account.

The actual problem now is that when this issue hits, GetRecordCount() will return the default -1 as count, making iteration in a SQLite table hard.
By "hard" I mean that data retrieved is garbage, and I do not yet know why. I'm looking into this latest development now.

Regards,
zxMarce.



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Gambas-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gambas-user
Reply | Threaded
Open this post in threaded view
|

[Gambas Bug Tracker] Bug #1102: ODBC driver super buggy 3: impossible made subquerys if the previous its a call/select to SP

bugtracker
In reply to this post by bugtracker
http://gambaswiki.org/bugtracker/edit?object=BUG.1102&from=L21haW4-

Comment #3 by PICCORO LENZ MCKAY:

hi zxMarce, really really thanks for your support, about the subquery problem? seem when i have open result (opened cursor i think, with forward only) cannot made another query without free the previous result object, or cursor.

that's the principal topic in this bug #1102, i'm not expert but the piece of code dont work in some odbc cases, specially with freetds (i cited that due i already know you can have it and can access a TDS-like db)

query1 = "select col1, col2 from table1 " '
query2 = "select count(*) as total from table1"  '
Try rs2 = $conexionodbc.Exec(query2)
    If rs2.Available Then  '
        print rs2!total
        try rs1 = $conexionodbc.Exec(query1)      ' BUG this raise a problem, no rows and some times !
    Endif

that piece of code works with mysql only.. (and i'm tyred of mysql je jeje)



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Gambas-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gambas-user
Reply | Threaded
Open this post in threaded view
|

[Gambas Bug Tracker] Bug #1102: ODBC driver super buggy 3: impossible made subquerys if the previous its a call/select to SP

bugtracker
In reply to this post by bugtracker
http://gambaswiki.org/bugtracker/edit?object=BUG.1102&from=L21haW4-

Comment #4 by PICCORO LENZ MCKAY:

some info related to this issue too: https://github.com/FreeTDS/freetds/issues/131#issuecomment-313166673 but i cant understand in total that freddy77 said!



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Gambas-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gambas-user
Reply | Threaded
Open this post in threaded view
|

[Gambas Bug Tracker] Bug #1102: ODBC driver super buggy 3: impossible made subquerys if the previous its a call/select to SP

bugtracker
In reply to this post by bugtracker
http://gambaswiki.org/bugtracker/edit?object=BUG.1102&from=L21haW4-

Comment #5 by PICCORO LENZ MCKAY:

now this its a confirmed bug: seems the odbc implementation for TDS protocol in gambas does not enabled the advanced cursor.. and uses the default cursor, that does not support subquerys (multiple cursor and moveto cursors)

ok, after some research MARS are supported in FreeTDS since version 0.95, its not enabled by default, so the problem here its that the gambas implementatin seems does not enabled the needed features..

PICCORO LENZ MCKAY changed the state of the bug to: Accepted.



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Gambas-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gambas-user