SQLite Forum

identification of user function
Login
I do this in my extensions all the time by passing a parameter in the pApp and checking its value in the function using the sqlite3_user_data API as Richard suggests -- this is why that functionality exists.

```
sqlite3_create_function(db,"daysinmonth",3,cf_flags,(void*)0,days_in_month,0,0);
sqlite3_create_function(db,"dim",3,cf_flags,(void*)1,days_in_month,0,0);
```


then inside days_in_month you simply use the passed value:

```
if ((intptr_t)sqlite3_user_data(context) == 0)
{
   ... user called daysinmonth" ...
}
if ((intptr_t)sqlite3_user_data(context) == 1)
{
   ... user called "dim" ...
}
```

The same can be used for aggregate and window functions as well.  In fact, I have some functions that use the same C function to implement dozens of different API functions (ie, the SQL functions all implement the same thing just slightly differently differently -- for example a Hash function which can use any of a dozen different algorothms).

NB:  Edited the typo (void^)1 to the correct (void*)1