Package com.salesforce.phoenix.compile

Examples of com.salesforce.phoenix.compile.ColumnProjector


        return rowProjector.getColumnCount();
    }

    @Override
    public int getColumnDisplaySize(int column) throws SQLException {
        ColumnProjector projector = rowProjector.getColumnProjector(column-1);
        int displaySize = Math.max(projector.getName().length(),MIN_DISPLAY_WIDTH);
        PDataType type = projector.getExpression().getDataType();
        if (type == null) {
            return Math.min(Math.max(displaySize, QueryConstants.NULL_DISPLAY_TEXT.length()), MAX_DISPLAY_WIDTH);
        }
        if (type.isCoercibleTo(PDataType.DATE)) {
            return Math.min(Math.max(displaySize, connection.getDatePattern().length()), MAX_DISPLAY_WIDTH);
        }
        if (projector.getExpression().getByteSize() != null) {
            return Math.min(Math.max(displaySize, projector.getExpression().getByteSize()), MAX_DISPLAY_WIDTH);
        }
       
        return Math.min(Math.max(displaySize, DEFAULT_DISPLAY_WIDTH), MAX_DISPLAY_WIDTH);
    }
View Full Code Here


                final byte[] rowNumberHolder = new byte[PDataType.INTEGER.getByteSize()];
                return new PhoenixStatement(connection) {
                    @Override
                    protected PhoenixResultSet newResultSet(ResultIterator iterator, RowProjector projector) throws SQLException {
                        List<ColumnProjector> columns = new ArrayList<ColumnProjector>(projector.getColumnProjectors());
                        ColumnProjector column = columns.get(keySeqPosition);
                       
                        columns.set(keySeqPosition, new ExpressionProjector(column.getName(), column.getTableName(),
                                new BaseTerminalExpression() {
                                    @Override
                                    public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) {
                                        ptr.set(rowNumberHolder);
                                        return true;
                                    }

                                    @Override
                                    public PDataType getDataType() {
                                        return PDataType.INTEGER;
                                    }
                                },
                                column.isCaseSensitive())
                        );
                        column = columns.get(pkNamePosition);
                        columns.set(pkNamePosition, new ExpressionProjector(column.getName(), column.getTableName(),
                                new BaseTerminalExpression() {
                                    @Override
                                    public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) {
                                        if (pkNamePtr.get() == unsetValue) {
                                            boolean b = tuple.getValue(TABLE_FAMILY_BYTES, PK_NAME_BYTES, pkNamePtr);
                                            if (!b) {
                                                pkNamePtr.set(ByteUtil.EMPTY_BYTE_ARRAY);
                                            }
                                        }
                                        ptr.set(pkNamePtr.get(),pkNamePtr.getOffset(),pkNamePtr.getLength());
                                        return true;
                                    }

                                    @Override
                                    public PDataType getDataType() {
                                        return PDataType.VARCHAR;
                                    }
                                },
                                column.isCaseSensitive())
                        );
                        final RowProjector newProjector = new RowProjector(columns, projector.getEstimatedRowByteSize(), projector.isProjectEmptyKeyValue());
                        ResultIterator delegate = new DelegateResultIterator(iterator) {
                            private int rowCount = 0;
View Full Code Here

    @Override
    public Array getArray(int columnIndex) throws SQLException {
      checkCursorState();
        // Get the value using the expected type instead of trying to coerce to VARCHAR.
        // We can't coerce using our formatter because we don't have enough context in PDataType.
      ColumnProjector projector = rowProjector.getColumnProjector(columnIndex-1);
        Array value = (Array)projector.getValue(currentRow, projector.getExpression().getDataType(), ptr);
        wasNull = (value == null);
        return value;
    }
View Full Code Here

    }

    @Override
    public boolean getBoolean(int columnIndex) throws SQLException {
        checkCursorState();
        ColumnProjector colProjector = rowProjector.getColumnProjector(columnIndex-1);
        PDataType type = colProjector.getExpression().getDataType();
        Object value = colProjector.getValue(currentRow, type, ptr);
        wasNull = (value == null);
        if (value == null) {
            return false;
        }
        switch(type) {
View Full Code Here

    }

    @Override
    public Object getObject(int columnIndex) throws SQLException {
        checkCursorState();
        ColumnProjector projector = rowProjector.getColumnProjector(columnIndex-1);
        Object value = projector.getValue(currentRow, projector.getExpression().getDataType(), ptr);
        wasNull = (value == null);
        return value;
    }
View Full Code Here

    @Override
    public String getString(int columnIndex) throws SQLException {
        checkCursorState();
        // Get the value using the expected type instead of trying to coerce to VARCHAR.
        // We can't coerce using our formatter because we don't have enough context in PDataType.
        ColumnProjector projector = rowProjector.getColumnProjector(columnIndex-1);
        PDataType type = projector.getExpression().getDataType();
        Object value = projector.getValue(currentRow,type, ptr);
        if (wasNull = (value == null)) {
            return null;
        }
        // Run Object through formatter to get String.
        // This provides a simple way of getting a reasonable string representation
View Full Code Here

TOP

Related Classes of com.salesforce.phoenix.compile.ColumnProjector

Copyright © 2018 www.massapicom. 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.