diff -Naur ludia-1.5.2/configure ludia-1.5.2-work/configure --- ludia-1.5.2/configure 2009-03-26 21:44:14.000000000 +0900 +++ ludia-1.5.2/configure 2009-05-28 00:29:15.000000000 +0900 @@ -20269,6 +20269,29 @@ { (exit 1); exit 1; }; }; fi +pg_major_p=`$PG_CFG --version | sed 's/^\([^0-9]*\)\([0-9]\+\)\(\.\([0-9]\+\)\)\?\(\.\([0-9]\+\)\)\?\(.*\)$/\2/g'` +if test -z "$pg_major_p" ; then + pg_major_p="0" +fi +{ echo "$as_me:$LINENO: PostgreSQL primary major version: $pg_major_p" >&5 +echo "$as_me: PostgreSQL primary major version: $pg_major_p" >&6;}; + +pg_major_s=`$PG_CFG --version | sed 's/^\([^0-9]*\)\([0-9]\+\)\(\.\([0-9]\+\)\)\?\(\.\([0-9]\+\)\)\?\(.*\)$/\4/g'` +if test -z "$pg_major_s" ; then + pg_major_s="0" +fi +{ echo "$as_me:$LINENO: PostgreSQL secondary major version: $pg_major_s" >&5 +echo "$as_me: PostgreSQL secondary major version: $pg_major_s" >&6;}; + +pg_minor=`$PG_CFG --version | sed 's/^\([^0-9]*\)\([0-9]\+\)\(\.\([0-9]\+\)\)\?\(\.\([0-9]\+\)\)\?\(.*\)$/\6/g'` +if test -z "$pg_minor" ; then + pg_minor="0" +fi +{ echo "$as_me:$LINENO: PostgreSQL minor version: $pg_minor" >&5 +echo "$as_me: PostgreSQL minor version: $pg_minor" >&6;}; + +CPPFLAGS="-DPG_MAJOR_P=${pg_major_p} -DPG_MAJOR_S=${pg_major_s} -DPG_MINOR=${pg_minor} $CPPFLAGS" + # Checks for libraries. echo "$as_me:$LINENO: checking for sen_index_create in -lsenna" >&5 diff -Naur ludia-1.5.2/configure.ac ludia-1.5.2-work/configure.ac --- ludia-1.5.2/configure.ac 2009-03-26 21:43:47.000000000 +0900 +++ ludia-1.5.2/configure.ac 2009-05-28 00:36:32.000000000 +0900 @@ -122,6 +122,26 @@ AC_MSG_ERROR([$PG_CFG] is not pg_config); fi +pg_major_p=`$PG_CFG --version | sed 's/^\([[^0-9]]*\)\([[0-9]]\+\)\(\.\([[0-9]]\+\)\)\?\(\.\([[0-9]]\+\)\)\?\(.*\)$/\2/g'` +if test -z "$pg_major_p" ; then + pg_major_p="0" +fi +AC_MSG_NOTICE([PostgreSQL secondary major version: $pg_major_p]); + +pg_major_s=`$PG_CFG --version | sed 's/^\([[^0-9]]*\)\([[0-9]]\+\)\(\.\([[0-9]]\+\)\)\?\(\.\([[0-9]]\+\)\)\?\(.*\)$/\4/g'` +if test -z "$pg_major_s" ; then + pg_major_s="0" +fi +AC_MSG_NOTICE([PostgreSQL secondary major version: $pg_major_s]); + +pg_minor=`$PG_CFG --version | sed 's/^\([[^0-9]]*\)\([[0-9]]\+\)\(\.\([[0-9]]\+\)\)\?\(\.\([[0-9]]\+\)\)\?\(.*\)$/\6/g'` +if test -z "$pg_minor" ; then + pg_minor="0" +fi +AC_MSG_NOTICE([PostgreSQL minor version: $pg_minor]); + +CPPFLAGS="-DPG_MAJOR_P=${pg_major_p} -DPG_MAJOR_S=${pg_major_s} -DPG_MINOR=${pg_minor} $CPPFLAGS" + # Checks for libraries. AC_CHECK_LIB([senna], [sen_index_create]) diff -Naur ludia-1.5.2/pgsenna2.c ludia-1.5.2-work/pgsenna2.c --- ludia-1.5.2/pgsenna2.c 2009-03-26 21:43:47.000000000 +0900 +++ ludia-1.5.2/pgsenna2.c 2009-05-28 00:29:15.000000000 +0900 @@ -610,6 +610,13 @@ bs.index = index_info_open(index, 1, flags); bs.oid_type = oid_type; reltuples = IndexBuildHeapScan(heap, index, indexInfo, +#if defined(PG_MAJOR_P) && (PG_MAJOR_P >= 8) +#if (PG_MAJOR_P > 8) || (defined(PG_MAJOR_S) && (PG_MAJOR_S >= 3)) +#if (PG_MAJOR_P > 8) || (PG_MAJOR_S > 3) || (defined(PG_MINOR) && (PG_MINOR >= 6)) + true, +#endif +#endif +#endif buildCallback, (void *) &bs); #if defined(POSTGRES82) || defined(POSTGRES83) result = (IndexBuildResult *) PGS2_PALLOC(sizeof(IndexBuildResult));