> The "context" passed to a user defined function is not and cannot be a "statement handle".
Yes, you are right there. Not sure now how I thought it was a statement handle, but this doesn't alter the problem. Thanks in any case for correcting this mis-conception. RBS On Mon, Oct 19, 2015 at 1:40 PM, Hick Gunter <hick at scigames.at> wrote: > The "context" passed to a user defined function is not and cannot be a > "statement handle". How would an aggregate function tell the difference > between > > Select SUM(x) ... > > and > > Select SUM(x), SUM(y) ... > > if not by virtue of sqlite3_aggregate_context() returning different > adresses? > > -----Urspr?ngliche Nachricht----- > Von: sqlite-users-bounces at mailinglists.sqlite.org [mailto: > sqlite-users-bounces at mailinglists.sqlite.org] Im Auftrag von Bart > Smissaert > Gesendet: Montag, 19. Oktober 2015 13:49 > An: General Discussion of SQLite Database > Betreff: Re: [sqlite] Problem with sqlite3_create_function > > Still getting a crash here if I use the UDF more than once in the same > statement: > > So, table with 2 integer columns and then doing: > > select XXX(field1), XXX(field2) from table1 > > causes a crash. > > I can see that the statement prepares fine and that the UDF gets called > twice (for the first row), but with no error, so > sqlite3_errmsg(lDBHandle) gives not an error, but than my application > crashes. > I get the following information about this if it is of any help: > > Problem signature: > Problem Event Name: APPCRASH > Application Name: EXCEL.EXE > Application Version: 12.0.6732.5000 > Application Timestamp: 55f969a5 > Fault Module Name: sqlite3.dll > Fault Module Version: 3.9.1.0 > Fault Module Timestamp: 562138c8 > Exception Code: c0000005 > Exception Offset: 0005a28b > OS Version: 6.1.7601.2.1.0.256.48 > Locale ID: 2057 > Additional information about the problem: > LCID: 1033 > Brand: Office12Crash > skulcid: 1033 > > Using the UDF once in a statement is fine: > > select XXX(field1) from table1 > > One thing I noticed is that every time the UDF is called (that is only > twice, so once for field1 then again for field2) it is with a different > statement handle. > Is this to be expected? > > > RBS > > > On Mon, Oct 19, 2015 at 1:21 AM, Bart Smissaert <bart.smissaert at gmail.com> > wrote: > > > Actually, I can see now that the result of > > sqlite3_extended_errcode(lDBHandle) is in fact the same as the result > > of sqlite3_step as I get for the 3 rows 100, 100, 100, 101 so > > SQLITE_ROW 3 times then SQLITE_DONE. > > > > Note sure though why this is and why I get unknown error as a result > > of sqlite3_errmsg(lDBHandle). Should that not be: Not an error? > > > > In any case it does all work now. > > > > RBS > > > > > > > > On Mon, Oct 19, 2015 at 1:05 AM, Bart Smissaert > > <bart.smissaert at gmail.com> > > wrote: > > > >> Some progress with this. > >> Still get an error: unknown error, Extended error code: 100, but it > >> all runs and get the right results and no crash. > >> Problem was I did put the result of sqlite3_step in a VB Long datatype: > >> > >> Dim lStepResult As Long > >> > >> lStepResult = sqlite3_step(lStatementHandle) > >> > >> Now I do instead: > >> > >> Dim lStepResult 'VB variant datatype > >> > >> > >> RBS > >> > >> > >> > >> > >> > >> > >> On Sun, Oct 18, 2015 at 10:16 PM, Bart Smissaert < > >> bart.smissaert at gmail.com> wrote: > >> > >>> > Is that binary ? Or hex ? > >>> > >>> Normal decimal, it is the result of > >>> sqlite3_extended_errcode(lDBHandle) > >>> > >>> > Just to verify, can you download the SQLite shell tool and try to > >>> execute the same sequence ? > >>> > >>> Not sure that is that simple as the code to produce the result is in > >>> an ActiveX dll, not in sqlite3.dll. > >>> > >>> RBS > >>> > >>> On Sun, Oct 18, 2015 at 9:43 PM, Simon Slavin <slavins at bigfraud.org> > >>> wrote: > >>> > >>>> > >>>> On 18 Oct 2015, at 8:35pm, Bart Smissaert > >>>> <bart.smissaert at gmail.com> > >>>> wrote: > >>>> > >>>> > I get an error: unknown error, Extended error code: 100. > >>>> > >>>> Is that binary ? Or hex ? > >>>> > >>>> > I do understand that most likely the problem is somewhere in my > >>>> > VB6 > >>>> code, > >>>> > but I can't see it and maybe somebody can shed some light on this > >>>> from the > >>>> > SQLite side. > >>>> > >>>> Just to verify, can you download the SQLite shell tool and try to > >>>> execute the same sequence ? > >>>> > >>>> Simon. > >>>> _______________________________________________ > >>>> sqlite-users mailing list > >>>> sqlite-users at mailinglists.sqlite.org > >>>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-user > >>>> s > >>>> > >>> > >>> > >> > > > _______________________________________________ > sqlite-users mailing list > sqlite-users at mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > > > ___________________________________________ > Gunter Hick > Software Engineer > Scientific Games International GmbH > FN 157284 a, HG Wien > Klitschgasse 2-4, A-1130 Vienna, Austria > Tel: +43 1 80100 0 > E-Mail: hick at scigames.at > > This communication (including any attachments) is intended for the use of > the intended recipient(s) only and may contain information that is > confidential, privileged or legally protected. Any unauthorized use or > dissemination of this communication is strictly prohibited. If you have > received this communication in error, please immediately notify the sender > by return e-mail message and delete all copies of the original > communication. Thank you for your cooperation. > > > _______________________________________________ > sqlite-users mailing list > sqlite-users at mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >