apache / apache/datafusion

Move `tempfile` crate to dev dependencies in datafusion core crate

Abierto
#17,522 1 comentario 2 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
Rust
Estrellas
9.3k
Forks
2.4k
Merge medio
3 d 11 h
PR fusionados (30 d)
362

Descripción

### Is your feature request related to a problem or challenge?

`tempfile` crate is currently included as a normal dependency in the `datafusion` crate. It would be possible to move the dependency to the `dev-dependencies` since the `tempfile` capabilities are only used by integration and unit tests.

Specifically, the following function:

```
/// Generate CSV partitions within the supplied directory
pub fn populate_csv_partitions(
tmp_dir: &TempDir,
partition_count: usize,
file_extension: &str,
) -> Result {
...
```
It is the only one that uses `tempfile` capabilities.

### Describe the solution you'd like

It would be possible to move the `tempfile` crate from `dependencies` to `dev-dependencies` by decorating the `populate_csv_partitions` with the `#[cfg(test)]` attribute and replicating the function where needed in the integration tests (i.e.: `datafusion/core/tests/dataframe/mod.rs`)

### Describe alternatives you've considered

_No response_

### Additional context

I'm opening this as a feature request since it's not an actual bug.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Localiza las declaraciones de dependencias del datafusion core crate y todos los usos de populate_csv_partitions; después, inspecciona datafusion/core/tests/dataframe/mod.rs para encontrar el helper de las pruebas de integración. Confirma que tempfile solo es necesario para las pruebas, muévelo al conjunto de dependencias de pruebas y asegúrate de que las pruebas unitarias y de integración sigan compilando y pasando.

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

Evaluación

Stack tecnológico
rust
Área
build-system, testing
Tipo de issue
Refactorización
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.