Bytes Functions and Operators

bytes[i]

Bytes indexing.

bytes[from:to]

Bytes slicing.

bytes ++ bytes

Bytes concatenation.

bytes = bytes, bytes < bytes, …

Comparison operators.

bytes_get_bit()

Get the nth bit of the bytes value.

operator
bytes[i]
bytes [ int64 ] -> bytes

Bytes indexing.

Examples:

Copy
db> 
SELECT b'binary \x01\x02\x03\x04 ftw!'[8];
{b'\x02'}
operator
bytes[from:to]
bytes [ int64 : int64 ] -> bytes

Bytes slicing.

Examples:

Copy
db> 
SELECT b'\x01\x02\x03\x04 ftw!'[2:-1];
{b'\x03\x04 ftw'}
Copy
db> 
SELECT b'some bytes'[2:-3];
{b'me by'}
operator
bytes ++ bytes
bytes ++ bytes -> bytes

Bytes concatenation.

Copy
db> 
SELECT b'\x01\x02' ++ b'\x03\x04';
{b'\x01\x02\x03\x04'}
function
bytes_get_bit()
std::bytes_get_bit(bytes: bytes, nth: int64) -> int64

Get the nth bit of the bytes value.

When looking for the nth bit, this function enumerates bits from least to most significant in each byte.

Copy
db> 
... 
... 
FOR n IN {0, 1, 2, 3, 4, 5, 6, 7,
          8, 9, 10, 11, 12, 13 ,14, 15}
UNION bytes_get_bit(b'ab', n);
{1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0}
Light
Dark
System