Skip to content

Tags: datajoint/datajoint-python

Tags

v2.2.4

Toggle v2.2.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #1463 from datajoint/feat/export-storage-adapter

feat: export StorageAdapter and get_storage_adapter at top level

v2.2.3

Toggle v2.2.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #1459 from datajoint/chore/remove-vscode-devcontainer

chore: remove .vscode and .devcontainer

v2.2.2

Toggle v2.2.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix(#1442): scan_*_references reads raw JSON metadata, not decoded co…

…dec output

scan_hash_references and scan_schema_references called table.to_arrays(attr_name),
which routes through decode_attribute and returns the codec's decoded payload
(numpy.ndarray, NpyRef, ObjectRef, bytes, or local path str). None of those
satisfy _extract_*_refs's `isinstance(value, dict) and "path" in value` check,
so both helpers silently returned empty reference sets and gc.collect() would
have classified live data as orphaned.

Replace with table.proj(attr_name).cursor(as_dict=True). The cursor yields
the raw JSON column value: a dict on PostgreSQL/JSONB or a JSON string on
MySQL — both already handled by _extract_*_refs (gc.py:138 string branch,
gc.py:145 dict branch). Backend-agnostic, custom-codec-safe, and turns scan
into a metadata-only operation (no more downloading every external blob to
discard the deserialized result).

Also registers gc in _lazy_modules (src/datajoint/__init__.py) so
dj.gc.scan(...) works as documented in the gc module docstring and in
how-to/garbage-collection.md, matching the existing diagram entry pattern.

Test scaffolding adds TestScanWithLiveData with three non-mocked e2e tests
covering structurally distinct decoded-value types (<blob@> → ndarray,
<npy@> → NpyRef, <object@> → ObjectRef). The same tests fail on the buggy
version, proving the regression. The 26 existing mocked tests stay intact
for orchestration coverage.

GC remains non-transaction-safe (TOCTOU window between scan and delete);
a two-phase quarantine→grace→purge API is the right remedy and will be
tracked as a separate enhancement.

v2.2.1

Toggle v2.2.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #1426 from kushalbakshi/master

feat: add database.dbname setting for PostgreSQL connections

v2.2.0

Toggle v2.2.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #1407 from datajoint/design/restricted-diagram

Implement graph-driven cascade delete and restrict on Diagram

v2.1.1

Toggle v2.1.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #1399 from datajoint/fix/job-reserve-race-1398

fix: Atomic job reservation to prevent race condition

v0.14.9

Toggle v0.14.9's commit message

Verified

This commit was signed with the committer’s verified signature.
dimitri-yatsenko Dimitri Yatsenko
Revert "Update version.py to 0.14.9"

This reverts commit ac3c624.

v2.1.0

Toggle v2.1.0's commit message

Verified

This commit was signed with the committer’s verified signature.
dimitri-yatsenko Dimitri Yatsenko
revert: Reset version to 2.0.1 for proper release workflow

v2.0.2

Toggle v2.0.2's commit message
DataJoint 2.0.2

Bug fixes:

- fix: Support 'KEY' in fetch() for backward compatibility (#1384, #1381)
- fix: Handle inhomogeneous array shapes in to_arrays() (#1382, #1380)
- fix: Disable semantic_check for job table subtraction in refresh() (#1383, #1379)
- fix: Handle missing SSL context in multiprocess populate (#1377)

v0.14.8

Toggle v0.14.8's commit message
DataJoint 0.14.8

Bug fixes:

- fix: Add config option to skip filepath checksum on insert (#1387, #1386)
  - New `filepath_checksum_size_limit_insert` config option
  - Prevents transaction timeouts when inserting large files with filepath attributes