apache / apache/airavata-data-catalog

Support joins in metadata schema SQL query

Open
#26 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.