Package org.apache.hadoop.hbase.hbql.mapping

Examples of org.apache.hadoop.hbase.hbql.mapping.ColumnAttrib


            if (deleteItem.contains(":")) {
                this.getDeleteItemList().add(deleteItem);
            }
            else {
                final TableMapping mapping = this.getMappingContext().getTableMapping();
                final ColumnAttrib attrib = mapping.getAttribByVariableName(deleteItem);
                if (attrib == null)
                    throw new HBqlException("Invalid variable: " + deleteItem);

                this.getDeleteItemList().add(attrib.getFamilyQualifiedName());
            }
        }
    }
View Full Code Here


                if (column.endsWith(":*")) {
                    final String familyName = column.substring(0, column.length() - 2);
                    retval.add(familyName);
                }
                else {
                    final ColumnAttrib columnAttrib = mapping.getAttribByVariableName(column);
                    if (columnAttrib == null)
                        throw new HBqlException("Unknown " +
                                                ((!column.contains(":")) ? "alias" : "column")
                                                + " " + column + " in mapping " + this.getMappingContext()
                                                                                      .getMappingName());
                    else
                        retval.add(columnAttrib.getFamilyQualifiedName());
                }
            }
        }

        return retval;
View Full Code Here

    private void assignCalculation(final HConnectionImpl conn,
                                   final Object obj,
                                   final Result result) throws HBqlException {
        // If it is a calculation, then assign according to the AS name
        final String name = this.getAsName();
        final ColumnAttrib attrib = this.getResultAccessor().getColumnAttribByName(name);

        final Object elementValue = this.getValue(conn, result);

        if (attrib == null) {
            // Find value in results and assign the byte[] value to Record, but bail on Annotated object because
            // it cannot deal with unknown/unmapped values
            if (!(obj instanceof HRecord))
                return;

            ((HRecordImpl)obj).setCurrentValue(name, 0, elementValue, false);
        }
        else {
            attrib.setCurrentValue(obj, 0, elementValue);
        }
    }
