writeUpdateColumns: function()

in lib/protocol/plain_buffer_coded_stream.js [544:591]


    writeUpdateColumns: function (attributeColumns, rowCheckSum) {
        if (attributeColumns.length == 0) {
            return rowCheckSum;
        }

        this.writeTag(TableStore.plainBufferConsts.TAG_ROW_DATA);
        for (var i = 0; i < attributeColumns.length; i++) {
            for (var updateType in attributeColumns[i]) {
                var columns = attributeColumns[i][updateType];
                for (var attr in columns) {
                    if (TableStore.UpdateType.DELETE_ALL === updateType) {
                        rowCheckSum = this.writeUpdateColumn(updateType, columns[attr], null, rowCheckSum);
                    } else if (TableStore.UpdateType.DELETE === updateType) {
                        for (var k in columns[attr]) {
                            rowCheckSum = this.writeUpdateColumn(updateType, k, [null, columns[attr][k]], rowCheckSum);
                        }
                    } else if (TableStore.UpdateType.PUT === updateType) {
                        //PUT有可能带timestamp
                        if (columns[attr].timestamp !== undefined) {
                            for (var k in columns[attr]) {
                                rowCheckSum = this.writeUpdateColumn(updateType, k, [columns[attr][k], columns[attr].timestamp], rowCheckSum);
                                break;
                            }
                        } else {
                            for (var k in columns[attr]) {
                                rowCheckSum = this.writeUpdateColumn(updateType, k, columns[attr][k], rowCheckSum);
                                break;
                            }
                        }
                    } else if (TableStore.UpdateType.INCREMENT === updateType) {
                        //increment 有可能带timestamp
                        if (columns[attr].timestamp !== undefined) {
                            for (var k in columns[attr]) {
                                rowCheckSum = this.writeUpdateColumn(updateType, k, [columns[attr][k], columns[attr].timestamp], rowCheckSum);
                                break;
                            }
                        } else {
                            for (var k in columns[attr]) {
                                rowCheckSum = this.writeUpdateColumn(updateType, k, columns[attr][k], rowCheckSum);
                                break;
                            }
                        }
                    }
                }
            }
        }
        return rowCheckSum;
    },