diff options
author | Bruce Momjian <bruce@momjian.us> | 1997-03-09 20:41:02 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1997-03-09 20:41:02 +0000 |
commit | b913dd1f9e0a0fccf1f9589a1173865f1c2af54b (patch) | |
tree | f2962d34e20a2f95640a1c55fc5de08f71c75d93 /src/backend/utils/adt/geo_selfuncs.c | |
parent | d8023a00bdd7bc73f15032666e6ac87d4de99b47 (diff) | |
download | postgresql-b913dd1f9e0a0fccf1f9589a1173865f1c2af54b.tar.gz postgresql-b913dd1f9e0a0fccf1f9589a1173865f1c2af54b.zip |
Add prototypes for oracle-compat functions. Rename geo-*.c adt to geo_*.c
Diffstat (limited to 'src/backend/utils/adt/geo_selfuncs.c')
-rw-r--r-- | src/backend/utils/adt/geo_selfuncs.c | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/src/backend/utils/adt/geo_selfuncs.c b/src/backend/utils/adt/geo_selfuncs.c new file mode 100644 index 00000000000..a4d3eccb51d --- /dev/null +++ b/src/backend/utils/adt/geo_selfuncs.c @@ -0,0 +1,125 @@ +/*------------------------------------------------------------------------- + * + * geo-selfuncs.c-- + * Selectivity routines registered in the operator catalog in the + * "oprrest" and "oprjoin" attributes. + * + * Copyright (c) 1994, Regents of the University of California + * + * + * IDENTIFICATION + * $Header: /cvsroot/pgsql/src/backend/utils/adt/geo_selfuncs.c,v 1.1 1997/03/09 20:40:57 momjian Exp $ + * + * XXX These are totally bogus. + * + *------------------------------------------------------------------------- + */ +#include "postgres.h" + +#include "access/attnum.h" +#include "utils/geo-decls.h" /* where function declarations go */ +#include "utils/palloc.h" +#include "utils/builtins.h" + +float64 +areasel(Oid opid, + Oid relid, + AttrNumber attno, + char *value, + int32 flag) +{ + float64 result; + + result = (float64) palloc(sizeof(float64data)); + *result = 1.0 / 4.0; + return(result); +} + +float64 +areajoinsel(Oid opid, + Oid relid, + AttrNumber attno, + char *value, + int32 flag) +{ + float64 result; + + result = (float64) palloc(sizeof(float64data)); + *result = 1.0 / 4.0; + return(result); +} + +/* + * Selectivity functions for rtrees. These are bogus -- unless we know + * the actual key distribution in the index, we can't make a good prediction + * of the selectivity of these operators. + * + * In general, rtrees need to search multiple subtrees in order to guarantee + * that all occurrences of the same key have been found. Because of this, + * the heuristic selectivity functions we return are higher than they would + * otherwise be. + */ + +/* + * left_sel -- How likely is a box to be strictly left of (right of, above, + * below) a given box? + */ + +float64 +leftsel(Oid opid, + Oid relid, + AttrNumber attno, + char *value, + int32 flag) +{ + float64 result; + + result = (float64) palloc(sizeof(float64data)); + *result = 1.0 / 6.0; + return(result); +} + +float64 +leftjoinsel(Oid opid, + Oid relid, + AttrNumber attno, + char *value, + int32 flag) +{ + float64 result; + + result = (float64) palloc(sizeof(float64data)); + *result = 1.0 / 6.0; + return(result); +} + +/* + * contsel -- How likely is a box to contain (be contained by) a given box? + */ +float64 +contsel(Oid opid, + Oid relid, + AttrNumber attno, + char *value, + int32 flag) +{ + float64 result; + + result = (float64) palloc(sizeof(float64data)); + *result = 1.0 / 10.0; + return(result); +} + +float64 +contjoinsel(Oid opid, + Oid relid, + AttrNumber attno, + char *value, + int32 flag) +{ + float64 result; + + result = (float64) palloc(sizeof(float64data)); + *result = 1.0 / 10.0; + return(result); +} |