[sqlite] How to compile and load the example fts4 rank function?

2012-07-21 Thread AJ ONeal
I naively tried

wget
https://raw.github.com/gist/3154964/d570955d45580c095c99de6eb0c378395d4b076d/sqlite3-fts4-rank.c
gcc -c sqlite3-fts4-rank.c -o sqlite3-fts4-rank.o

sqlite3
.load sqlite3-fts4-rank.o

But that didn't work.

Can I get a link to the docs on this? I don't think I was using the right
search terms to find it.

AJ ONeal
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] How to compile and load the example fts4 rank function?

2012-07-21 Thread Richard Hipp
On Sat, Jul 21, 2012 at 3:36 AM, AJ ONeal coola...@gmail.com wrote:

 I naively tried

 wget

 https://raw.github.com/gist/3154964/d570955d45580c095c99de6eb0c378395d4b076d/sqlite3-fts4-rank.c
 gcc -c sqlite3-fts4-rank.c -o sqlite3-fts4-rank.o

 sqlite3
 .load sqlite3-fts4-rank.o

 But that didn't work.

 Can I get a link to the docs on this? I don't think I was using the right
 search terms to find it.


Anything you find on GitHub is put there by a private third-party and is
not endorsed or supported by the SQLite core team.  This doesn't mean it is
bad or deficient - it might be great software.  It also doesn't mean you
cannot get help for it on this mailing list, since lots of people hang out
here who might know what you are talking about.  Just understand that what
you are working with is not part of the SQLite core and is thus likely to
be unknown to a large percentage of the readers of this list, so don't be
disappointed if you don't get a quick response.  Also, please don't blame
us if it lacks appropriate documentation or doesn't work so well.  Thanks.




 AJ ONeal
 ___
 sqlite-users mailing list
 sqlite-users@sqlite.org
 http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users




-- 
D. Richard Hipp
d...@sqlite.org
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] How to compile and load the example fts4 rank function?

2012-07-21 Thread AJ ONeal
That example isn't from a 3rd party. It's the rank function listed here:
http://www.sqlite.org/fts3.html#appendix_a

Can you give me a link to documentation for what options to pass to gcc and
what functions to call to activate such an extension?

I've never done this before.

AJ ONeal

On Sat, Jul 21, 2012 at 10:34 AM, Richard Hipp d...@sqlite.org wrote:

 On Sat, Jul 21, 2012 at 3:36 AM, AJ ONeal coola...@gmail.com wrote:

  I naively tried
 
  wget
 
 
 https://raw.github.com/gist/3154964/d570955d45580c095c99de6eb0c378395d4b076d/sqlite3-fts4-rank.c
  gcc -c sqlite3-fts4-rank.c -o sqlite3-fts4-rank.o
 
  sqlite3
  .load sqlite3-fts4-rank.o
 
  But that didn't work.
 
  Can I get a link to the docs on this? I don't think I was using the right
  search terms to find it.
 

 Anything you find on GitHub is put there by a private third-party and is
 not endorsed or supported by the SQLite core team.  This doesn't mean it is
 bad or deficient - it might be great software.  It also doesn't mean you
 cannot get help for it on this mailing list, since lots of people hang out
 here who might know what you are talking about.  Just understand that what
 you are working with is not part of the SQLite core and is thus likely to
 be unknown to a large percentage of the readers of this list, so don't be
 disappointed if you don't get a quick response.  Also, please don't blame
 us if it lacks appropriate documentation or doesn't work so well.  Thanks.



 
  AJ ONeal
  ___
  sqlite-users mailing list
  sqlite-users@sqlite.org
  http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
 



 --
 D. Richard Hipp
 d...@sqlite.org
 ___
 sqlite-users mailing list
 sqlite-users@sqlite.org
 http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] How to compile and load the example fts4 rank function?

2012-07-21 Thread Pavel Ivanov
On Sat, Jul 21, 2012 at 3:36 AM, AJ ONeal coola...@gmail.com wrote:
 I naively tried

 wget
 https://raw.github.com/gist/3154964/d570955d45580c095c99de6eb0c378395d4b076d/sqlite3-fts4-rank.c
 gcc -c sqlite3-fts4-rank.c -o sqlite3-fts4-rank.o

 sqlite3
 .load sqlite3-fts4-rank.o

 But that didn't work.

 Can I get a link to the docs on this? I don't think I was using the right
 search terms to find it.

You cannot load an object file, you should load a shared library (*.so
on Linux).

Pavel
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] How to compile and load the example fts4 rank function?

2012-07-21 Thread Tim Streater
On 21 Jul 2012 at 17:51, Pavel Ivanov paiva...@gmail.com wrote: 

 On Sat, Jul 21, 2012 at 3:36 AM, AJ ONeal coola...@gmail.com wrote:
 I naively tried

 wget
 https://raw.github.com/gist/3154964/d570955d45580c095c99de6eb0c378395d4b076d/
 sqlite3-fts4-rank.c
 gcc -c sqlite3-fts4-rank.c -o sqlite3-fts4-rank.o

 sqlite3
 .load sqlite3-fts4-rank.o

 But that didn't work.

 Can I get a link to the docs on this? I don't think I was using the right
 search terms to find it.

 You cannot load an object file, you should load a shared library (*.so
 on Linux).

