Received: from localhost (unknown [200.46.204.183]) by mail.postgresql.org (Postfix) with ESMTP id 3DF076323E0 for ; Fri, 16 Jan 2009 08:39:53 -0400 (AST) Received: from mail.postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 62592-09 for ; Fri, 16 Jan 2009 08:39:48 -0400 (AST) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from hook.sigaev.ru (hook.sigaev.ru [212.192.243.50]) by mail.postgresql.org (Postfix) with ESMTP id D7B5563239B for ; Fri, 16 Jan 2009 08:39:47 -0400 (AST) Received: by hook.sigaev.ru (Postfix, from userid 1003) id F39A4398F8; Fri, 16 Jan 2009 15:39:44 +0300 (MSK) Received: from xor.sai.msu.ru (xor.sai.msu.ru [212.192.243.97]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: teodor) by hook.sigaev.ru (Postfix) with ESMTPSA id 644A5398F4; Fri, 16 Jan 2009 15:39:37 +0300 (MSK) Message-ID: <49708008.8070109@sigaev.ru> Date: Fri, 16 Jan 2009 15:39:36 +0300 From: Teodor Sigaev User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.19) Gecko/20081222 SeaMonkey/1.1.14 MIME-Version: 1.0 To: Jeff Davis CC: Heikki Linnakangas , Tom Lane , Pgsql Hackers Subject: Re: [PATCHES] GIN improvements References: <483FD205.4090904@sigaev.ru> <486BC501.6060605@sigaev.ru> <27880.1215810535@sss.pgh.pa.us> <487A6E0C.3090600@sigaev.ru> <8993.1216843701@sss.pgh.pa.us> <4888A594.6010102@sigaev.ru> <490B07BA.6030109@sigaev.ru> <492F04D9.5070404@enterprisedb.com> <4942A137.3000502@sigaev.ru> <1229910966.2285.76.camel@jdavis> In-Reply-To: <1229910966.2285.76.camel@jdavis> Content-Type: multipart/mixed; boundary="------------050500070807070206080908" X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0 tagged_above=0 required=5 tests=none X-Spam-Level: X-Archive-Number: 200901/1241 X-Sequence-Number: 131885 This is a multi-part message in MIME format. --------------050500070807070206080908 Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit New version. Changes: - synced with current CVS - added all your changes - autovacuum will run if fast update mode is turned on and trigger of fresh tuple is fired - gincostestimate now tries to calculate cost of scan of pending pages. gincostestimate set disable_cost if it believe that tidbitmap will become lossy. So, tidbitmap has new method - estimation of maximum number of tuples with guaranteed non-lossy mode. > START_CRIT_SECTION(); > ... > l = PageAddItem(...); > if (l == InvalidOffsetNumber) > elog(ERROR, "failed to add item to index page in \"%s\"", > RelationGetRelationName(index)); > > It's no use using ERROR, because it will turn into PANIC, which is I did that similar to other GIN/GiST places. BTW, BTree directly emits PANIC if PageAddItem fails > > 4. Heikki mentioned: > http://archives.postgresql.org/pgsql-hackers/2008-11/msg01832.php > > "To make things worse, a query will fail if all the matching > fast-inserted tuples don't fit in the non-lossy tid bitmap." > > That issue still remains, correct? Is there a resolution to that? Now gincostestimate can forbid index scan by disable_cost (see Changes). Of course, it doesn't prevent failure in case of large update (for example), but it prevents in most cases. BTW, because of sequential scan of pending list cost of scan grows up fast and index scan becomes non-optimal. > > 5. I attached a newer version merged with HEAD. Thank you > 6. You defined: > > #define GinPageHasFullRow(page) ( GinPageGetOpaque(page)->flags & > GIN_LIST_FULLROW ) > Fixed > 7. I don't understand this chunk of code: > > How can (!ItemPointerEquals(&pos->item, &item)) ever happen? > > And how can (scanGetCandidate(scan, pos) == false) ever happen? Should > that be an Assert() instead? > > If those can happen during normal operation, then we need a better error > message there. It should be assert, but assert enabled and disabled code will be different :(. In both cases, scanGetCandidate() should be called, but in assert enabled code we need to check return value and pos->item. -- Teodor Sigaev E-mail: teodor@sigaev.ru WWW: http://www.sigaev.ru/ --------------050500070807070206080908 Content-Type: application/x-tar; name="fast_insert_gin-0.20.gz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="fast_insert_gin-0.20.gz" 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 --------------050500070807070206080908--