mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-17 01:26:25 +00:00
57 lines
1.5 KiB
C
57 lines
1.5 KiB
C
|
/*
|
||
|
** 2010 August 30
|
||
|
**
|
||
|
** The author disclaims copyright to this source code. In place of
|
||
|
** a legal notice, here is a blessing:
|
||
|
**
|
||
|
** May you do good and not evil.
|
||
|
** May you find forgiveness for yourself and forgive others.
|
||
|
** May you share freely, never taking more than you give.
|
||
|
**
|
||
|
*************************************************************************
|
||
|
*/
|
||
|
|
||
|
#ifndef _SQLITE3RTREE_H_
|
||
|
#define _SQLITE3RTREE_H_
|
||
|
|
||
|
#include <sqlite3.h>
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
typedef struct sqlite3_rtree_geometry sqlite3_rtree_geometry;
|
||
|
|
||
|
/*
|
||
|
** Register a geometry callback named zGeom that can be used as part of an
|
||
|
** R-Tree geometry query as follows:
|
||
|
**
|
||
|
** SELECT ... FROM <rtree> WHERE <rtree col> MATCH $zGeom(... params ...)
|
||
|
*/
|
||
|
int sqlite3_rtree_geometry_callback(
|
||
|
sqlite3 *db,
|
||
|
const char *zGeom,
|
||
|
int (*xGeom)(sqlite3_rtree_geometry *, int nCoord, double *aCoord, int *pRes),
|
||
|
void *pContext
|
||
|
);
|
||
|
|
||
|
|
||
|
/*
|
||
|
** A pointer to a structure of the following type is passed as the first
|
||
|
** argument to callbacks registered using rtree_geometry_callback().
|
||
|
*/
|
||
|
struct sqlite3_rtree_geometry {
|
||
|
void *pContext; /* Copy of pContext passed to s_r_g_c() */
|
||
|
int nParam; /* Size of array aParam[] */
|
||
|
double *aParam; /* Parameters passed to SQL geom function */
|
||
|
void *pUser; /* Callback implementation user data */
|
||
|
void (*xDelUser)(void *); /* Called by SQLite to clean up pUser */
|
||
|
};
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} /* end of the 'extern "C"' block */
|
||
|
#endif
|
||
|
|
||
|
#endif /* ifndef _SQLITE3RTREE_H_ */
|