Skip to content

Commit 49d0860

Browse files
docs: update specs to treat DataJoint 2.0 as current
- semantic-matching.md: clarify applies to all binary operators, not just joins - semantic-matching.md: change "replacing current rules" to "replaces pre-2.0 rules" - job-metadata.md: rename "Current/Proposed implementation" to "Pre-2.0/DataJoint 2.0 implementation" Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 5371b3c commit 49d0860

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/reference/specs/job-metadata.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,15 +157,15 @@ SELECT * FROM table_a NATURAL JOIN table_b
157157

158158
Hidden attributes must be excluded from all binary operator considerations. The result of a join does not preserve hidden attributes from its operands.
159159

160-
**Current implementation:**
160+
**Pre-2.0 implementation:**
161161
```python
162162
def from_clause(self):
163163
clause = next(support)
164164
for s, left in zip(support, self._left):
165165
clause += " NATURAL{left} JOIN {clause}".format(...)
166166
```
167167

168-
**Proposed implementation:**
168+
**DataJoint 2.0 implementation:**
169169
```python
170170
def from_clause(self):
171171
clause = next(support)

src/reference/specs/semantic-matching.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
# Semantic Matching for Joins - Specification
1+
# Semantic Matching - Specification
22

33
## Overview
44

5-
This document specifies **semantic matching** for joins in DataJoint 2.0, replacing the current name-based matching rules. Semantic matching ensures that attributes are only matched when they share both the same name and the same **lineage** (origin), preventing accidental joins on unrelated attributes that happen to share names.
5+
This document specifies **semantic matching** for binary operators in DataJoint 2.0. Semantic matching ensures that attributes are only matched when they share both the same name and the same **lineage** (origin), preventing accidental matches on unrelated attributes that happen to share names. This replaces the name-based matching rules from pre-2.0 versions.
66

77
### Goals
88

9-
1. **Prevent incorrect joins** on attributes that share names but represent different entities
10-
2. **Enable valid joins** that are currently blocked due to overly restrictive rules
9+
1. **Prevent incorrect matches** on attributes that share names but represent different entities
10+
2. **Enable valid operations** that were previously blocked due to overly restrictive rules
1111
3. **Maintain backward compatibility** for well-designed schemas
1212
4. **Provide clear error messages** when semantic conflicts are detected
1313

0 commit comments

Comments
 (0)