View Full Code Here

        final TableMapping tableMapping = this.getTableMapping();

        // Column reference is not known to mapping, so just assign byte[] value
        if (this.getColumnAttrib() == null) {
            final ColumnAttrib unMappedAttrib = tableMapping.getUnMappedAttrib(this.getFamilyName());
            if (unMappedAttrib != null) {
                final byte[] b = result.getValue(this.getFamilyNameBytes(), this.getColumnNameBytes());
                unMappedAttrib.setUnMappedCurrentValue(obj, this.getSelectName(), b);
            }
        }
        else {
            if (this.getColumnAttrib().isACurrentValue()) {
                final byte[] b = result.getValue(this.getFamilyNameBytes(), this.getColumnNameBytes());
                this.getColumnAttrib().setCurrentValue(obj, 0, b);
            }
        }

        // Now assign versions if they were requested. Do not process if it doesn't support version values
        if (maxVerions > 1) {

            // Bail if a known column is not a version attrib
            if (this.getColumnAttrib() != null && !this.getColumnAttrib().isAVersionValue())
                return;

            final NavigableMap<byte[], NavigableMap<byte[], NavigableMap<Long, byte[]>>> familyMap = result.getMap();
            final NavigableMap<byte[], NavigableMap<Long, byte[]>> columnMap = familyMap.get(this.getFamilyNameBytes());

            if (columnMap == null)
                return;

            final NavigableMap<Long, byte[]> timeStampMap = columnMap.get(this.getColumnNameBytes());

            if (this.getColumnAttrib() == null) {
                final ColumnAttrib unMappedAttrib = tableMapping.getUnMappedAttrib(this.getFamilyName());
                if (unMappedAttrib != null)
                    unMappedAttrib.setUnMappedVersionMap(obj, this.getSelectName(), timeStampMap);
            }
            else {
                final Map<Long, Object> mapVal = this.getColumnAttrib().getVersionMap(obj);
                for (final Long timestamp : timeStampMap.keySet()) {
                    final byte[] b = timeStampMap.get(timestamp);
View Full Code Here

    public void insert(final T newrec) throws HBqlException {

        if (newrec instanceof HRecordImpl) {
            final HRecordImpl record = (HRecordImpl)newrec;
            final TableMapping tableMapping = record.getTableMapping();
            final ColumnAttrib keyAttrib = tableMapping.getKeyAttrib();
            if (!record.isCurrentValueSet(keyAttrib))
                throw new HBqlException("Record key value must be assigned");

            final Put put = this.createPut(record.getResultAccessor(), record);
            this.getActionList(tableMapping.getTableName()).add(new InsertAction(put));
View Full Code Here

    public void delete(final T newrec) throws HBqlException {

        if (newrec instanceof HRecordImpl) {
            final HRecordImpl record = (HRecordImpl)newrec;
            final TableMapping tableMapping = record.getTableMapping();
            final ColumnAttrib keyAttrib = tableMapping.getKeyAttrib();
            if (!record.isCurrentValueSet(keyAttrib))
                throw new HBqlException("Record key value must be assigned");
            this.delete(tableMapping, record);
        }
        else {
View Full Code Here

            this.delete(accessor.getTableMapping(), newrec);
        }
    }

    private void delete(TableMapping tableMapping, final Object newrec) throws HBqlException {
        final ColumnAttrib keyAttrib = tableMapping.getKeyAttrib();
        final byte[] keyval = keyAttrib.getValueAsBytes(newrec);
        this.getActionList(tableMapping.getTableName()).add(new DeleteAction(new Delete(keyval)));
    }
View Full Code Here

    }

    private Put createPut(final ResultAccessor resultAccessor, final Object newrec) throws HBqlException {

        final TableMapping tableMapping = resultAccessor.getTableMapping();
        final ColumnAttrib keyAttrib = resultAccessor.getKeyAttrib();

        final Put put;

        if (newrec instanceof HRecordImpl) {
            final HRecordImpl record = (HRecordImpl)newrec;
            final byte[] keyval = keyAttrib.getValueAsBytes(record);
            put = new Put(keyval);

            for (final String family : tableMapping.getFamilySet()) {
                for (final ColumnAttrib attrib : tableMapping.getColumnAttribListByFamilyName(family)) {
                    if (record.isCurrentValueSet(attrib)) {
                        final byte[] b = attrib.getValueAsBytes(record);
                        put.add(attrib.getFamilyNameAsBytes(), attrib.getColumnNameAsBytes(), b);
                    }
                }
            }
        }
        else {
            final byte[] keyval = keyAttrib.getValueAsBytes(newrec);
            put = new Put(keyval);
            for (final String family : tableMapping.getFamilySet()) {
                for (final ColumnAttrib colattrib : tableMapping.getColumnAttribListByFamilyName(family)) {

                    // One extra lookup for annotations
                    final ColumnAttrib attrib = resultAccessor.getColumnAttribByName(colattrib.getFamilyQualifiedName());
                    final byte[] b = attrib.getValueAsBytes(newrec);
                    put.add(attrib.getFamilyNameAsBytes(), attrib.getColumnNameAsBytes(), b);
                }
            }
        }
        return put;
    }
View Full Code Here

            final Class<? extends GenericValue> type2 = valuesTypeList.get(i);

            // Skip Default values
            if (type2 == DefaultKeyword.class) {
                final String name = this.getInsertColumnList().get(i).asString();
                final ColumnAttrib attrib = this.getMappingContext().getMapping().getAttribByVariableName(name);
                if (!attrib.hasDefaultArg())
                    throw new HBqlException("No DEFAULT value specified for " + attrib.getNameToUseInExceptions()
                                            + " in " + this.asString());
                continue;
            }

            if (type2.equals(NullLiteral.class)) {
View Full Code Here

            for (int i = 0; i < this.getInsertColumnList().size(); i++) {
                final String name = this.getInsertColumnList().get(i).asString();
                final Object val;
                if (this.getInsertValuesSource().isDefaultValue(i)) {
                    final ColumnAttrib attrib = this.getMappingContext().getMapping().getAttribByVariableName(name);
                    val = attrib.getDefaultValue();
                }
                else {
                    val = this.getInsertValuesSource().getValue(conn, i);
                }
                this.getHRecord().setCurrentValue(name, val);
View Full Code Here

TOP

Related Classes of org.apache.hadoop.hbase.hbql.mapping.ColumnAttrib

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.