mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-09-11 16:02:19 +00:00
fix(servers): return text[] for SELECT array[null] in PostgreSQL protocol (#9058)
fix(servers): return text array for null array literals Signed-off-by: Tyagiquamar <mohdquamartyagi@gmail.com>
This commit is contained in:
@@ -255,7 +255,7 @@ pub(super) fn type_gt_to_pg(origin: &ConcreteDataType) -> Result<Type> {
|
||||
&ConcreteDataType::Decimal128(_) => Ok(Type::NUMERIC),
|
||||
&ConcreteDataType::Json(_) => Ok(Type::JSON),
|
||||
ConcreteDataType::List(list) => match list.item_type() {
|
||||
&ConcreteDataType::Null(_) => Ok(Type::UNKNOWN),
|
||||
&ConcreteDataType::Null(_) => Ok(Type::TEXT_ARRAY),
|
||||
&ConcreteDataType::Boolean(_) => Ok(Type::BOOL_ARRAY),
|
||||
&ConcreteDataType::Int8(_) => Ok(Type::INT2_ARRAY),
|
||||
&ConcreteDataType::Int16(_) | &ConcreteDataType::UInt8(_) => Ok(Type::INT2_ARRAY),
|
||||
@@ -1300,6 +1300,12 @@ mod test {
|
||||
use crate::SqlPlan;
|
||||
use crate::postgres::handler::PgSqlPlan;
|
||||
|
||||
#[test]
|
||||
fn test_null_array_maps_to_text_array() {
|
||||
let array = ConcreteDataType::list_datatype(Arc::new(ConcreteDataType::null_datatype()));
|
||||
assert_eq!(Type::TEXT_ARRAY, type_gt_to_pg(&array).unwrap());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_schema_convert() {
|
||||
let column_schemas = vec![
|
||||
|
||||
Reference in New Issue
Block a user