src/java/org/apache/cassandra/db/filter/ExtendedFilter.java
/*
         * We may need an extra query only if the original was a slice query (and thus may have miss the expression for the clause).
         * Even then, there is no point in doing an extra query if the original filter grabbed the whole row.
         * Lastly, we only need the extra query if we haven't yet got all the expressions from the clause.
         */
We may need an extra query only if the original was a slice query (and thus may have miss the expression for the clause).
Even then, there is no point in doing an extra query if the original filter grabbed the whole row.
Lastly, we only need the extra query if we haven't yet got all the expressions from the clause.
We may need an extra query only if the original was a slice query ( and thus may have miss the expression for the clause ) . Even then there is no point in doing an extra query if the original filter grabbed the whole row . Lastly we only need the extra query if we haven ' t yet got all the expressions from the clause .
private boolean needsExtraQuery(ColumnFamily data)
        {
            if (!(originalFilter instanceof SliceQueryFilter))
                return false;
            SliceQueryFilter filter = (SliceQueryFilter)originalFilter;
            if (filter.start.equals(ByteBufferUtil.EMPTY_BYTE_BUFFER)
             && filter.finish.equals(ByteBufferUtil.EMPTY_BYTE_BUFFER)
             && filter.count == Integer.MAX_VALUE)
                return false;
            for (IndexExpression expr : clause)
            {
                if (data.getColumn(expr.column_name) == null)
                {
                    logger.debug("adding extraFilter to cover additional expressions");
                    return true;
                }
            }
            return false;
        }
private boolean needsExtraQuery ( ColumnFamily data ) { if ( ! ( originalFilter instanceof SliceQueryFilter ) ) return false ; SliceQueryFilter filter = ( SliceQueryFilter ) originalFilter ; if ( filter . start . equals ( ByteBufferUtil . EMPTY_BYTE_BUFFER ) && filter . finish . equals ( ByteBufferUtil . EMPTY_BYTE_BUFFER ) && filter . count == Integer . MAX_VALUE ) return false ; for ( IndexExpression expr : clause ) { if ( data . getColumn ( expr . column_name ) == null ) { logger . debug ( "adding extraFilter to cover additional expressions" ) ; return true ; } } return false ; }
We may need an extra query only if the original was a slice query (and thus may have miss the expression for the clause).
We may need an extra query only if the original was a slice query ( and thus may have miss the expression for the clause ) .
// Check if we've fetch the whole row