{-# LANGUAGE CPP #-}
{-# LANGUAGE OverloadedStrings #-}
module Database.ClickHouseDriver.ClientProtocol where
import Data.ByteString (ByteString)
import Data.Vector (Vector, fromList, (!?))
_HELLO :: Word
_HELLO :: Word
_HELLO = Word
0 :: Word
_QUERY :: Word
_QUERY :: Word
_QUERY = Word
1 :: Word
_DATA :: Word
_DATA :: Word
_DATA = Word
2 :: Word
_CANCEL :: Word
_CANCEL :: Word
_CANCEL = Word
3 :: Word
_PING :: Word
_PING :: Word
_PING = Word
4 :: Word
_TABLES_STATUS_REQUEST :: Word
_TABLES_STATUS_REQUEST :: Word
_TABLES_STATUS_REQUEST = Word
5 :: Word
_COMPRESSION_ENABLE :: Word
_COMPRESSION_ENABLE :: Word
_COMPRESSION_ENABLE = Word
1 :: Word
_COMPRESSION_DISABLE :: Word
_COMPRESSION_DISABLE :: Word
_COMPRESSION_DISABLE = Word
0 :: Word
_COMPRESSION_METHOD_LZ4 :: Word
_COMPRESSION_METHOD_LZ4 :: Word
_COMPRESSION_METHOD_LZ4 = Word
1 :: Word
_COMPRESSION_METHOD_LZ4HC :: Word
_COMPRESSION_METHOD_LZ4HC :: Word
_COMPRESSION_METHOD_LZ4HC = Word
2 :: Word
_COMPRESSION_METHOD_ZSTD :: Word
_COMPRESSION_METHOD_ZSTD :: Word
_COMPRESSION_METHOD_ZSTD = Word
3 :: Word
_COMPRESSION_METHOD_BYTE_LZ4 :: Integer
_COMPRESSION_METHOD_BYTE_LZ4 :: Integer
_COMPRESSION_METHOD_BYTE_LZ4 = Integer
0x82
_COMPRESSION_METHOD_BYTE_ZSTD :: Integer
_COMPRESSION_METHOD_BYTE_ZSTD :: Integer
_COMPRESSION_METHOD_BYTE_ZSTD = Integer
0x90
typeStr :: Vector ByteString
typeStr :: Vector ByteString
typeStr = [ByteString] -> Vector ByteString
forall a. [a] -> Vector a
fromList [ByteString
"Hello", ByteString
"Query", ByteString
"Data", ByteString
"Cancel", ByteString
"Ping", ByteString
"TablesStatusRequest"]
toString :: Int -> ByteString
toString :: Int -> ByteString
toString Int
n =
case Vector ByteString
typeStr Vector ByteString -> Int -> Maybe ByteString
forall a. Vector a -> Int -> Maybe a
!? Int
n of
Maybe ByteString
Nothing -> ByteString
"Unknown Packet"
Just ByteString
t -> ByteString
t