Use `error!(e; xxx)` pattern so we could get backtrace in error log.
Also use BoxedError as error source of ExecuteQuery instead of String,
so we could carry backtrace and other info in it.
* feat: add `BorrowedValue` and DF Array access by index
This `BorrowedValue` can hold from datafusion arrow without copy.
`arrow_array_access` provides an index access to Arrow array and it holds the
result with our `BorrowedValue`. So we don't have to copy string/binary when
converting to `Value`.
* refactor: use borrowed types and iterator for recordbatch access
* fix: return Null with early check
* fix: i64 type error addressed by unit test
* refactor: give arrow_array_access a better name
* refactor: removed borrowed value and use value for now
* refactor: make iterator to return result of vec
* refactor: lift recordbatch iterator into common module
* fix: address clippy warnings
* address PR comments
address PR comments
use 3306 for mysql server's default port
upgrade metric to version 0.20
move crate "servers" out of "common"
make mysql io threads count configurable in config file
add snafu backtrace for errors with source
use common-server error for mysql server
add test for grpc server
refactor testing codes
fix rustfmt check
start mysql server in datanode
move grpc server codes from datanode to common-servers
feat: unify servers
* rebase develop and resolve conflicts
* remove an unnecessary todo
Co-authored-by: luofucong <luofucong@greptime.com>