DDL Statement vs Select statement identical results

Abierto
#309 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
sql, typescript

Línea de trabajo

Comienza con el flujo de DBSQLClient session.executeStatement y las APIs query.fetchChunk(), query.hasMoreRows() y query.metadata.schema mostradas en el informe. Compara cómo se exponen las operaciones CREATE TABLE y SELECT vacío, y determina después si los metadatos pueden distinguirlas o si es apropiado cambiar la fila de resultados. Se considera terminado cuando los llamadores pueden identificar la operación de forma fiable sin analizar SQL.

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

Descripción

Hello,

After testing, it appears that the results of the following 2 queries are indistinguishable when looking at the result sets:

CREATE TABLE example (
  col1 INT
);

and

SELECT 'sample' as Result
WHERE 1 = 0;  

This is because when iterating over the rows, both return 0 rows:

import { DBSQLClient } from '@databricks/sql';
const connectionOptions = {...};
let results = [];
const client = new DBSQLClient();
const session = await client.connect(connectOptions);
const query = await session.executeStatement(query, options);
do {
  results = results.concat(await query.fetchChunk());
} while (await query.hasMoreRows());
console.log(results);

And the schema is exactly the same:

... code above
console.log(query.metadata.schema)

Do you have any advice for differentiating the operations without requiring in a SQL parser to determine the query? Would it be possible to add the operation type to the query.metadata, or a result row for DDL operations?

Lenguaje dominante
TypeScript
Estrellas
36
Forks
50
Merge medio
13 h 46 min
PR fusionados (30 d)
9

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de databricks/databricks-sql-nodejs

Todos los issues de databricks/databricks-sql-nodejs

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.