Bug #20537 Param number > 9 => No rows Found
Submitted: 19 Jun 2006 14:27 Modified: 8 Aug 2006 8:01
Reporter: etienne duvett Email Updates:
Status: Duplicate Impact on me:
None 
Category:Connector / ODBC Severity:S4 (Feature request)
Version:3.51 OS:Linux (Gentoo)
Assigned to: CPU Architecture:Any

[19 Jun 2006 14:27] etienne duvett
Description:
I'm working with powerbuilder application ( Windows + driver 3.51 ODBC ) who read mysql database on a linux (gentoo + mysql 5 ).

When i make a SQL request with parameter number, if the parameter is greater than 9, no rows was found.

This in an example of SQL with parameter > 9

Trace :
(1271528): PREPARE WITH BIND VARIABLES:
(1271528):   SELECT  operations.oprt_date ,          
operations.oprt_no_cheque ,          
operations.oprt_type_operations ,          
operations_type.optp_type_operation ,          
operations.oprt_montant ,          
article_categ.type_categorie ,          
article_categ.libelle_categ ,          
operations.oprt_check ,           operations.oprt_init ,    
      operations.oprt_cle ,          
operations.oprt_fk_cle_virement     FROM operations ,       
   operations_type ,           article_categ     WHERE (
operations.oprt_type_operations = operations_type.optp_cle )
and          ( operations.oprt_fk_categorie =
article_categ.no_categorie ) and          ( (
operations.oprt_saison = ? ) ) ORDER BY operations.oprt_init
         DESC,           operations.oprt_date          ASC, 
         operations.oprt_cle          ASC
(1271528): FLOAT Length=0 ID=:saison *2006.000000000000000*
(0 MilliSeconds)
(1271528): BIND SELECT OUTPUT BUFFER (DataWindow): (0
MilliSeconds)
(1271528):
,len=30,type=DATETIME,pbt=9,dbt=0,ct=0,prec=0,scale=0
(1271528):
,len=44,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(1271528):
,len=44,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(1271528): ,len=52,type=CHAR,pbt=1,dbt=0,ct=0,prec=0,scale=0
(1271528):
,len=44,type=FLOAT4,pbt=21,dbt=0,ct=0,prec=0,scale=0
(1271528): ,len=3,type=CHAR,pbt=1,dbt=0,ct=0,prec=0,scale=0
(1271528): ,len=52,type=CHAR,pbt=1,dbt=0,ct=0,prec=0,scale=0
(1271528):
,len=44,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(1271528): ,len=3,type=CHAR,pbt=1,dbt=0,ct=0,prec=0,scale=0
(1271528):
,len=44,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(1271528):
,len=44,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(1271528): EXECUTE: (0 MilliSeconds)
(1271528): FETCH NEXT: (0 MilliSeconds)
(1271528):
 Error 1 (rc 100)
(1271528): COMMIT: (0 MilliSeconds)
(1271528): DISCONNECT: (0 MilliSeconds)

Perhaps, its the option = 35 ??
It's OK with string and date parameter.

Thanks..

How to repeat:
BIND VARIABLES:
(1271528):   SELECT  operations.oprt_date ,          
operations.oprt_no_cheque ,          
operations.oprt_type_operations ,          
operations_type.optp_type_operation ,          
operations.oprt_montant ,          
article_categ.type_categorie ,          
article_categ.libelle_categ ,          
operations.oprt_check ,           operations.oprt_init ,    
      operations.oprt_cle ,          
operations.oprt_fk_cle_virement     FROM operations ,       
   operations_type ,           article_categ     WHERE (
operations.oprt_type_operations = operations_type.optp_cle )
and          ( operations.oprt_fk_categorie =
article_categ.no_categorie ) and          ( (
operations.oprt_saison = ? ) ) ORDER BY operations.oprt_init
         DESC,           operations.oprt_date          ASC, 
         operations.oprt_cle          ASC
