Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 17 additions & 17 deletions ceresdb-example/src/test/java/io/ceresdb/CeresDBTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -162,22 +162,22 @@ public void comprehensiveTest() throws ExecutionException, InterruptedException
"Data: ts={}, tString={}, tInt64={}, fString={}, fBool={}, fDouble={}, fFloat={}, fInt64={}, fInt32={}, fInt16={},"
+ //
"fInt8={}, fUint64={}, fUint32={}, fUint16={}, fUint8={}, fTimestamp={}, fVarbinary={}", //
row.getColumnValue("ts").getTimestamp(), //
row.getColumnValue("tString").getString(), //
row.getColumnValue("tInt64").getInt64(), //
row.getColumnValue("fString").getString(), //
row.getColumnValue("fBool").getBoolean(), //
row.getColumnValue("fDouble").getDouble(), //
row.getColumnValue("fFloat").getFloat(), //
row.getColumnValue("fInt64").getInt64(), //
row.getColumnValue("fInt32").getInt32(), //
row.getColumnValue("fInt16").getInt16(), //
row.getColumnValue("fInt8").getInt8(), //
row.getColumnValue("fUint64").getUInt64(), //
row.getColumnValue("fUint32").getUInt32(), //
row.getColumnValue("fUint16").getUInt16(), //
row.getColumnValue("fUint8").getUInt8(), //
row.getColumnValue("fTimestamp").getTimestamp() //
row.getColumn("ts").getValue().getTimestamp(), //
row.getColumn("tString").getValue().getString(), //
row.getColumn("tInt64").getValue().getInt64(), //
row.getColumn("fString").getValue().getString(), //
row.getColumn("fBool").getValue().getBoolean(), //
row.getColumn("fDouble").getValue().getDouble(), //
row.getColumn("fFloat").getValue().getFloat(), //
row.getColumn("fInt64").getValue().getInt64(), //
row.getColumn("fInt32").getValue().getInt32(), //
row.getColumn("fInt16").getValue().getInt16(), //
row.getColumn("fInt8").getValue().getInt8(), //
row.getColumn("fUint64").getValue().getUInt64(), //
row.getColumn("fUint32").getValue().getUInt32(), //
row.getColumn("fUint16").getValue().getUInt16(), //
row.getColumn("fUint8").getValue().getUInt8(), //
row.getColumn("fTimestamp").getValue().getTimestamp() //
//row.getColumnValue("fVarbinary").getVarbinary())
);
});
Expand Down Expand Up @@ -303,7 +303,7 @@ public void streamQueryTest() {

int i = 0;
while (it.hasNext()) {
LOG.info("The {} row, timestamp={}", ++i, it.next().getColumnValue("ts"));
LOG.info("The {} row, timestamp={}", ++i, it.next().getColumn("ts"));
}

Assert.assertEquals(1000, i);
Expand Down
10 changes: 5 additions & 5 deletions ceresdb-example/src/test/java/io/ceresdb/ReadmeTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -101,11 +101,11 @@ public void readmeTest() throws ExecutionException, InterruptedException {

// get rows as list
final List<Row> rows = queryOk.getRowList();
Assert.assertEquals(timestamp, rows.get(0).getColumnValue("ts").getTimestamp());
Assert.assertEquals("Singapore", rows.get(0).getColumnValue("city").getString());
Assert.assertEquals("10.0.0.1", rows.get(0).getColumnValue("ip").getString());
Assert.assertEquals(0.23, rows.get(0).getColumnValue("cpu").getDouble(), 0.0000001);
Assert.assertEquals(0.55, rows.get(0).getColumnValue("mem").getDouble(), 0.0000001);
Assert.assertEquals(timestamp, rows.get(0).getColumn("ts").getValue().getTimestamp());
Assert.assertEquals("Singapore", rows.get(0).getColumn("city").getValue().getString());
Assert.assertEquals("10.0.0.1", rows.get(0).getColumn("ip").getValue().getString());
Assert.assertEquals(0.23, rows.get(0).getColumn("cpu").getValue().getDouble(), 0.0000001);
Assert.assertEquals(0.55, rows.get(0).getColumn("mem").getValue().getDouble(), 0.0000001);

// get rows as stream
final Stream<Row> rowStream = queryOk.stream();
Expand Down
2 changes: 1 addition & 1 deletion ceresdb-protocol/src/main/java/io/ceresdb/WriteClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ public Storage.WriteRequest toWriteRequestObj(final RequestContext reqCtx, final
tagDict.toOrdered().forEach((tagK) -> {
Value tagV = point.getTags().get(tagK);
if (!Value.isNull(tagV)) {
seriesKeyBuffer.append(tagV.getValue().toString());
seriesKeyBuffer.append(tagV.getObject().toString());
}
});
Storage.WriteSeriesEntry.Builder seriesEntryBuilder = tp3.getSeriesBuilders()
Expand Down
101 changes: 88 additions & 13 deletions ceresdb-protocol/src/main/java/io/ceresdb/models/Row.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,114 @@
*/
package io.ceresdb.models;

import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

public class Row {
private Map<String, Value> values;
protected String[] fields;
protected Value[] values;

public Row() {
this.values = new HashMap<>();
protected Row() {
}

public Value getColumnValue(String column) {
return this.values.get(column);
public boolean hasColumn(String name) {
return getColumnIdx(name) > -1;
}

public void setColumnValue(String column, Value value) {
this.values.put(column, value);
public Column getColumn(String name) {
int columnIdx = getColumnIdx(name);
if (columnIdx > -1) {
return Column.of(name, values[columnIdx]);
}
return null;
}

public List<Column> getColumns() {
if (fields == null) {
return Collections.emptyList();
}
List<Column> columns = new ArrayList<>(getColumnCount());
for (int idx = 0; idx < fields.length; idx++) {
columns.add(Column.of(fields[idx], values[idx]));
}
return columns;
}

public int getColumnCount() {
if (this.values == null) {
if (fields == null) {
return 0;
}
return this.values.size();
return fields.length;
}

private int getColumnIdx(String name) {
if (fields == null) {
return -1;
}
for (int idx = 0; idx < fields.length; idx++) {
if (fields[idx].equals(name)) {
return idx;
}
}
return -1;
}

@Override
public String toString() {
if (this.values == null || this.values.isEmpty()) {
if (this.fields == null || this.fields.length == 0) {
return "[Empty Row]";
}

return this.values.entrySet().stream().map(entry -> entry.getKey() + ":" + entry.getValue().toString())
return getColumns().stream().map(column -> column.name + ":" + column.value.toString())
.collect(Collectors.joining("|"));
}

public static class Column {
public Column(String name, Value value) {
this.name = name;
this.value = value;
}

private String name;
private Value value;

public String getName() {
return name;
}

public Value getValue() {
return value;
}

public static Column of(String name, Value value) {
return new Column(name, value);
}
}

public static RowBuilder newRowBuilder(int size) {
return new RowBuilder(size);
}

public static class RowBuilder {
private Row row;

public RowBuilder(int size) {
this.row = new Row();
this.row.values = new Value[size];
}

public void setFields(String[] fields) {
this.row.fields = fields;
}

public void setValue(int colIdx, Value value) {
this.row.values[colIdx] = value;
}

public Row build() {
return this.row;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public DataType getDataType() {
return type;
}

public Object getValue() {
public Object getObject() {
return value;
}

Expand Down
Loading