Hi Milan, thx for your patch. SQLITE_STATIC --> SQLITE_TRANSIENT I try to apply it for testing: but seem nothing change . However I leave it in the code to allow you to test. I submit also a new dll.
Regards, Andrea. 2015-03-11 16:07 GMT+01:00 Milan Roubal <roubal at keyserver.cz>: > Dear Andrea, > thank you for the answer. The only idea I have so far is the line 452 in > file wrapper_functions.c > sqlite3_result_text(context, metrics, strlen(metrics)+1, SQLITE_STATIC); > I would change that to > sqlite3_result_text(context, metrics, strlen(metrics)+1, SQLITE_TRANSIENT); > but I don't have compiler to verify if this idea makes sense. > Thank you > Best Regards > Milan > > On 2015-03-11 00:15, aperi2007 wrote: >> >> Hi Milan, >> >> thx for your report. >> >> I try to see a check, and effectively I notice the problem is in the >> qgrams_distance when used the metrics option. >> >> As reported in the readme, the stringmetrics extension is based on the >> https://github.com/jokillsya/libsimmetrics >> library. >> The code on the metrics is integrally take from the sample of that >> library. >> >> I guess the problem you report is due to a static allocation (or >> similar effect) that is not appropriated when in the same query the >> same function is called more than one time. >> >> Actually I dont know if the problem is in the sqlite side of my code >> or in the original code of the symmetrics library. >> >> I try to resolve this firstly question when and if I find a few of time. >> >> However patches are welcomes. >> :) >> >> Regards, >> >> Andrea Peri. >> >> Il 06/03/2015 17:00, Milan Roubal ha scritto: >>> >>> Dear all, >>> I have some problems with https://github.com/aperi2007/libstringmetrics . >>> For example: >>> When I use "similarity" in qgrams_distance, I get good results. But when >>> I use "metric", it works only if it is only once in the query. When there >>> are 2 different usages, they somehow interfere together. Is this the right >>> place where to report such problem? >>> >>>> sqlite3 >>> >>> SQLite version 3.8.8.3 2015-02-25 13:29:11 >>> Enter ".help" for usage hints. >>> Connected to a transient in-memory database. >>> Use ".open FILENAME" to reopen on a persistent database. >>> >>> sqlite> select load_extension("libstringmetrics.dll"); >>> >>> sqlite> select a.firstname, b.firstname, a.lastname, b.lastname, >>> ...> stringmetrics("qgrams_distance","similarity",a.firstname, >>> b.firstname,"") first_dist, >>> ...> stringmetrics("qgrams_distance","similarity",a.lastname, >>> b.lastname,"") last_dist >>> ...> from >>> ...> (select "Milan" as firstname, "Roubal" as lastname ) a, >>> ...> (select "Milan" as firstname, "roubal" as lastname ) b >>> ...> ; >>> Milan|Milan|Roubal|roubal|100.0|62.5 >>> >>> sqlite> select a.firstname, b.firstname, a.lastname, b.lastname, >>> ...> stringmetrics("qgrams_distance","metric",a.firstname, >>> b.firstname,"") first_dist, >>> ...> stringmetrics("qgrams_distance","metric",a.lastname, >>> b.lastname,"") last_dist >>> ...> from >>> ...> (select "Milan" as firstname, "Roubal" as lastname ) a, >>> ...> (select "Milan" as firstname, "roubal" as lastname ) b >>> ...> ; >>> Milan|Milan|Roubal|roubal|6|6 >>> >>> sqlite> select a.firstname, b.firstname, a.lastname, b.lastname, >>> ...> stringmetrics("qgrams_distance","metric",a.firstname, >>> b.firstname,"") first_dist >>> ...> from >>> ...> (select "Milan" as firstname, "Roubal" as lastname ) a, >>> ...> (select "Milan" as firstname, "roubal" as lastname ) b >>> ...> ; >>> Milan|Milan|Roubal|roubal|0 >>> >>> Thank you >>> Best Regards >>> Milan >>> _______________________________________________ >>> sqlite-users mailing list >>> sqlite-users at mailinglists.sqlite.org >>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >> >> >> _______________________________________________ >> sqlite-users mailing list >> sqlite-users at mailinglists.sqlite.org >> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > > > _______________________________________________ > sqlite-users mailing list > sqlite-users at mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users -- ----------------- Andrea Peri . . . . . . . . . qwerty ????? -----------------