anitnilay20 / anitnilay20/beatrix

Implement JOIN operations for PostgreSQL

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
postgres query-builder
Dominant language
Rust
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Description
Add support for JOIN operations (INNER, LEFT, RIGHT, FULL OUTER) to enable querying related data across multiple tables.

## Requirements
- [ ] Implement JOIN query builder
- [ ] Support all JOIN types (INNER, LEFT, RIGHT, FULL OUTER)
- [ ] Handle complex join conditions
- [ ] Support multiple joins in single query
- [ ] Add proper type safety for joined results
- [ ] Write comprehensive tests

## Acceptance Criteria
- User can perform joins: `User::select().join(Post::table(), User::id().eq(Post::user_id()))`
- Support for multiple join types
- Type-safe result mapping
- Proper SQL generation with aliases

## Files to modify
- `beatrix_core/src/relational/join.rs` (new file)
- `beatrix_core/src/relational/select.rs`
- `beatrix_macro/src/relational.rs`

## Example Usage
```rust
let results = User::select()
.join(Post::table(), User::id().eq(Post::user_id()))
.where_clause(User::active().eq(true))
.fetch_all(&db).await?;
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.