Hi everybody
I test WiTango 5.5. I have an application which work fine on WiTango
5.0 and i have an issue (and a strange workaround...) on WiTango 5.5.
I use Direct DBMS because my query use full text index in MySQL.
Here an extract of the debug on WiTango 5.0 :
--------------------------------------------
[Query] [18] SELECT SQL_CALC_FOUND_ROWS Etab_Source, Etab_ID,
Etab_NomComm, Etab_DenomSoc, Etab_Enseigne, Etab_Sigle,
Etab_AdresseLigne1, Etab_Commune, Etab_telephone FROM etablissements
WHERE Etab_source = '08030' AND MATCH Etab_NomComm, Etab_DenomSoc,
Etab_Enseigne, Etab_Sigle AGAINST ('+alpha* ' in boolean mode) ORDER BY
Etab_DenomSoc ASC
[ActionResults] [27] 08030 5974 ALPHA CHAUFFAGE SARL 10 RUE DES LETIS
BEZANNES 0326363020
[Changed Vars] [36] request$arg_name=y; request$arg_names=[Array:7x2];
request$arg_values=[Array:1x1]; request$Offset_Start=1;
request$request_SQL_Query_Unique=1; request$search_vals_2_FORM=<INPUT
TYPE="HIDDEN" NAME="Nom" VALUE="alpha"> <INPUT TYPE="HIDDEN"
NAME="Nom_commune" VALUE=""> ;
request$search_vals_2_URL=&Nom=alpha&Nom%5Fcommune=;
request$SQL_Objet=[Object: 011802F0]; request$Taille_Bloc=20;
[Direct DBMS Action] [36] Decompte_Records : cciEntreprises
[Query] [37] SELECT FOUND_ROWS();
[ActionResults] [38] 9
[Changed Vars] [39] request$Total_Records=9;
---------------------------------------------
In direct DBMS action <@TOTALROWS> meta tag return a value -1.
To get the total of matching record, I use the syntax SELECT
SQL_CALC_FOUND_ROWS... in the first request to MySQL database (in first
Direct DBMS action) and i get the count of rows with SELECT
FOUND_ROWS(); in second request (in a second Direct DBMS action).
These commands work fine in mysql client and in odbctest programm.
But with WiTango 5.5 if the system variable CACHE in witango.ini file
is FALSE :
------------------------------------------------------------------------
-
[Query] [334] SELECT SQL_CALC_FOUND_ROWS Etab_Source, Etab_ID,
Etab_NomComm, Etab_DenomSoc, Etab_Enseigne, Etab_Sigle,
Etab_AdresseLigne1, Etab_Commune, Etab_telephone FROM etablissements
WHERE Etab_source = '08030' AND MATCH Etab_NomComm, Etab_DenomSoc,
Etab_Enseigne, Etab_Sigle AGAINST ('+alpha* ' in boolean mode) ORDER BY
Etab_DenomSoc ASC
[ActionResults] [343] 08030 5974 ALPHA CHAUFFAGE SARL 10 RUE DES LETIS
BEZANNES 0326363020
[Changed Vars] [352] request$arg_name=y; request$arg_names=[Array:7x2];
request$arg_values=[Array:1x1]; request$Offset_Start=1;
request$request_SQL_Query_Unique=1; request$search_vals_2_FORM=<INPUT
TYPE="HIDDEN" NAME="Nom" VALUE="alpha"> <INPUT TYPE="HIDDEN"
NAME="Nom_commune" VALUE=""> ;
request$search_vals_2_URL=&Nom=alpha&Nom%5Fcommune=;
request$SQL_Objet=[Object: 02A260C0]; request$Taille_Bloc=20;
[Direct DBMS Action] [353] Decompte_Records : cciEntreprises
[Query] [354] SELECT FOUND_ROWS();
[ActionResults] [355] 0
[Changed Vars] [356] request$Total_Records=0;
---------------------------------------------
The SELECT FOUND_ROWS() request return always 0.
If i put the system variable CACHE in witango.ini file on TRUE, it's
work fine EXCEPT on the first call of .taf file...
And every time the .taf file is not in cache, the first call failed.
In both case, the connection on the SQL database is not closed and a
"netstat" command on the WiTango host show a open connection to the
database :
tcp4 0 0 wid.alphamosa.fr.49811 dev.alphamosa.fr.mysql
ESTABLISHED
My Configuration :
WiTango 5.5 host
----------------
WiTango Server 5.5.009
Mac OS X 10.3.9
Apache 1.3.29
MyODBC (downloaded from mysql site) 3.51.11
MySQL Host
----------
Mac OS X 10.3.9
MySQL 4.1.12
For me, wiTango "closed" the connection with the odbc manager between
the two Direct DBMS Action if the .taf file is not in cache.
Anybody can tell me if, with the same configuration, it's work fine.
Best regards
Francis LEBOURQ
--
"Si un bug est documenté cela devient une fonctionnalité"
Proverbe
_____________________________________________________________________
Francis LEBOURQ Directeur Technique
ALPHA MOSA eMail :[EMAIL PROTECTED]
14, bis rue Howard Houston Expert Apple
51170 ARCIS LE PONSART - France
Tel : 03 26 48 17 56
Fax : 03 26 48 10 87
_____________________________________________________________________
________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf