X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fkcompare.c;h=fc633e156ec80c68431aa5be22e73dbd642473f6;hb=ce20a8a823a2df86ace4862008684c71a4f06cd2;hp=6f9bbfd1866f0f804dd2e6f50a67e5d643faa335;hpb=9765f689118107e45f5fba7261363980d378f7b3;p=idzebra-moved-to-github.git diff --git a/index/kcompare.c b/index/kcompare.c index 6f9bbfd..fc633e1 100644 --- a/index/kcompare.c +++ b/index/kcompare.c @@ -4,7 +4,13 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: kcompare.c,v $ - * Revision 1.4 1995-09-08 14:52:27 adam + * Revision 1.6 1995-09-14 07:48:23 adam + * Record control management. + * + * Revision 1.5 1995/09/11 13:09:34 adam + * More work on relevance feedback. + * + * Revision 1.4 1995/09/08 14:52:27 adam * Minor changes. Dictionary is lower case now. * * Revision 1.3 1995/09/07 13:58:36 adam @@ -31,6 +37,15 @@ #include "index.h" +void key_logdump (int logmask, const void *p) +{ + struct it_key key; + + memcpy (&key, p, sizeof(key)); + logf (logmask, "%7d s=%-4d f=%d,%d", key.sysno, key.seqno, + key.attrSet, key.attrUse); +} + int key_compare (const void *p1, const void *p2) { struct it_key i1, i2; @@ -43,6 +58,7 @@ int key_compare (const void *p1, const void *p2) else return -2; } +#if IT_KEY_HAVE_SEQNO if (i1.seqno != i2.seqno) { if (i1.seqno > i2.seqno) @@ -50,15 +66,29 @@ int key_compare (const void *p1, const void *p2) else return -1; } -#if IT_KEY_HAVE_FIELD - if (i1.field != i2.field) +#else + if (i1.freq != i2.freq) { - if (i1.field > i2.field) + if (i1.freq > i2.freq) return 1; else return -1; } #endif + if (i1.attrSet != i2.attrSet) + { + if (i1.attrSet > i2.attrSet) + return 1; + else + return -1; + } + if (i1.attrUse != i2.attrUse) + { + if (i1.attrUse > i2.attrUse) + return 1; + else + return -1; + } return 0; }