mirror of
https://github.com/postgres/postgres.git
synced 2025-06-13 07:41:39 +03:00
Preventing intersection of ranges during page split. Changes are only
optimization, so don't backpatch.
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $PostgreSQL: pgsql/contrib/btree_gist/btree_oid.c,v 1.8 2009/06/11 14:48:50 momjian Exp $
|
||||
* $PostgreSQL: pgsql/contrib/btree_gist/btree_oid.c,v 1.9 2009/12/02 13:13:24 teodor Exp $
|
||||
*/
|
||||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
@ -57,13 +57,18 @@ gbt_oidlt(const void *a, const void *b)
|
||||
static int
|
||||
gbt_oidkey_cmp(const void *a, const void *b)
|
||||
{
|
||||
oidKEY *ia = (oidKEY*)(((Nsrt *) a)->t);
|
||||
oidKEY *ib = (oidKEY*)(((Nsrt *) b)->t);
|
||||
|
||||
if (*(Oid *) &(((Nsrt *) a)->t[0]) > *(Oid *) &(((Nsrt *) b)->t[0]))
|
||||
return 1;
|
||||
else if (*(Oid *) &(((Nsrt *) a)->t[0]) < *(Oid *) &(((Nsrt *) b)->t[0]))
|
||||
return -1;
|
||||
return 0;
|
||||
if (ia->lower == ib->lower)
|
||||
{
|
||||
if (ia->upper == ib->upper)
|
||||
return 0;
|
||||
|
||||
return (ia->upper > ib->upper) ? 1 : -1;
|
||||
}
|
||||
|
||||
return (ia->lower > ib->lower) ? 1 : -1;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user