You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Remove @ operator immediately instead of deprecation
Since @ was not widely used, raise an error immediately directing
users to .join(semantic_check=False) rather than going through a
gradual deprecation period.
Copy file name to clipboardExpand all lines: docs/SPEC-semantic-matching.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -106,7 +106,7 @@ Note: `A - B` is the negated form of restriction (equivalent to `A & ~B`), not a
106
106
107
107
**Resolution**: Use `.proj()` to rename one of the colliding attributes.
108
108
109
-
**Deprecated**: The `@` operator is deprecated. Use `.join(semantic_check=False)` instead.
109
+
**Removed**: The `@` operator is removed. Use `.join(semantic_check=False)` instead.
110
110
111
111
**Note**: A warning may be raised for joins on unindexed attributes (performance consideration).
112
112
@@ -588,9 +588,9 @@ if not has_index(table1, attr) or not has_index(table2, attr):
588
588
)
589
589
```
590
590
591
-
### D6: Deprecate the `@` Operator
591
+
### D6: Remove the `@` Operator
592
592
593
-
**Decision**: Deprecate the `@` (permissive join) operator.
593
+
**Decision**: Remove the `@` (permissive join) operator.
594
594
595
595
**Rationale**:
596
596
- Having two join operators (`*` and `@`) with subtle differences adds confusion
@@ -600,14 +600,14 @@ if not has_index(table1, attr) or not has_index(table2, attr):
600
600
601
601
**Migration**:
602
602
```python
603
-
# Old (deprecated)
604
-
A @ B
603
+
# Old (removed)
604
+
A @ B# raises error
605
605
606
606
# New
607
607
A.join(B, semantic_check=False)
608
608
```
609
609
610
-
The `@` operator will emit a deprecation warning and eventually be removed.
610
+
The `@` operator raises an error immediately, directing users to the new syntax. Since `@` was not widely used, a gradual deprecation period is unnecessary.
611
611
612
612
### D7: Migration via Utility Function
613
613
@@ -752,7 +752,7 @@ Semantic matching is a significant change to DataJoint's join semantics that imp
0 commit comments