apache / apache/datafusion-sqlparser-rs

Support PostgreSQL json_to_record / jsonb_to_record syntax

Abierto
#1,375 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Rust
Estrellas
3.5k
Forks
772
Merge medio
4 d 9 h
PR fusionados (30 d)
17

Descripción

### Current state:

`PostgreSQL` `json_to_record` / `jsonb_to_record` syntax raises a `ParseError`:

```
use sqlparser::dialect::PostgreSqlDialect;
use sqlparser::parser::Parser;

fn main() {
let sql = r#"select * from json_to_record('{"a":1,"b":[1,2,3],"c":[1,2,3],"e":"bar"}') as x(a int, b text, c int[], d text);"#;
let dialect = PostgreSqlDialect {};
let ast = Parser::parse_sql(&dialect, sql).unwrap();

println!("AST: {:?}", ast);
}
```

### Future state:

`json_to_record` / `jsonb_to_record` syntax supported.

### Additional:

As per [the postgresql docs](https://www.postgresql.org/docs/16/functions-json.html) - search for json_to_record (no deep link)

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Empieza reproduciendo el ejemplo de SQL con PostgreSqlDialect y consulta la documentación de PostgreSQL sobre json_to_record y jsonb_to_record. Se considera terminado cuando ambas formas se analizan correctamente en lugar de generar ParseError, incluida la lista de definición de columnas mostrada en el ejemplo.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
postgresql, rust
Área
databases
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.