I am putting this in the patches queue so it is not lost. I believe Neil is working applying this.
Your patch has been added to the PostgreSQL unapplied patches list at: http://momjian.postgresql.org/cgi-bin/pgpatches It will be applied as soon as one of the PostgreSQL committers reviews and approves it. --------------------------------------------------------------------------- Tom Dunstan wrote: > Neil Conway wrote: > > On Thu, 2007-02-01 at 22:50 -0500, Bruce Momjian wrote: > >> Where are we on this? > > > > I can commit to reviewing this. The patch looked fairly solid on a quick > > glance through, but I won't have the cycles to review it properly for a > > week or two. > > I've brought this up to date with the operator family stuff now, and the > attached patch once more applies cleanly against HEAD. Hopefully that'll > make life a little easier when reviewing it. Thanks. > > I got sick of manually shifting the new OID values every time someone > had added something new to the catalogs, so I moved all of my OIDs up to > the 9000 range. Attached is a hacky bash script which can move them back > to something sane. The idea is to run unused_oids first, see where the > main block of unused OIDs starts, and then run shift_oids on the > (unzipped) patch file before applying the patch. We discussed something > similar a while ago, but no-one ever got around to implementing the script. > > I've attached the script and left the OIDs in my patch in the upper > range rather than just running it myself before submitting the patch as > I reckon that this might be a useful convention for authors of patches > which add a non-trivial number of OIDs to the catalogs. If there's > agreement then anyone can feel free to commit the script to CVS or put > it on the wiki or whatever. > > Cheers > > Tom [ application/x-gzip is not supported, skipping... ] > #!/bin/sh > > start=$1 > end=$2 > new_start=$3 > filename=$4 > > if [ -z "$filename" ] ; then > echo Usage: $0 start-oid end-oid new-start-oid filename > exit 1 > fi > > if [ ! -f $filename ] ; then > echo $0: $filename is not a file > exit 1 > fi > > if [ $end -le $start ] ; then > echo $0: End of OID range must be greater than or equal to the start > exit 1 > fi > > start_len=`echo -n $start | wc -c` > end_len=`echo -n $end | wc -c` > > if [ $start_len -ne 4 -o $end_len -ne 4 ] ; then > echo $0: Source OID range must have 4 digits > exit 1 > fi > > let new_end=$new_start+$end-$start > if [ $start -le $new_start -a $end -ge $new_start -o $new_start -le $start -a > $new_end -ge $start ] ; then > echo $0: OID ranges may not overlap > exit 1 > fi > > > i=$start > j=$new_start > while [ $i -le $end ] ; do > #echo $i $j > sed -i "s/$i/$j/g" $filename > let i=i+1 > let j=j+1 > done > > ---------------------------(end of broadcast)--------------------------- > TIP 5: don't forget to increase your free space map settings -- Bruce Momjian <[EMAIL PROTECTED]> http://momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend