Implement Handling for Insertions into Views in YSQLSchema
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Comece na classe YSQLSchema, no método que recupera as informações das tabelas, usando as colunas table_type e is_insertable_into de information_schema como contexto relevante. Adicione testes que cubram a identificação de views e a possibilidade de inserção; em seguida, verifique o comportamento dos testes de banco de dados YSQL e atualize a documentação, se necessário.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
The YSQLSchema class in the SQLancer repository currently has a TODO comment indicating that the functionality for handling insertions into views is not fully implemented. This enhancement will ensure that views are correctly identified and their insertability is accurately determined, improving the robustness of the YSQL database testing framework.
Current Code Context
In the YSQLSchema class, the method responsible for retrieving table information includes a TODO comment related to views:
while (rs.next()) {
String tableName = rs.getString("table_name");
String tableTypeSchema = rs.getString("table_schema");
boolean isInsertable = rs.getBoolean("is_insertable_into");
// TODO: also check insertable
// TODO: insert into view?
boolean isView = tableName.startsWith("v"); // tableTypeStr.contains("VIEW") ||
// tableTypeStr.contains("LOCAL TEMPORARY") &&
// !isInsertable;
YSQLTable.TableType tableType = getTableType(tableTypeSchema);
List<YSQLColumn> databaseColumns = getTableColumns(con, tableName);
List<YSQLIndex> indexes = getIndexes(con, tableName);
List<YSQLStatisticsObject> statistics = getStatistics(con);
YSQLTable t = new YSQLTable(tableName, databaseColumns, indexes, tableType, statistics, isView,
isInsertable);
for (YSQLColumn c : databaseColumns) {
c.setTable(t);
}
databaseTables.add(t);
What I'll changes
- Identify Views Properly: Use the
table_typecolumn frominformation_schema.tablesto accurately determine if a table is a view. - Check Insertability: Utilize the
is_insertable_intocolumn to determine if a view can be inserted into.
what I'll do
- Implement the changes in the
YSQLSchemaclass. - Add unit tests to verify the correct identification and handling of views.
- Update documentation to reflect these changes.
Please let me know if you need further clarification.
- Linguagem predominante
- Java
- Estrelas
- 1.8k
- Forks
- 398
- Merge médio
- 4h 52min
- PRs com merge (30d)
- 3
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de sqlancer/sqlancer
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 64/100
-
CI Failure: Multiple DBMS Test Suites Are Failing (Citus, CnosDB, Databend, DataFusion, Hive, Materialize, TiDB, YugabyteDB)Talvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
-
[Question] Unable to test hiveTalvez já em andamento @Saadmadni84 assumiu há 274 dias. Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
-
PostgreSQL Version 15 Upgrade - Supporting MERGE FunctionTalvez já em andamento @yaojiejia assumiu há 463 dias. Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 30/100
Todas as issues de sqlancer/sqlancer
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
utopia-rise/godot-jvm#1004 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
resilience4j/resilience4j#2547 ·
Mantenedores costumam responder em até 9 dias
-
Clock.MakeDate continues execution and returns a rolled-over instant after dispatching error on invalid dateTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
mit-cml/appinventor-sources#4155 ·
Mantenedores costumam responder em até 1 dia
-
[Doc] - Creation du READMEAberta
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 62/100
Hira-shi/PW1-DAI-Carrel-Egal-Eyer#28 ·
Mantenedores costumam responder em até 1 dia
-
`GET /v1/event/token/{uuid}` can report a BOM upload as done before policy evaluation and metrics have finishedTalvez já em andamento @Zargath assumiu hoje. Abertadefect in triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
DependencyTrack/dependency-track#7646 ·
Mantenedores costumam responder em até 1 dia