Skip to content

Commit

Permalink
Add missing values to the RAW protocol. (#501)
Browse files Browse the repository at this point in the history
  • Loading branch information
miguelbranco80 authored Sep 4, 2024
1 parent 17fddf0 commit 0d1f981
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 3 deletions.
11 changes: 8 additions & 3 deletions compiler/src/main/scala/com/rawlabs/compiler/RawValues.scala
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import com.fasterxml.jackson.annotation.{JsonSubTypes, JsonTypeInfo}
@JsonSubTypes(
Array(
new JsonType(value = classOf[RawNull], name = "null"),
new JsonType(value = classOf[RawError], name = "error"),
new JsonType(value = classOf[RawByte], name = "byte"),
new JsonType(value = classOf[RawShort], name = "short"),
new JsonType(value = classOf[RawInt], name = "int"),
Expand All @@ -32,12 +33,14 @@ import com.fasterxml.jackson.annotation.{JsonSubTypes, JsonTypeInfo}
new JsonType(value = classOf[RawDate], name = "date"),
new JsonType(value = classOf[RawTime], name = "time"),
new JsonType(value = classOf[RawTimestamp], name = "timestamp"),
new JsonType(value = classOf[RawInterval], name = "interval")
new JsonType(value = classOf[RawInterval], name = "interval"),
new JsonType(value = classOf[RawRecord], name = "record"),
new JsonType(value = classOf[RawList], name = "list")
)
)
sealed trait RawValue
final case class RawAny(v: Any) extends RawValue
final case class RawNull() extends RawValue
final case class RawNull() extends RawValue // Can be used whenever Type.nullable = true
final case class RawError(v: String) extends RawValue // Can be used whenever Type.triable = true
final case class RawByte(v: java.lang.Byte) extends RawValue
final case class RawShort(v: java.lang.Short) extends RawValue
final case class RawInt(v: java.lang.Integer) extends RawValue
Expand All @@ -61,3 +64,5 @@ final case class RawInterval(
seconds: Int,
millis: Int
) extends RawValue
final case class RawRecord(fields: Map[String, RawValue]) extends RawValue
final case class RawList(values: List[RawValue]) extends RawValue
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ package com.rawlabs.protocol.raw;
message Value {
oneof value {
ValueNull null = 2;
ValueError error = 3;
ValueByte byte = 4;
ValueShort short = 5;
ValueInt int = 6;
Expand All @@ -34,11 +35,17 @@ message Value {
ValueTime time = 16;
ValueTimestamp timestamp = 17;
ValueInterval interval = 18;
ValueRecord record = 19;
ValueList list = 20;
}
}

message ValueNull {}

message ValueError {
string message = 1;
}

message ValueByte {
int32 v = 1;
}
Expand Down Expand Up @@ -112,3 +119,16 @@ message ValueInterval {
int32 seconds = 7;
int32 millis = 8;
}

message ValueRecord {
repeated ValueRecordField fields = 1;
}

message ValueRecordField {
string name = 1;
Value value = 2;
}

message ValueList {
repeated Value values = 1;
}

0 comments on commit 0d1f981

Please sign in to comment.