apache / apache/datafusion-sqlparser-rs

Support PostgreSQL json_to_record / jsonb_to_record syntax

Aberta
#1,375 0 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Rust
Estrelas
3.5k
Forks
774
Merge médio
4d 9h
PRs com merge (30d)
17

Descrição

### 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)

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

Comece reproduzindo o exemplo de SQL com PostgreSqlDialect e consulte a documentação do PostgreSQL sobre json_to_record e jsonb_to_record. Considera-se concluído quando ambas as formas forem analisadas com sucesso em vez de gerar ParseError, incluindo a lista de definição de colunas mostrada no exemplo.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
postgresql, rust
Domínio
databases
Tipo de issue
Funcionalidade
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.