Return-Path: Delivered-To: apmail-incubator-cassandra-dev-archive@minotaur.apache.org Received: (qmail 73811 invoked from network); 3 Feb 2010 23:07:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 3 Feb 2010 23:07:21 -0000 Received: (qmail 4310 invoked by uid 500); 3 Feb 2010 23:07:20 -0000 Delivered-To: apmail-incubator-cassandra-dev-archive@incubator.apache.org Received: (qmail 4253 invoked by uid 500); 3 Feb 2010 23:07:20 -0000 Mailing-List: contact cassandra-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cassandra-dev@incubator.apache.org Delivered-To: mailing list cassandra-dev@incubator.apache.org Received: (qmail 4242 invoked by uid 99); 3 Feb 2010 23:07:20 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Feb 2010 23:07:20 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of jbellis@gmail.com designates 209.85.219.212 as permitted sender) Received: from [209.85.219.212] (HELO mail-ew0-f212.google.com) (209.85.219.212) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Feb 2010 23:07:12 +0000 Received: by ewy4 with SMTP id 4so382755ewy.27 for ; Wed, 03 Feb 2010 15:06:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:message-id:subject:to:content-type :content-transfer-encoding; bh=JxW/UUqQQSrvR8bah+v6C8zBos51EjmQROr0rZtmNSk=; b=CSv5/IZpXNbSews4sLab06eXPGJ/WQZmd5a70lgk+zMz4jGSoC9nzxjag/eXISVn56 3GDcNB9rf6wqMn85GIeFpt1Z7+Terc3GAjrp/mW+UaZ8MB2M8UZn8kiax4TLzSqwV/W2 xHpLfnrULXzdQtT3P3vNNRyGoXOtvPbPl2s1I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; b=cbjEuik90w7Jfv1NXNLcr9l3IaYxdmCgfIv3bNxIBM8p+BuEW9kyHNFnxWU7mCjhjx tfHuKqxIBwV/olx03XfNwOnZ5GyHloXlnN6P0qoeNtQ71xYTw/rWhlb4qSuYystsjffX KWDNYBUjjk77pzq/ZX7Bk1WXeQT/0EO62a0j0= MIME-Version: 1.0 Received: by 10.216.87.16 with SMTP id x16mr152628wee.106.1265238412125; Wed, 03 Feb 2010 15:06:52 -0800 (PST) In-Reply-To: <87y6jagspo.fsf@lifelogs.com> References: <2d864a8c1001290416g723270efxb79ac1831c159c9@mail.gmail.com> <87aavwmxhm.fsf_-_@lifelogs.com> <87sk9lkn3k.fsf@lifelogs.com> <878wbclxo7.fsf@lifelogs.com> <874om0lwe3.fsf@lifelogs.com> <87y6jagspo.fsf@lifelogs.com> From: Jonathan Ellis Date: Wed, 3 Feb 2010 17:06:32 -0600 Message-ID: Subject: Re: bitmap slices To: cassandra-dev@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org It seems to me that the bitmask is only really useful for the SliceRange predicate. Doing a predicate of "fetch these column names, but only if they match this mask" seems strange. The mask check needs to be done in the Slice Filter, not SP. Is this actually powerful enough to solve a real problem for you? -Jonathan 2010/2/3 Ted Zlatanov : > On Mon, 1 Feb 2010 11:14:12 -0600 Jonathan Ellis wrot= e: > > JE> 2010/2/1 Ted Zlatanov : >>> On Mon, 1 Feb 2010 10:41:28 -0600 Jonathan Ellis wr= ote: >>> > JE> I don't think this is very useful for column names. =A0I could see it > JE> being useful for values but if we're going to add predicate queries > JE> then I'd rather do something more general. >>> >>> Do you have any ideas? > > JE> Not really, no. =A0I think we're best served developing feature X by > JE> starting with problems that can only be solved with X and working fro= m > JE> there. =A0Going the other direction is asking for trouble. > > I looked at the filters, e.g. o.a.c.db.filter.SliceQueryFilter, and it > seems like one place to put predicate logic is in that hierarchy. > Perhaps there can be a PredicateQueryFilter. =A0Some thought has > apparently already gone into flexible filters at the storage level. =A0I > hope something happens in this direction but I won't push for it > further since it's not what I need. > > The attached patch is how I propose to do bitmasks inside the > SlicePredicate. =A0As you suggested, it solves the specific problem. =A0I= t's > pretty simple and carries no performance penalty if bitmasks are not > used. =A0It's untested, intended to show the interface and approach I am > proposing. =A0I didn't open an issue since it's unclear that this is the > way to go. > > Thanks > Ted > >