Examples of AkCollator


Examples of com.foundationdb.server.collation.AkCollator

        else if (node instanceof ComparisonCondition) {
            ComparisonCondition cond = (ComparisonCondition)node;
            TPreparedExpression left = assembleExpression(cond.getLeft(), columnContext, subqueryAssembler);
            TPreparedExpression right = assembleExpression(cond.getRight(), columnContext, subqueryAssembler);
            // never use a collator if we have a KeyComparable
            AkCollator collator = (cond.getKeyComparable() == null) ? collator(cond, left, right) : null;
            if (collator != null)
                return collate(left, cond.getOperation(), right, collator);
            else
                return compare(left, cond, right);
        }
View Full Code Here

Examples of com.foundationdb.server.collation.AkCollator

        return ascending;
    }

    /** Can this index column be used as part of a <em>covering</em> index? */
    public boolean isRecoverable() {
        AkCollator collator = column.getCollator();
        if (collator == null)
            return true;
        else
            return collator.isRecoverable();
    }
View Full Code Here

Examples of com.foundationdb.server.collation.AkCollator

    @Override
    protected int doCompare(TInstance typeA, ValueSource sourceA, TInstance typeB, ValueSource sourceB) {
        CharacterTypeAttributes aAttrs = StringAttribute.characterTypeAttributes(typeA);
        CharacterTypeAttributes bAttrs = StringAttribute.characterTypeAttributes(typeB);
        AkCollator collator = mergeAkCollators(aAttrs, bAttrs);
        if (collator == null)
            // TODO in the future, we may want to use some default collator. For now, just use native comparison
            return sourceA.getString().compareTo(sourceB.getString());
        return collator.compare(sourceA, sourceB);
    }
View Full Code Here

Examples of com.foundationdb.server.collation.AkCollator

            else {
                output.append(charsets[(int)value]);
            }
            break;
        case COLLATION:
            AkCollator collator = AkCollatorFactory.getAkCollator((int)value);
            if (collator == null) {
                if (value == StringFactory.NULL_COLLATION_ID) {
                    output.append("NONE");
                }
                else {
                    logger.warn("unknown collator for id " + value + " (" + ((int)value) + ')');
                    output.append(value);
                }
            }
            else {
                output.append(collator.getScheme());
            }
            break;
        }
    }
View Full Code Here

Examples of com.foundationdb.server.collation.AkCollator

            }
            else {
                return charsets[value].name();
            }
        case COLLATION:
            AkCollator collator = AkCollatorFactory.getAkCollator((int)value);
            if (collator == null) {
                if (value == StringFactory.NULL_COLLATION_ID) {
                    return "NONE";
                }
                else {
                    logger.warn("unknown collator for id " + value + " (" + ((int)value) + ')');
                    return value;
                }
            }
            else {
                return collator.getScheme();
            }
        default:
            throw new IllegalArgumentException("illegal attribute index: " + attributeIndex);
        }
    }
View Full Code Here

Examples of com.foundationdb.server.collation.AkCollator

            pickCollation = aCollation;
        }
        else {
            CharacterTypeAttributes aAttrs = StringAttribute.characterTypeAttributes(left);
            CharacterTypeAttributes bAttrs = StringAttribute.characterTypeAttributes(right);
            AkCollator collator = mergeAkCollators(aAttrs, bAttrs);
            pickCollation = (collator == null) ? StringFactory.NULL_COLLATION_ID : collator.getCollationId();
        }
        int leftLen = left.attribute(StringAttribute.MAX_LENGTH);
        int rightLen = right.attribute(StringAttribute.MAX_LENGTH);
        if (useRightLength) {
            pickLen = rightLen;
View Full Code Here

Examples of com.foundationdb.server.collation.AkCollator

    }

    @Override
    public int hashCode() {
        int result = type != null ? type.hashCode() : 0;
        AkCollator collator;
        if (type != null && type.typeClass() instanceof TString) {
            collator = AkCollatorFactory.getAkCollator(type.attribute(StringAttribute.COLLATION));
        }
        else {
            collator = null;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.