package golem:rdbms@0.0.1;
interface types {
record uuid {
high-bits: u64,
low-bits: u64
}
variant ip-address {
ipv4(tuple<u8, u8, u8, u8>),
ipv6(tuple<u16, u16, u16, u16, u16, u16, u16, u16>),
}
record mac-address {
octets: tuple<u8, u8, u8, u8, u8, u8>
}
record date {
year: s32,
month: u8,
day: u8
}
record time {
hour: u8,
minute: u8,
second: u8,
nanosecond: u32
}
record timestamp {
date: date,
time: time
}
record timestamptz {
timestamp: timestamp,
offset: s32
}
record timetz {
time: time,
offset: s32
}
}