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
Original file line number Diff line number Diff line change
Expand Up @@ -294,9 +294,13 @@
import org.apache.ignite.internal.processors.query.schema.message.SchemaOperationStatusMessage;
import org.apache.ignite.internal.processors.query.schema.message.SchemaOperationStatusMessageSerializer;
import org.apache.ignite.internal.processors.query.stat.messages.StatisticsColumnData;
import org.apache.ignite.internal.processors.query.stat.messages.StatisticsColumnDataSerializer;
import org.apache.ignite.internal.processors.query.stat.messages.StatisticsDecimalMessage;
import org.apache.ignite.internal.processors.query.stat.messages.StatisticsDecimalMessageSerializer;
import org.apache.ignite.internal.processors.query.stat.messages.StatisticsKeyMessage;
import org.apache.ignite.internal.processors.query.stat.messages.StatisticsKeyMessageSerializer;
import org.apache.ignite.internal.processors.query.stat.messages.StatisticsObjectData;
import org.apache.ignite.internal.processors.query.stat.messages.StatisticsObjectDataSerializer;
import org.apache.ignite.internal.processors.query.stat.messages.StatisticsRequest;
import org.apache.ignite.internal.processors.query.stat.messages.StatisticsRequestSerializer;
import org.apache.ignite.internal.processors.query.stat.messages.StatisticsResponse;
Expand Down Expand Up @@ -499,10 +503,10 @@ public class GridIoMessageFactory implements MessageFactoryProvider {
new IncrementalSnapshotAwareMessageSerializer());

// Index statistics.
factory.register(StatisticsKeyMessage.TYPE_CODE, StatisticsKeyMessage::new);
factory.register(StatisticsDecimalMessage.TYPE_CODE, StatisticsDecimalMessage::new);
factory.register(StatisticsObjectData.TYPE_CODE, StatisticsObjectData::new);
factory.register(StatisticsColumnData.TYPE_CODE, StatisticsColumnData::new);
factory.register(StatisticsKeyMessage.TYPE_CODE, StatisticsKeyMessage::new, new StatisticsKeyMessageSerializer());
factory.register(StatisticsDecimalMessage.TYPE_CODE, StatisticsDecimalMessage::new, new StatisticsDecimalMessageSerializer());
factory.register(StatisticsObjectData.TYPE_CODE, StatisticsObjectData::new, new StatisticsObjectDataSerializer());
factory.register(StatisticsColumnData.TYPE_CODE, StatisticsColumnData::new, new StatisticsColumnDataSerializer());
factory.register(StatisticsRequest.TYPE_CODE, StatisticsRequest::new, new StatisticsRequestSerializer());
factory.register(StatisticsResponse.TYPE_CODE, StatisticsResponse::new, new StatisticsResponseSerializer());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,8 @@
package org.apache.ignite.internal.processors.query.stat.messages;

import java.io.Serializable;
import java.nio.ByteBuffer;
import org.apache.ignite.internal.Order;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;

/**
* Statistics by column (or by set of columns, if they collected together)
Expand All @@ -34,31 +32,40 @@ public class StatisticsColumnData implements Message, Serializable {
public static final short TYPE_CODE = 186;

/** Min value in column. */
private StatisticsDecimalMessage min;
@Order(0)
StatisticsDecimalMessage min;

/** Max value in column. */
private StatisticsDecimalMessage max;
@Order(1)
StatisticsDecimalMessage max;

/** Number of null values in column. */
private long nulls;
@Order(2)
long nulls;

/** Number of distinct values in column (except nulls). */
private long distinct;
@Order(3)
long distinct;

/** Total vals in column. */
private long total;
@Order(4)
long total;

/** Average size, for variable size values (in bytes). */
private int size;
@Order(5)
int size;

/** Raw data. */
private byte[] rawData;
@Order(6)
byte[] rawData;

/** Version. */
private long ver;
@Order(7)
long ver;

/** Created at time, milliseconds. */
private long createdAt;
@Order(8)
long createdAt;

/**
* Default constructor.
Expand Down Expand Up @@ -165,159 +172,6 @@ public long createdAt() {
return createdAt;
}

/** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);

if (!writer.isHeaderWritten()) {
if (!writer.writeHeader(directType()))
return false;

writer.onHeaderWritten();
}

switch (writer.state()) {
case 0:
if (!writer.writeLong(createdAt))
return false;

writer.incrementState();

case 1:
if (!writer.writeLong(distinct))
return false;

writer.incrementState();

case 2:
if (!writer.writeMessage(max))
return false;

writer.incrementState();

case 3:
if (!writer.writeMessage(min))
return false;

writer.incrementState();

case 4:
if (!writer.writeLong(nulls))
return false;

writer.incrementState();

case 5:
if (!writer.writeByteArray(rawData))
return false;

writer.incrementState();

case 6:
if (!writer.writeInt(size))
return false;

writer.incrementState();

case 7:
if (!writer.writeLong(total))
return false;

writer.incrementState();

case 8:
if (!writer.writeLong(ver))
return false;

writer.incrementState();

}

return true;
}

/** {@inheritDoc} */
@Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
reader.setBuffer(buf);

switch (reader.state()) {
case 0:
createdAt = reader.readLong();

if (!reader.isLastRead())
return false;

reader.incrementState();

case 1:
distinct = reader.readLong();

if (!reader.isLastRead())
return false;

reader.incrementState();

case 2:
max = reader.readMessage();

if (!reader.isLastRead())
return false;

reader.incrementState();

case 3:
min = reader.readMessage();

if (!reader.isLastRead())
return false;

reader.incrementState();

case 4:
nulls = reader.readLong();

if (!reader.isLastRead())
return false;

reader.incrementState();

case 5:
rawData = reader.readByteArray();

if (!reader.isLastRead())
return false;

reader.incrementState();

case 6:
size = reader.readInt();

if (!reader.isLastRead())
return false;

reader.incrementState();

case 7:
total = reader.readLong();

if (!reader.isLastRead())
return false;

reader.incrementState();

case 8:
ver = reader.readLong();

if (!reader.isLastRead())
return false;

reader.incrementState();

}

return true;
}

/** {@inheritDoc} */
@Override public short directType() {
return TYPE_CODE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,9 @@
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.util.Objects;
import org.apache.ignite.internal.Order;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;

/**
* H2 Decimal.
Expand All @@ -37,10 +35,12 @@ public class StatisticsDecimalMessage implements Message, Serializable {
public static final short TYPE_CODE = 184;

/** */
private int scale;
@Order(0)
int scale;

/** */
private byte[] b;
@Order(1)
byte[] b;

/**
*
Expand Down Expand Up @@ -73,59 +73,6 @@ public BigDecimal value() {
return new BigDecimal(new BigInteger(b), scale);
}

/** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);

if (!writer.isHeaderWritten()) {
if (!writer.writeHeader(directType()))
return false;

writer.onHeaderWritten();
}

switch (writer.state()) {
case 0:
if (!writer.writeByteArray(b))
return false;

writer.incrementState();

case 1:
if (!writer.writeInt(scale))
return false;

writer.incrementState();
}

return true;
}

/** {@inheritDoc} */
@Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
reader.setBuffer(buf);

switch (reader.state()) {
case 0:
b = reader.readByteArray();

if (!reader.isLastRead())
return false;

reader.incrementState();

case 1:
scale = reader.readInt();

if (!reader.isLastRead())
return false;

reader.incrementState();
}

return true;
}

/** {@inheritDoc} */
@Override public short directType() {
return TYPE_CODE;
Expand Down
Loading
Loading