| route-pattern | /_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format) |
| route-controller | voltron_pull_requests_fragments |
| route-action | pull_request_layout |
| fetch-nonce | v2:9fb336bf-fbe2-91a7-c1b6-0540e0c8c484 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | C1F4:47EDE:19E6B68:250A2D0:6A4F7806 |
| html-safe-nonce | 91e86342fce84d7eb0181a65fd04a92b5468ece5fc5b9e626d770e8ed77c3f9d |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDMUY0OjQ3RURFOjE5RTZCNjg6MjUwQTJEMDo2QTRGNzgwNiIsInZpc2l0b3JfaWQiOiI3NDMwNTc1MTczNzE4MjEwNTY2IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 40fdc7994ef23f30ea59e53419c7964f0da5dd8ea9669800a1d0d276575c7016 |
| hovercard-subject-tag | pull_request:3311358493 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | ///voltron/pull_requests_fragments/pull_request_layout |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/datajoint/datajoint-python/1407/pull_request_layout |
| twitter:image | https://opengraph.githubassets.com/034bb2988a871cba4931cf691cb5b910ba432ab9ca670f15c46fda2480a7fa8d/datajoint/datajoint-python/pull/1407 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/034bb2988a871cba4931cf691cb5b910ba432ab9ca670f15c46fda2480a7fa8d/datajoint/datajoint-python/pull/1407 |
| og:image:alt | Summary
Replace the error-driven cascade in Table.delete() with graph-driven restriction propagation using Diagram. The Diagram is purely a graph computation and inspection tool — all mutation logi... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | dimitri-yatsenko |
| hostname | github.com |
| expected-hostname | github.com |
| None | b92d11c0aa4a77d54ef4af1078b6a15fb5a70a215b30c4ecf28889d5a8e656d9 |
| turbo-cache-control | no-cache |
| go-import | github.com/datajoint/datajoint-python git https://github.com/datajoint/datajoint-python.git |
| octolytics-dimension-user_id | 2375501 |
| octolytics-dimension-user_login | datajoint |
| octolytics-dimension-repository_id | 5866704 |
| octolytics-dimension-repository_nwo | datajoint/datajoint-python |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 5866704 |
| octolytics-dimension-repository_network_root_nwo | datajoint/datajoint-python |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 4b249b445842943ed31549e027f57a8ade9881ed |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://github.com/datajoint/datajoint-python/pull/1407#start-of-content |
|
| https://github.com/ |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdatajoint%2Fdatajoint-python%2Fpull%2F1407 |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub Copilot appDirect agents from issue to merge | https://github.com/features/ai/github-app |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| View all resources | https://github.com/resources |
| GitHub SponsorsFund open source developers | https://github.com/open-source/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/open-source/accelerator |
| GitHub Stars | https://stars.github.com |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/enterprise/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdatajoint%2Fdatajoint-python%2Fpull%2F1407 |
|
Sign up
| https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=datajoint%2Fdatajoint-python |
| Reload | https://github.com/datajoint/datajoint-python/pull/1407 |
| Reload | https://github.com/datajoint/datajoint-python/pull/1407 |
| Reload | https://github.com/datajoint/datajoint-python/pull/1407 |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
|
datajoint
| https://github.com/datajoint |
| datajoint-python | https://github.com/datajoint/datajoint-python |
|
Notifications
| https://github.com/login?return_to=%2Fdatajoint%2Fdatajoint-python |
|
Fork
96
| https://github.com/login?return_to=%2Fdatajoint%2Fdatajoint-python |
|
Star
194
| https://github.com/login?return_to=%2Fdatajoint%2Fdatajoint-python |
|
Code
| https://github.com/datajoint/datajoint-python |
|
Issues
8
| https://github.com/datajoint/datajoint-python/issues |
|
Pull requests
4
| https://github.com/datajoint/datajoint-python/pulls |
|
Discussions
| https://github.com/datajoint/datajoint-python/discussions |
|
Actions
| https://github.com/datajoint/datajoint-python/actions |
|
Security and quality
0
| https://github.com/datajoint/datajoint-python/security |
|
Insights
| https://github.com/datajoint/datajoint-python/pulse |
|
Code
| https://github.com/datajoint/datajoint-python |
|
Issues
| https://github.com/datajoint/datajoint-python/issues |
|
Pull requests
| https://github.com/datajoint/datajoint-python/pulls |
|
Discussions
| https://github.com/datajoint/datajoint-python/discussions |
|
Actions
| https://github.com/datajoint/datajoint-python/actions |
|
Security and quality
| https://github.com/datajoint/datajoint-python/security |
|
Insights
| https://github.com/datajoint/datajoint-python/pulse |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| master | https://github.com/datajoint/datajoint-python/tree/master |
| design/restricted-diagram | https://github.com/datajoint/datajoint-python/tree/design/restricted-diagram |
| Conversation | https://github.com/datajoint/datajoint-python/pull/1407 |
| Commits50 (50) | https://github.com/datajoint/datajoint-python/pull/1407/commits |
| Checks | https://github.com/datajoint/datajoint-python/pull/1407/checks |
| Files changed | https://github.com/datajoint/datajoint-python/pull/1407/files |
| Implement graph-driven cascade delete and restrict on Diagram | https://github.com/datajoint/datajoint-python/pull/1407#top |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| master | https://github.com/datajoint/datajoint-python/tree/master |
| design/restricted-diagram | https://github.com/datajoint/datajoint-python/tree/design/restricted-diagram |
|
| https://github.com/dimitri-yatsenko |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| Feb 21, 2026 | https://github.com/datajoint/datajoint-python/pull/1407#issue-3972710913 |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
| #865 | https://github.com/datajoint/datajoint-python/issues/865 |
| #1110 | https://github.com/datajoint/datajoint-python/issues/1110 |
| #1110 | https://github.com/datajoint/datajoint-python/issues/1110 |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| February 21, 2026 13:56 | https://github.com/datajoint/datajoint-python/pull/1407#commits-pushed-5be0a01 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| docs: design for restricted diagrams ( | https://github.com/datajoint/datajoint-python/pull/1407/commits/5be0a01499cfadddfce171b31a20aeaf822cffca |
| #865 | https://github.com/datajoint/datajoint-python/issues/865 |
| , | https://github.com/datajoint/datajoint-python/pull/1407/commits/5be0a01499cfadddfce171b31a20aeaf822cffca |
| #1110 | https://github.com/datajoint/datajoint-python/issues/1110 |
| ) | https://github.com/datajoint/datajoint-python/pull/1407/commits/5be0a01499cfadddfce171b31a20aeaf822cffca |
| 5be0a01 | https://github.com/datajoint/datajoint-python/pull/1407/commits/5be0a01499cfadddfce171b31a20aeaf822cffca |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| docs: add restriction semantics for non-downstream nodes and OR/AND | https://github.com/datajoint/datajoint-python/pull/1407/commits/3adc66172cfc80569b74f532ccf608063a7c0e5a |
| 3adc661 | https://github.com/datajoint/datajoint-python/pull/1407/commits/3adc66172cfc80569b74f532ccf608063a7c0e5a |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| docs: clarify convergence semantics and delete vs export scope | https://github.com/datajoint/datajoint-python/pull/1407/commits/db0ab4ef9cd015476392031f2ac920b7385d5f20 |
| db0ab4e | https://github.com/datajoint/datajoint-python/pull/1407/commits/db0ab4ef9cd015476392031f2ac920b7385d5f20 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| docs: two distinct operators — cascade (OR) and restrict (AND) | https://github.com/datajoint/datajoint-python/pull/1407/commits/315bef80eea591561950bce2b98b7be12e35fb13 |
| 315bef8 | https://github.com/datajoint/datajoint-python/pull/1407/commits/315bef80eea591561950bce2b98b7be12e35fb13 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| docs: unify drop under diagram, shared traversal infrastructure | https://github.com/datajoint/datajoint-python/pull/1407/commits/6049fc385e7ddd79834d87e46497efefeef3c01b |
| 6049fc3 | https://github.com/datajoint/datajoint-python/pull/1407/commits/6049fc385e7ddd79834d87e46497efefeef3c01b |
|
Error on cascade delete in MySQL 8
#1110
| https://github.com/datajoint/datajoint-python/issues/1110 |
|
FEAT: Applying Restrictions to a Diagram
#865
| https://github.com/datajoint/datajoint-python/issues/865 |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| February 22, 2026 11:15 | https://github.com/datajoint/datajoint-python/pull/1407#commits-pushed-d63c130 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| feat: implement graph-driven cascade delete and restrict on Diagram | https://github.com/datajoint/datajoint-python/pull/1407/commits/d63c13041f18666ffac71118652f46ffb18d7888 |
| d63c130 | https://github.com/datajoint/datajoint-python/pull/1407/commits/d63c13041f18666ffac71118652f46ffb18d7888 |
| #865 | https://github.com/datajoint/datajoint-python/issues/865 |
| #1110 | https://github.com/datajoint/datajoint-python/issues/1110 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| Merge upstream/master into design/restricted-diagram | https://github.com/datajoint/datajoint-python/pull/1407/commits/9fe2df7420bf96b74f1fc6a0e10a4f3ea4332ade |
| 9fe2df7 | https://github.com/datajoint/datajoint-python/pull/1407/commits/9fe2df7420bf96b74f1fc6a0e10a4f3ea4332ade |
| https://github.com/dimitri-yatsenko |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| Feb 22, 2026 | https://github.com/datajoint/datajoint-python/pull/1407#event-22983854466 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| fix: resolve mypy errors in codecs and hash_registry | https://github.com/datajoint/datajoint-python/pull/1407/commits/ae0eddd93484e08bd7ce3c2bfef10ad2ee7f88e1 |
| ae0eddd | https://github.com/datajoint/datajoint-python/pull/1407/commits/ae0eddd93484e08bd7ce3c2bfef10ad2ee7f88e1 |
| https://github.com/dimitri-yatsenko |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| mweitzel | https://github.com/mweitzel |
| ttngu207 | https://github.com/ttngu207 |
| February 22, 2026 17:41 | https://github.com/datajoint/datajoint-python/pull/1407#event-22983906761 |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| February 23, 2026 13:54 | https://github.com/datajoint/datajoint-python/pull/1407#commits-pushed-3c028d1 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| ci: trigger fresh CI run | https://github.com/datajoint/datajoint-python/pull/1407/commits/3c028d16885000883beabfb2112c2665d7fdc506 |
| 3c028d1 | https://github.com/datajoint/datajoint-python/pull/1407/commits/3c028d16885000883beabfb2112c2665d7fdc506 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| feat: bump version to 2.2.0dev0 | https://github.com/datajoint/datajoint-python/pull/1407/commits/8cdf42d2ec7f62d529ca9111bcccd97e4cb8b751 |
| 8cdf42d | https://github.com/datajoint/datajoint-python/pull/1407/commits/8cdf42d2ec7f62d529ca9111bcccd97e4cb8b751 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| fix: use restrict_in_place for cascade restrictions in Diagram | https://github.com/datajoint/datajoint-python/pull/1407/commits/f4742be3b15d4e7981076ce8fcc3cb9772df8b82 |
| f4742be | https://github.com/datajoint/datajoint-python/pull/1407/commits/f4742be3b15d4e7981076ce8fcc3cb9772df8b82 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| fix: store part_integrity and cascade_seed on Diagram instance | https://github.com/datajoint/datajoint-python/pull/1407/commits/a2d26937d7d0f4720dfe6ff73b41ff57f2c0fa0f |
| a2d2693 | https://github.com/datajoint/datajoint-python/pull/1407/commits/a2d26937d7d0f4720dfe6ff73b41ff57f2c0fa0f |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| fix: use post-hoc enforce check matching old Table.delete() behavior | https://github.com/datajoint/datajoint-python/pull/1407/commits/d2626e06b253f05752e1462162167c2510f15007 |
| d2626e0 | https://github.com/datajoint/datajoint-python/pull/1407/commits/d2626e06b253f05752e1462162167c2510f15007 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| fix: use restriction_attributes property instead of private _restrict… | https://github.com/datajoint/datajoint-python/pull/1407/commits/b88ede7bbaa963fcd014917baaf7af52f7ec0869 |
| b88ede7 | https://github.com/datajoint/datajoint-python/pull/1407/commits/b88ede7bbaa963fcd014917baaf7af52f7ec0869 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| feat: implement Diagram.prune() to remove empty tables | https://github.com/datajoint/datajoint-python/pull/1407/commits/0bede1dacd33b12fdaf69d418618b4a4b05dddd8 |
| 0bede1d | https://github.com/datajoint/datajoint-python/pull/1407/commits/0bede1dacd33b12fdaf69d418618b4a4b05dddd8 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| docs: update design docs to reflect actual implementation | https://github.com/datajoint/datajoint-python/pull/1407/commits/0ae8c80488ed29ffa3f562a6d9da7b58551391b5 |
| 0ae8c80 | https://github.com/datajoint/datajoint-python/pull/1407/commits/0ae8c80488ed29ffa3f562a6d9da7b58551391b5 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| docs: rewrite design docs as authoritative specs | https://github.com/datajoint/datajoint-python/pull/1407/commits/934a6fc0e2744eb19ae2d964ac18852f6f74a72e |
| 934a6fc | https://github.com/datajoint/datajoint-python/pull/1407/commits/934a6fc0e2744eb19ae2d964ac18852f6f74a72e |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| docs: make bare issue references clickable links | https://github.com/datajoint/datajoint-python/pull/1407/commits/b8fd688c523867472e49cfec9a504836c706b07c |
| b8fd688 | https://github.com/datajoint/datajoint-python/pull/1407/commits/b8fd688c523867472e49cfec9a504836c706b07c |
| https://github.com/dimitri-yatsenko |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| March 2, 2026 20:49 | https://github.com/datajoint/datajoint-python/pull/1407#event-23205466862 |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| March 6, 2026 18:15 | https://github.com/datajoint/datajoint-python/pull/1407#commits-pushed-204745a |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| fix: cascade delete with proper SQL generation, OR convergence, and p… | https://github.com/datajoint/datajoint-python/pull/1407/commits/204745ac025c973ddc6487dda9aaaa40e5ee80b7 |
| 204745a | https://github.com/datajoint/datajoint-python/pull/1407/commits/204745ac025c973ddc6487dda9aaaa40e5ee80b7 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| docs: consolidate restricted diagram design documents | https://github.com/datajoint/datajoint-python/pull/1407/commits/3a2fc5952a12d96d8b1ff8883877bc24d19149c4 |
| 3a2fc59 | https://github.com/datajoint/datajoint-python/pull/1407/commits/3a2fc5952a12d96d8b1ff8883877bc24d19149c4 |
| https://github.com/dimitri-yatsenko |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| March 7, 2026 11:05 | https://github.com/datajoint/datajoint-python/pull/1407#event-23356894744 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| refactor: replace _restrict_freetable with _restricted_table on Diagram | https://github.com/datajoint/datajoint-python/pull/1407/commits/91bf61b80bfa6d59ebc406e55952c44ea9a4484f |
| 91bf61b | https://github.com/datajoint/datajoint-python/pull/1407/commits/91bf61b80bfa6d59ebc406e55952c44ea9a4484f |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| March 9, 2026 14:52 | https://github.com/datajoint/datajoint-python/pull/1407#commits-pushed-2ae1f90 |
|
| https://github.com/dimitri-yatsenko |
| Merge master into design/restricted-diagram | https://github.com/datajoint/datajoint-python/pull/1407/commits/2ae1f9034cb0b8a562067702f6cb616ae129c1cd |
| 2ae1f90 | https://github.com/datajoint/datajoint-python/pull/1407/commits/2ae1f9034cb0b8a562067702f6cb616ae129c1cd |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| fix: use portable warning filter for matplotlib deprecation warnings | https://github.com/datajoint/datajoint-python/pull/1407/commits/b97e1908689dc1009964fd5095ae3fd202dd9f0a |
| b97e190 | https://github.com/datajoint/datajoint-python/pull/1407/commits/b97e1908689dc1009964fd5095ae3fd202dd9f0a |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| revert: remove matplotlib warning filter | https://github.com/datajoint/datajoint-python/pull/1407/commits/d23561703e53510b6598f32d8511d9889798a47f |
| d235617 | https://github.com/datajoint/datajoint-python/pull/1407/commits/d23561703e53510b6598f32d8511d9889798a47f |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| docs: update design doc to reflect cascade subgraph trimming | https://github.com/datajoint/datajoint-python/pull/1407/commits/2b84b632bb39f915bae5b4033deaed1a17aaddb2 |
| 2b84b63 | https://github.com/datajoint/datajoint-python/pull/1407/commits/2b84b632bb39f915bae5b4033deaed1a17aaddb2 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| refactor: move delete/drop from Diagram to Table | https://github.com/datajoint/datajoint-python/pull/1407/commits/1c99dc2b9e4a6bdfd6844ad868941afcd560df0e |
| 1c99dc2 | https://github.com/datajoint/datajoint-python/pull/1407/commits/1c99dc2b9e4a6bdfd6844ad868941afcd560df0e |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| fix: allow inline comments on index declarations | https://github.com/datajoint/datajoint-python/pull/1407/commits/793d0b3ded1ac23f50d9fc743c2599b8d82a47c3 |
| 793d0b3 | https://github.com/datajoint/datajoint-python/pull/1407/commits/793d0b3ded1ac23f50d9fc743c2599b8d82a47c3 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| refactor: add __iter__/__reversed__ to Diagram; simplify delete/drop | https://github.com/datajoint/datajoint-python/pull/1407/commits/a1d85571f034b603dd1850d0debf232fc2812d1c |
| a1d8557 | https://github.com/datajoint/datajoint-python/pull/1407/commits/a1d85571f034b603dd1850d0debf232fc2812d1c |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| refactor: rename Diagram.preview() to counts() | https://github.com/datajoint/datajoint-python/pull/1407/commits/d05cbdd814b22b200f55e0dacbecb3f532604461 |
| d05cbdd | https://github.com/datajoint/datajoint-python/pull/1407/commits/d05cbdd814b22b200f55e0dacbecb3f532604461 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| fix: use self.nodes() in Diagram.__init__ to populate nodes_to_show | https://github.com/datajoint/datajoint-python/pull/1407/commits/f1c072525bb39b73214ef291511e0a9290cdc500 |
| f1c0725 | https://github.com/datajoint/datajoint-python/pull/1407/commits/f1c072525bb39b73214ef291511e0a9290cdc500 |
|
| https://github.com/dimitri-yatsenko |
| Merge remote-tracking branch 'origin/master' into design/restricted-d… | https://github.com/datajoint/datajoint-python/pull/1407/commits/685a641405205374710198cfbcb273b38c874db4 |
| 685a641 | https://github.com/datajoint/datajoint-python/pull/1407/commits/685a641405205374710198cfbcb273b38c874db4 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| fix: address review — quoting, error message, and initialization issues | https://github.com/datajoint/datajoint-python/pull/1407/commits/609daeba4593f65e51f7a328de33c8b6e29257a1 |
| 609daeb | https://github.com/datajoint/datajoint-python/pull/1407/commits/609daeba4593f65e51f7a328de33c8b6e29257a1 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| refactor: use adapter.split_full_table_name() instead of local helper | https://github.com/datajoint/datajoint-python/pull/1407/commits/3d5561e03b5eda0a909b3e98b5eda37191b2b69c |
| 3d5561e | https://github.com/datajoint/datajoint-python/pull/1407/commits/3d5561e03b5eda0a909b3e98b5eda37191b2b69c |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| refactor: use adapter.split_full_table_name() in FreeTable and add_parts | https://github.com/datajoint/datajoint-python/pull/1407/commits/df908b704212d9582956601da3be46a700acf589 |
| df908b7 | https://github.com/datajoint/datajoint-python/pull/1407/commits/df908b704212d9582956601da3be46a700acf589 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| refactor: use split_full_table_name() in create_index_ddl | https://github.com/datajoint/datajoint-python/pull/1407/commits/b87e6e8721671e4caa1943e543ba732ffa68258d |
| b87e6e8 | https://github.com/datajoint/datajoint-python/pull/1407/commits/b87e6e8721671e4caa1943e543ba732ffa68258d |
|
| https://github.com/dimitri-yatsenko |
| Merge remote-tracking branch 'origin/master' into design/restricted-d… | https://github.com/datajoint/datajoint-python/pull/1407/commits/070e0292a4a98a9b5d8a514301de1432b0a57e5c |
| 070e029 | https://github.com/datajoint/datajoint-python/pull/1407/commits/070e0292a4a98a9b5d8a514301de1432b0a57e5c |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| refactor: remove dry_run from delete() and drop() | https://github.com/datajoint/datajoint-python/pull/1407/commits/3d239f1e5cd28dbbacc1b9a5661f33cd9ccea404 |
| 3d239f1 | https://github.com/datajoint/datajoint-python/pull/1407/commits/3d239f1e5cd28dbbacc1b9a5661f33cd9ccea404 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| refactor: make Diagram.cascade() a classmethod factory | https://github.com/datajoint/datajoint-python/pull/1407/commits/923e01f9fed372a39aab49e39a89631011125f0e |
| 923e01f | https://github.com/datajoint/datajoint-python/pull/1407/commits/923e01f9fed372a39aab49e39a89631011125f0e |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| fix: clean up after cascade classmethod refactor | https://github.com/datajoint/datajoint-python/pull/1407/commits/384f026ba39c55b8468b723708c737627c2ff011 |
| 384f026 | https://github.com/datajoint/datajoint-python/pull/1407/commits/384f026ba39c55b8468b723708c737627c2ff011 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| fix: restrict prune() to non-cascade Diagrams | https://github.com/datajoint/datajoint-python/pull/1407/commits/00bdc82d049e5375c1e846e646fa815f7cb0c5b2 |
| 00bdc82 | https://github.com/datajoint/datajoint-python/pull/1407/commits/00bdc82d049e5375c1e846e646fa815f7cb0c5b2 |
| https://github.com/mweitzel |
| mweitzel | https://github.com/mweitzel |
|
Mar 31, 2026
| https://github.com/datajoint/datajoint-python/pull/1407#pullrequestreview-4038604121 |
|
View reviewed changes
| https://github.com/datajoint/datajoint-python/pull/1407/files/3d239f1e5cd28dbbacc1b9a5661f33cd9ccea404 |
| mweitzel | https://github.com/mweitzel |
| https://github.com/datajoint/datajoint-python/pull/1407#pullrequestreview-4038604121 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
| src/datajoint/table.py | https://github.com/datajoint/datajoint-python/pull/1407/files/070e0292a4a98a9b5d8a514301de1432b0a57e5c#diff-764b07b7bf33a715456571c493118421110741f6c7ea33dcbb5fe2248e8d23d6 |
| mweitzel | https://github.com/mweitzel |
| Mar 31, 2026 | https://github.com/datajoint/datajoint-python/pull/1407#discussion_r3016995055 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| Mar 31, 2026 | https://github.com/datajoint/datajoint-python/pull/1407#discussion_r3017280643 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
| src/datajoint/diagram.py | https://github.com/datajoint/datajoint-python/pull/1407/files/3d239f1e5cd28dbbacc1b9a5661f33cd9ccea404#diff-a0c7ded134a462c7d59a43e6c7672eb3206f84216d91f28690d7261703421f6a |
| mweitzel | https://github.com/mweitzel |
| Mar 31, 2026 | https://github.com/datajoint/datajoint-python/pull/1407#discussion_r3017002898 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| Mar 31, 2026 | https://github.com/datajoint/datajoint-python/pull/1407#discussion_r3017281400 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
| src/datajoint/table.py | https://github.com/datajoint/datajoint-python/pull/1407/files/3d239f1e5cd28dbbacc1b9a5661f33cd9ccea404#diff-764b07b7bf33a715456571c493118421110741f6c7ea33dcbb5fe2248e8d23d6 |
| mweitzel | https://github.com/mweitzel |
| Mar 31, 2026 | https://github.com/datajoint/datajoint-python/pull/1407#discussion_r3017008052 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| Mar 31, 2026 | https://github.com/datajoint/datajoint-python/pull/1407#discussion_r3017282070 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
| src/datajoint/table.py | https://github.com/datajoint/datajoint-python/pull/1407/files/3d239f1e5cd28dbbacc1b9a5661f33cd9ccea404#diff-764b07b7bf33a715456571c493118421110741f6c7ea33dcbb5fe2248e8d23d6 |
| mweitzel | https://github.com/mweitzel |
| Mar 31, 2026 | https://github.com/datajoint/datajoint-python/pull/1407#discussion_r3017008235 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| Mar 31, 2026 | https://github.com/datajoint/datajoint-python/pull/1407#discussion_r3017282689 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
| src/datajoint/diagram.py | https://github.com/datajoint/datajoint-python/pull/1407/files/3d239f1e5cd28dbbacc1b9a5661f33cd9ccea404#diff-a0c7ded134a462c7d59a43e6c7672eb3206f84216d91f28690d7261703421f6a |
| mweitzel | https://github.com/mweitzel |
| Mar 31, 2026 | https://github.com/datajoint/datajoint-python/pull/1407#discussion_r3017057981 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| Mar 31, 2026 | https://github.com/datajoint/datajoint-python/pull/1407#discussion_r3017283539 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| March 31, 2026 12:19 | https://github.com/datajoint/datajoint-python/pull/1407#commits-pushed-ee344d9 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| feat: discover and load downstream schemas for cascade and drop | https://github.com/datajoint/datajoint-python/pull/1407/commits/ee344d9f8a49aba85e044853e3b7e0ffb1893dfc |
| ee344d9 | https://github.com/datajoint/datajoint-python/pull/1407/commits/ee344d9f8a49aba85e044853e3b7e0ffb1893dfc |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| fix: address | https://github.com/datajoint/datajoint-python/pull/1407/commits/aabc88d7cb6881434c46b77c0bb2b74c739e6b45 |
| @mweitzel | https://github.com/mweitzel |
| review comments | https://github.com/datajoint/datajoint-python/pull/1407/commits/aabc88d7cb6881434c46b77c0bb2b74c739e6b45 |
| aabc88d | https://github.com/datajoint/datajoint-python/pull/1407/commits/aabc88d7cb6881434c46b77c0bb2b74c739e6b45 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| fix: remove dead _part_integrity attribute, add iteration comment | https://github.com/datajoint/datajoint-python/pull/1407/commits/f5888627f218686febda1df159526092df077de8 |
| f588862 | https://github.com/datajoint/datajoint-python/pull/1407/commits/f5888627f218686febda1df159526092df077de8 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| fix: remove unnecessary iteration limit in load_all_downstream | https://github.com/datajoint/datajoint-python/pull/1407/commits/f0ac25822eab0e0c6ff0741a5e62c45a37cc3457 |
| f0ac258 | https://github.com/datajoint/datajoint-python/pull/1407/commits/f0ac25822eab0e0c6ff0741a5e62c45a37cc3457 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| docs: document load_all_downstream() for cross-schema diagrams | https://github.com/datajoint/datajoint-python/pull/1407/commits/f77b21a425118837286873059281aeb0608ee71e |
| f77b21a | https://github.com/datajoint/datajoint-python/pull/1407/commits/f77b21a425118837286873059281aeb0608ee71e |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/claude |
| refactor: remove dead Diagram.topo_sort() wrapper | https://github.com/datajoint/datajoint-python/pull/1407/commits/e3b11b27316d12b951d101c7c49951e79a501b8b |
| e3b11b2 | https://github.com/datajoint/datajoint-python/pull/1407/commits/e3b11b27316d12b951d101c7c49951e79a501b8b |
| https://github.com/mweitzel |
| mweitzel | https://github.com/mweitzel |
|
Mar 31, 2026
| https://github.com/datajoint/datajoint-python/pull/1407#pullrequestreview-4039818792 |
|
View reviewed changes
| https://github.com/datajoint/datajoint-python/pull/1407/files/e3b11b27316d12b951d101c7c49951e79a501b8b |
| mweitzel | https://github.com/mweitzel |
| https://github.com/datajoint/datajoint-python/pull/1407#pullrequestreview-4039818792 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
| https://github.com/dimitri-yatsenko |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| 865bd29 | https://github.com/datajoint/datajoint-python/commit/865bd29f24f7d929353f01303d57cc87462b8e38 |
| Mar 31, 2026 | https://github.com/datajoint/datajoint-python/pull/1407#event-24088141496 |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
| https://github.com/dimitri-yatsenko |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
| March 31, 2026 20:20 | https://github.com/datajoint/datajoint-python/pull/1407#event-24088142333 |
| https://github.com/dimitri-yatsenko |
| dimitri-yatsenko | https://github.com/dimitri-yatsenko |
|
Apr 4, 2026
| https://github.com/datajoint/datajoint-python/pull/1407#ref-issue-4202807187 |
|
Implement Diagram.trace() for upstream restriction propagation
#1423
| https://github.com/datajoint/datajoint-python/issues/1423 |
| https://github.co/hiddenchars |
| https://github.com/datajoint/datajoint-python/pull/{{ revealButtonHref }} |
| Sign up for free | https://github.com/join?source=comment-repo |
| Sign in to comment | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdatajoint%2Fdatajoint-python%2Fpull%2F1407 |
|
| https://github.com/mweitzel |
|
mweitzel
| https://github.com/mweitzel |
|
| https://github.com/datajoint/datajoint-python/pull/1407/files/e3b11b27316d12b951d101c7c49951e79a501b8b |
|
| https://github.com/ttngu207 |
|
ttngu207
| https://github.com/ttngu207 |
| Please reload this page | https://github.com/datajoint/datajoint-python/pull/1407 |
|
| https://github.com/dimitri-yatsenko |
|
| https://github.com/mweitzel |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |