Hatena::Grouptechmemo

msyktの日記

2012-05-15

[cassandra]RandomAccessReader

02:19

org.apache.cassandra.db.ColumnFamilyStore

    public List<Row> getRangeSlice(ByteBuffer superColumn, final AbstractBounds<RowPosition> range, int maxResults, IFilter columnFilter, List<IndexExpression> rowFilter, boolean maxIsColumns, boolean isPaging)
    {
        return filter(getSequentialIterator(superColumn, range, columnFilter), ExtendedFilter.create(this, columnFilter, rowFilter, maxResults, maxIsColumns, isPaging));
    }

org.apache.cassandra.db.ColumnFamilyStore

    /**
      * Iterate over a range of rows and columns from memtables/sstables.
      *
      * @param superColumn optional SuperColumn to slice subcolumns of; null to slice top-level columns
      * @param range Either a Bounds, which includes start key, or a Range, which does not.
      * @param columnFilter description of the columns we're interested in for each row
     */
    public AbstractScanIterator getSequentialIterator(ByteBuffer superColumn, final AbstractBounds<RowPosition> range, IFilter columnFilter)
    {
        assert !(range instanceof Range) || !((Range)range).isWrapAround() || range.right.isMinimum() : range;

        final RowPosition startWith = range.left;
        final RowPosition stopAt = range.right;

        QueryFilter filter = new QueryFilter(null, new QueryPath(columnFamily, superColumn, null), columnFilter);

        List<Row> rows;
        final ViewFragment view = markReferenced(startWith, stopAt);
        try
        {
            final CloseableIterator<Row> iterator = RowIteratorFactory.getIterator(view.memtables, view.sstables, startWith, stopAt, filter, this);
            final int gcBefore = (int)(System.currentTimeMillis() / 1000) - metadata.getGcGraceSeconds();

...

org.apache.cassandra.db.getIterator


  /**
     * Get a row iterator over the provided memtables and sstables, between the provided keys
     * and filtered by the queryfilter.
     * @param memtables Memtables pending flush.
     * @param sstables SStables to scan through.
     * @param startWith Start at this key
     * @param stopAt Stop and this key
     * @param filter Used to decide which columns to pull out
     * @param cfs
     * @return A row iterator following all the given restrictions
     */
    public static CloseableIterator<Row> getIterator(final Iterable<Memtable> memtables,
                                          final Collection<SSTableReader> sstables,
                                          final RowPosition startWith,
                                          final RowPosition stopAt,
                                          final QueryFilter filter,
                                          final ColumnFamilyStore cfs)
    {
        // fetch data from current memtable, historical memtables, and SSTables in the correct order.
        final List<CloseableIterator<IColumnIterator>> iterators = new ArrayList<CloseableIterator<IColumnIterator>>();

        // memtables
        for (Memtable memtable : memtables)
        {
            iterators.add(new ConvertToColumnIterator(filter, memtable.getEntryIterator(startWith, stopAt)));
        }

        for (SSTableReader sstable : sstables)
        {
            final SSTableScanner scanner = sstable.getScanner(filter);
            scanner.seekTo(startWith);
            iterators.add(scanner);
        }

        // reduce rows from all sources into a single row
        return MergeIterator.get(iterators, COMPARE_BY_KEY, new MergeIterator.Reducer<IColumnIterator, Row>()
        {
            private final int gcBefore = (int) (System.currentTimeMillis() / 1000) - cfs.metadata.getGcGraceSeconds();
            private final List<IColumnIterator> colIters = new ArrayList<IColumnIterator>();
            private DecoratedKey key;
            private ColumnFamily returnCF;

            @Override
            protected void onKeyChange()
            {
                this.returnCF = ColumnFamily.create(cfs.metadata);
            }

            public void reduce(IColumnIterator current)
            {
                this.colIters.add(current);
                this.key = current.getKey();
                this.returnCF.delete(current.getColumnFamily());
            }

            protected Row getReduced()
            {

                // First check if this row is in the rowCache. If it is we can skip the rest
                ColumnFamily cached = cfs.getRawCachedRow(key);
                if (cached == null)
                {
                    // not cached: collate
                    filter.collateColumns(returnCF, colIters, gcBefore);
                }
                else
                {
                    QueryFilter keyFilter = new QueryFilter(key, filter.path, filter.filter);
                    returnCF = cfs.filterColumnFamily(cached, keyFilter, gcBefore);
                }

                Row rv = new Row(key, returnCF);
                colIters.clear();
                key = null;
                return rv;
            }
        });
    }

org.apache.cassandra.io.sstable.SSTableReader

    /**
     *
     * @param filter filter to use when reading the columns
     * @return A Scanner for seeking over the rows of the SSTable.
     */
    public SSTableScanner getScanner(QueryFilter filter)
    {
        return new SSTableScanner(this, filter);
    }

MichaBealleyMichaBealley2017/05/09 07:49For Sale Finasteride Viagra Without Prescription 400 Mg Candian No Script Pharmacy Order Generic Propecia 1mg Generic Viagra 20 Mg <a href=http://byuvaigranonile.com>viagra</a> Pacific Care Pharmacy Port Vila Buy Viagra Online In The Us Viagra Ou Levitra Cialis En Oferta

KennchulkyKennchulky2017/06/15 18:40Cialis Besser Levitra <a href=http://buy-levitra-now.buylevi.com>Buy Levitra Now</a> Prescription Diflucan Acheter Kamagra Gel <a href=http://viacheap.com>buy viagra online</a> Cialis Levitra Comprar Buy Tadacip 20 Mg Cod Pharmacy Online <a href=http://prednisone.ccrpdc.com/buy-prednisone-20mg.php>Buy Prednisone 20mg</a> Propecia Overstock Le Viagra 50 <a href=http://viagra-pills.via100mg.com>Viagra Pills</a> Precios De Cialis

RetDindRetDind2018/02/02 22:26Cialis 20mg Moins Cher Daily Cialis Professional Rx Pharmacy <a href=http://cialviag.com>cialis</a> Cialis De Venta Cialis Mg Dosage

BrceDeattBrceDeatt2018/04/17 07:09the best choice cialis woman the best site cialis tablets
<a href="http://kaivanrosendaal.com/#Buy-Cheap-Cialis-Online">Buy Cheap Cialis in usa</a> how much does a cialis cost get cheap cialis

KatDyedKatDyed2018/04/17 07:28Viagra O Cialis Mejor <a href=http://cialiorder.com>cialis canada</a> Viagra E Dieta

BrceDeattBrceDeatt2018/04/17 23:55cialis kaufen wo cipla cialis online
<a href="http://kaivanrosendaal.com/#Cheap-Cialis">Buy Cheap Cialis in usa</a> 5 mg cialis pharmacie en ligne cialis flussig

BrceDeattBrceDeatt2018/04/18 18:22we use it 50 mg cialis dose brand cialis generic
<a href="http://kaivanrosendaal.com/#Buy-Cheap-Cialis-Online">buy cialis</a> cuanto cuesta cialis yaho if a woman takes a mans cialis

HrafdceDeattHrafdceDeatt2018/04/19 09:13buy 1 cialis pill at a time cialis pakistan price cialis blood in urine <a href=http://jvrimages.com/#cialis+going+generic+in+2017+in+us>cialis cost</a> cialis children cialis generic cheap fast cheapest brand cialis online
<a href=http://jvrimages.com/#cialis+20mg>cialis 30 day sample</a> cialis online uk cialis leggero look there official cialis
http://jvrimages.com/#cialis+daily cialis 88 keys lyrics 110 mg dissolvable cialis cialis e insufficienza renal

AddAcoulaAddAcoula2018/04/19 14:59Pillole Cialis <a href=http://cialviag.com>cialis online</a> Tindamax

HrafdceDeattHrafdceDeatt2018/04/19 22:16shop for cialis cheap buy genuine cialis cialis use by women effective <a href=http://jvrimages.com/#cialis+side+effects+dangers>cialis 20 mg</a> cialis in usa cheap cialis barato profesional cialis plus stay hard
<a href=http://jvrimages.com/#cialis+tadalafil>http://jvrimages.com</a> ipad cialis online sicher buy cialis online howto cialis in mexican pharmacies
http://jvrimages.com/#cialis+5+mg levitra cialis side effects can you take 1 2 cialis the best place cialis buy now

HrafdceDeattHrafdceDeatt2018/04/20 13:10cialis sale internet cialis creaza dependenta cialis deutschland ohne rezept <a href=http://jvrimages.com/#200+cialis+coupon>cialis online</a> acheter cialis site serieux we choice purchase cialis can i buy cialis in malaysia
<a href=http://jvrimages.com/#calluses+on+feet>jvrimages.com/</a> average cialis proce what is the best brand cialis la pillola del cialis
http://jvrimages.com/#30+day+cialis+trial+offer cialis generico venta cialis de cialis baratos cialis posologie

HrafdceDeattHrafdceDeatt2018/04/21 07:13cialis vendo chile cialis pricing in canada orden de cialis barata
п»ї<a href="http://jvrimages.com/">cialis 20 mg</a> buy cheap cialis in usa pharmacy colombo cialis cialis et ses mefaits
cialis online stellen generic cialis to canada cialis erb
http://jvrimages.com/#viagra+or+cialis discount generic cialis uk cialis fedex overnight cialis invention

KufdrgeJearkKufdrgeJeark2018/05/02 17:02we like it cialis price cialis pills in singapore <a href="http://foreigncircles.com/#Trazodone-cheap-tablet">Trazodone cheap tablet</a>
cialis lilly tadalafi cialis pills boards
<a href="http://foreigncircles.com/#Trazodone-cheap-tablet">Trazodone cheap</a>
http://foreigncircles.com

KufdrgeJearkKufdrgeJeark2018/05/02 18:03cialis ahumada i recommend cialis generico <a href="http://foreigncircles.com/#foreigncircles.com">Trazodone cheap</a>
acheter du cialis a geneve weblink price cialis
<a href="http://foreigncircles.com/#Trazodone-cheap-tablet">Trazodone cheap tablet</a>
http://foreigncircles.com

KufdrgeJearkKufdrgeJeark2018/05/02 19:06wow cialis tadalafil 100mg how to purchase cialis on line <a href=http://foreigncircles.com/>foreigncircles.com</a>
cialis per paypa weblink price cialis
<a href=http://foreigncircles.com/#Trazodone-cheap>foreigncircles.com</a>
http://foreigncircles.com

KenneththypeKenneththype2018/05/11 10:38kamagra 100mg chewable tablets
kamagra winkel utrecht
kamagra dosage
kamagra oral jelly uses

RehgeJearkRehgeJeark2018/05/18 07:04<a href="http://humblegaiwan.com/">buy cheap sildenafil online u</a> canadian drugs generic viagra viagra prezzo in linea basso
viagra farmacias guadalajara the best site viagra tablets <a href="http://jardinstea.com/">Buy sildenafil 100 mg for sale</a>
viagra canada on line viagra 5 mg buy
viagra online holland viagra in sconto <a href=http://jardinstea.com/#sildenafil-citrate>sildenafil citrate 100 mg</a>
american pharmacy viagra viagra kamagra levitra
http://humblegaiwan.com/

RehgeJearkRehgeJeark2018/05/18 08:27<a href="http://humblegaiwan.com/">cheapest place to buy sildenafil online</a> when can i take another viagra viagra generico postepay
link for you viagra price achat viagra en europe <a href="http://jardinstea.com/#sildenafil-citrate">sildenafil citrate 100 mg pills</a>
click here take viagra viagra kaufen bankberweisung
viagra kamagra levitra viagra et insomni <a href=http://jardinstea.com/#buy-100-mg>sildenafil 100 mg for sale</a>
acquistare viagra internet viagra 50 mg soft tab
http://humblegaiwan.com/

RehgeJearkRehgeJeark2018/05/18 09:37<a href="http://humblegaiwan.com/">buy sildenafil for cheaper prices</a> viagra 100mg suppliers viagra baratos compran uk
generic viagra 20mg tablets viagra professional from usa <a href="http://humblegaiwan.com/">buy cheap sildenafil online usa</a>
viagra 20mg preis cf buy original viagra
click now viagra from canada buy viagra cheap 10 mg <a href=http://jardinstea.com/#sildenafil>sildenafil 100 mg</a>
achat viagra en europe viagra daily dose generic
http://humblegaiwan.com/

RehgeJearkRehgeJeark2018/05/18 10:50<a href="http://jardinstea.com/#buy-sildenafil">Buy sildenafil 100 mg</a> buying viagra in colombia female viagra no prescription
viagra professional yohimbe where to buy viagra in ontario <a href="http://jardinstea.com/#buy-sildenafil">sildenafil 100 mg</a>
viagra authentique suisse prezzo viagra a buon mercato
generic viagra at the pharmacy viagra professional from usa <a href=http://humblegaiwan.com/>buy sildenafil cheap through online sales</a>
viagra online deutschland viagra 5 mg buy
http://jardinstea.com/#100mg

RehgeJearkRehgeJeark2018/05/18 12:06<a href="http://jardinstea.com/#buy-sildenafil">sildenafil 100 mg coupons</a> venta de viagra canada acheter du viagra a geneve
look here viagra cheap canada generic viagra with dapoxetine <a href="http://jardinstea.com/">sildenafil citrate 100 mg prices</a>
viagra generic tadalafil buy viagra name brand cheap
dose size of viagra viagra for sale south africa <a href=http://humblegaiwan.com/>buy cheap sildenafil thailand</a>
generic viagra pill online viagra en mexico precio
http://jardinstea.com/

RehgeJearkRehgeJeark2018/05/18 13:17<a href="http://humblegaiwan.com/">buy sildenafilcheap</a> acheter viagra meilleur pri click now viagra from canada
does viagra cause gout price viagra best <a href="http://humblegaiwan.com/">sildenafil buy cheap</a>
viagra dose 30mg viagra 20 mg effectiveness
we like it safe cheap viagra preis viagra 20mg schweiz <a href=http://jardinstea.com/>sildenafil 100 mg tablets</a>
the best choice viagra woman viagra pas cher paris
http://jardinstea.com/#buy-sildenafil

RehgeJearkRehgeJeark2018/05/18 14:23<a href="http://humblegaiwan.com/">buy sildenafil for cheaper prices</a> viagra name brand cheap preis viagra 20mg schweiz
viagra 100mg suppliers tarif viagra france <a href="http://jardinstea.com/#buy-sildenafil">sildenafil 100 mg for sale</a>
viagra prezzo in linea basso buy viagra online legal
prices on viagra 10 mg cuanto cuesta viagra yaho <a href=http://jardinstea.com/>sildenafil citrate 100mg coupons</a>
tarif viagra france how much does a viagra cost
http://jardinstea.com/#buy-sildenafil

RehgeJearkRehgeJeark2018/05/18 15:39<a href="http://jardinstea.com/">Buy sildenafil 100 mg</a> we recommend viagra info prices on viagra 10 mg
viagra et insomni viagra canada on line <a href="http://humblegaiwan.com/">buy sildenafil cheapest</a>
buying viagra on internet acheter du viagra a geneve
viagra 100 mg 30 tablet viagra italia gratis <a href=http://humblegaiwan.com/>buy cheap sildenafil 200mg</a>
click here to buy viagra viagra italia gratis
http://humblegaiwan.com/

RehgeJearkRehgeJeark2018/05/18 17:01<a href="http://jardinstea.com/#sildenafil-citrate">sildenafil 100 mg price</a> viagra y deporte prices on viagra 10 mg
are there generic viagra price viagra per pill <a href="http://jardinstea.com/#sildenafil-citrate">Sildenafil Citrate 100 mg best price</a>
buying brand viagra online viagra wir preise
viagra 5 mg buy buy brand viagra cheap <a href=http://jardinstea.com/#buy-100-mg>sildenafil 100 mg tablet cost</a>
safe site to buy viagra online viagra 5 effetti collaterali
http://humblegaiwan.com/

RehgeJearkRehgeJeark2018/05/18 20:21<a href="http://humblegaiwan.com/">buy cheap deal online sildenafil sildenafil</a> viagra e hiv viagra en mexico precio
viagra billig non 5 mg viagra generici <a href="http://jardinstea.com/">Buy sildenafil 100 mg</a>
no prescription viagra cheap acheter viagra kamagra
import viagra viagra generico postepay <a href=http://jardinstea.com/#100mg>sildenafil 100 mg tablets</a>
viagra y deporte viagra 5 mg effetti collateral
http://humblegaiwan.com/

MichaelLophyMichaelLophy2018/06/18 02:40cialis comanda
<a href="http://airvietnamairline.com/">buy cialis</a>
viagra vs cialis vs levitra comparison
<a href="http://airvietnamairline.com/">buy generic cialis online</a>
walmart cialis 20mg price

DanielhizDanielhiz2018/06/21 15:54kamagra 50 mg oral jelly usa
<a href="http://kamagradyn.com/">buy kamagra 100mg</a>
kamagra 100mg oral jelly in india
<a href="http://kamagradyn.com/">buy kamagra 100 mg</a>
kamagra 100mg oral jelly wirkung bei frauen