apache / apache/airavata-data-catalog
Support joins in metadata schema SQL query
- Dominant language
- Java
- Stars
- 10
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Description
Some use cases:
- inner join between two metadata schema would return only data products that belong to both schemas, and one could also filter by fields in either or both schemas
- join to the parent data product and then you can filter by the parent's metadata schema fields but return their children
Some thoughts:
- would be nice if the client doesn't need to know how to do the join but the MetadataSchemaQueryExecutor handles it. Clients could issue a `NATURAL JOIN` in the query like so
```sql
select * from my_schema NATURAL JOIN other_schema;
```
- maybe register a virtual parent_data_product table so clients can issue a query joining to the parent data product, again, without having to know the details of how to do the join:
```sql
select * from my_schema NATURAL JOIN parent_data_product;
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the MetadataSchemaQueryExecutor, then trace how metadata schema SQL queries are parsed and executed. Use the example NATURAL JOIN queries as the target behavior, including joins between schemas and to parent_data_product. Done means those queries execute without requiring clients to know the join details and return the expected filtered products.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, sql
- Domain
- database
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100