(1271528): FLOAT Length=0 ID=:saison *2006.000000000000000*
(0 MilliSeconds)
(1271528): BIND SELECT OUTPUT BUFFER (DataWindow): (0
MilliSeconds)
(1271528):
,len=30,type=DATETIME,pbt=9,dbt=0,ct=0,prec=0,scale=0
(1271528):
,len=44,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(1271528):
,len=44,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(1271528): ,len=52,type=CHAR,pbt=1,dbt=0,ct=0,prec=0,scale=0
(1271528):
,len=44,type=FLOAT4,pbt=21,dbt=0,ct=0,prec=0,scale=0
(1271528): ,len=3,type=CHAR,pbt=1,dbt=0,ct=0,prec=0,scale=0
(1271528): ,len=52,type=CHAR,pbt=1,dbt=0,ct=0,prec=0,scale=0
(1271528):
,len=44,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(1271528): ,len=3,type=CHAR,pbt=1,dbt=0,ct=0,prec=0,scale=0
(1271528):
,len=44,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(1271528):
,len=44,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(1271528): EXECUTE: (0 MilliSeconds)
(1271528): FETCH NEXT: (0 MilliSeconds)
(1271528):
 Error 1 (rc 100)
(1271528): COMMIT: (0 MilliSeconds)
(1271528): DISCONNECT: (0 MilliSeconds)
[20 Jun 2006 17:30] etienne duvett
It's the same as ID 7649
[29 Jun 2006 13:31] Valeriy Kravchuk
Duplicate of bug #7649, it seems.
[8 Aug 2006 8:00] etienne duvett
pb project package

Attachment: pb_project.zip (application/x-zip-compressed, text), 14.95 KiB.

[8 Aug 2006 8:01] etienne duvett
It's the project for bug 7649
[8 Aug 2006 11:17] etienne duvett
Export of pbl

Attachment: export_pbl.zip (application/x-zip-compressed, text), 5.75 KiB.

[10 Aug 2006 7:16] etienne duvett
a new version without "showaide"

Attachment: pbmysql.pbl (application/octet-stream, text), 60.50 KiB.

[6 Nov 2006 21:36] John McQuade
I'm running PB 10.5 and MySQL 5.0.27-community-log. I have this issue in PB 9 as well, I just switched to PB 10.5 and I still have the issue. The trace logs:

/*---------------------------------------------------*/
/*                 11/6/2006  16:35                  */
/*---------------------------------------------------*/
(eb4c10): DIALOG CONNECT TO TRACE ODBC:
(eb4c10): DBPARM=ConnectString='DSN=MySQL;UID=root;PWD=rewt;option=135168;database=harris' (23.637 MS / 23.637 MS)
(eb4c10): PREPARE WITH BIND VARIABLES:
(eb4c10):   SELECT  tone.SwitchKey ,           tone.ToneKey ,           tone.ToneDescription ,           tone.ToneDefault ,           tone.ToneIndex ,           tone.ToneDuration ,           tone.SilenceDuration ,           tone.FrequencyOne ,           tone.AmplitudeOne ,           tone.FrequencyTwo ,           tone.AmplitudeTwo     FROM tone      WHERE ( tone.SwitchKey = ? ) and          ( tone.ToneKey = ? )   
(eb4c10): FLOAT Length=0 ID=:SwitchKey *1*
(eb4c10): FLOAT Length=0 ID=:ToneKey *57* (0.068 MS / 23.705 MS)
(eb4c10): BIND SELECT OUTPUT BUFFER (DataWindow): (0.589 MS / 24.294 MS)
(eb4c10): ,len=80,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(eb4c10): ,len=80,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(eb4c10): ,len=42,type=CHAR,pbt=1,dbt=0,ct=0,prec=0,scale=0
(eb4c10): ,len=3,type=CHAR,pbt=1,dbt=0,ct=0,prec=0,scale=0
(eb4c10): ,len=80,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(eb4c10): ,len=80,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(eb4c10): ,len=80,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(eb4c10): ,len=80,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(eb4c10): ,len=80,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(eb4c10): ,len=80,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(eb4c10): ,len=80,type=LONG,pbt=22,dbt=0,ct=0,prec=0,scale=0
(eb4c10): EXECUTE: (0.336 MS / 24.630 MS)
(eb4c10): FETCH NEXT: (0.143 MS / 24.773 MS)
(eb4c10): *** DBI_FETCHEND *** (rc 100)
(eb4c10): ROLLBACK: (0.003 MS / 24.776 MS)
[7 Nov 2006 1:46] John McQuade
A setting in the PowerBuilder ODBC INI file (pbodbxx.ini) in the Sybase Shared Directory Add:

[MySQL]
PBSupportBindSelect='NO'
PBSupportBindUpdate='NO'
PBSupportDBBind='NO'

This resolves the issue.