If it's OS X then I'd suggest making an Xcode project to create a dynamic 
library (.dylib) and try loading that. (I expect you can do that directly 
without needing Xcode but I've no idea how).

--
Cheers  --  Tim
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] How to compile and load the example fts4 rank function?

2012-07-21 Thread Keith Medcalf

You need to wrap the rankfunc code with code to link back into the engine.  You 
then need to define DLL_EXPORT to whatever (if anything) your platform compiler 
needs to generate an external shared library symbol, and then compile as a 
shared library.  The code basically sets up the linkage necessary to let the 
extension reference the sqlite3 functions.  The sqlite3_extension_init is 
called when you .load the module.  It initializes the linkage then calls the 
function which registers rankfunc in the C code as the function rank in 
SQLite's SQL engine.

I haven't any experience with MAC OS X do I don't know how you build a dynamic 
library on a mac.  You should be able to look at how the sqlite3 library itself 
is built and duplicate that, however.

#ifdef __cplusplus
extern C {
#endif

#ifndef SQLITE_PRIVATE
#define SQLITE_PRIVATE static
#endif

#ifdef SQLITE_CORE
#include sqlite3.h
#else
#include sqlite3ext.h
SQLITE_EXTENSION_INIT1
#endif

// (rankfunc code as SQLITE_PRIVATE)

#ifndef SQLITE_CORE
SQLITE_PRIVATE
#endif
int sqlite3_sqlfunc_init(sqlite3 *db)
{
int nErr = 0;

nErr += sqlite3_create_function(db, rank, 0, SQLITE_ANY,  0,  
rankfunc,   0, 0);

return nErr ? SQLITE_ERROR : SQLITE_OK;
}

#ifndef SQLITE_CORE
DLL_EXPORT int sqlite3_extension_init(sqlite3 *db, char **pzErrMsg, const 
sqlite3_api_routines *pApi)
{
SQLITE_EXTENSION_INIT2(pApi)
return sqlite3_sqlfunc_init(db);
}
#endif

#ifdef __cplusplus
}
#endif



---
()  ascii ribbon campaign against html e-mail
/\  www.asciiribbon.org


 -Original Message-
 From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users-
 boun...@sqlite.org] On Behalf Of AJ ONeal
 Sent: Saturday, 21 July, 2012 10:43
 To: General Discussion of SQLite Database; d...@sqlite.org
 Subject: Re: [sqlite] How to compile and load the example fts4 rank function?
 
 That example isn't from a 3rd party. It's the rank function listed here:
 http://www.sqlite.org/fts3.html#appendix_a
 
 Can you give me a link to documentation for what options to pass to gcc and
 what functions to call to activate such an extension?
 
 I've never done this before.
 
 AJ ONeal
 
 On Sat, Jul 21, 2012 at 10:34 AM, Richard Hipp d...@sqlite.org wrote:
 
  On Sat, Jul 21, 2012 at 3:36 AM, AJ ONeal coola...@gmail.com wrote:
 
   I naively tried
  
   wget
  
  
 
 https://raw.github.com/gist/3154964/d570955d45580c095c99de6eb0c378395d4b076d/
 sqlite3-fts4-rank.c
   gcc -c sqlite3-fts4-rank.c -o sqlite3-fts4-rank.o
  
   sqlite3
   .load sqlite3-fts4-rank.o
  
   But that didn't work.
  
   Can I get a link to the docs on this? I don't think I was using the right
   search terms to find it.
  
 
  Anything you find on GitHub is put there by a private third-party and is
  not endorsed or supported by the SQLite core team.  This doesn't mean it is
  bad or deficient - it might be great software.  It also doesn't mean you
  cannot get help for it on this mailing list, since lots of people hang out
  here who might know what you are talking about.  Just understand that what
  you are working with is not part of the SQLite core and is thus likely to
  be unknown to a large percentage of the readers of this list, so don't be
  disappointed if you don't get a quick response.  Also, please don't blame
  us if it lacks appropriate documentation or doesn't work so well.  Thanks.
 
 
 
  
   AJ ONeal
   ___
   sqlite-users mailing list
   sqlite-users@sqlite.org
   http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
  
 
 
 
  --
  D. Richard Hipp
  d...@sqlite.org
  ___
  sqlite-users mailing list
  sqlite-users@sqlite.org
  http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
 
 ___
 sqlite-users mailing list
 sqlite-users@sqlite.org
 http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users



___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] How to compile and load the example fts4 rank function?

2012-07-21 Thread AJ ONeal
I have now built the example rank function and it loads without error.

However, due to the matchinfo problem I discovered (and started a new
thread about) I have yet to get the example to work correctly. Instead it
always prints out

Error: near line 19: wrong number of arguments to function rank()

The unadulterated example code with the required headers / footers and an
over simplified Makefile and documentation is available here:
https://github.com/coolaj86/sqlite3-fts4-rank

If you would like to try it for yourselves and point out any failing in my
attempt, it would be much appreciated.

AJ ONeal
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users