Bugfix: ADIOS_VARCHUNKs returned by Transform layer should now have their from_steps/nsteps fields set properly
Renamed the selection intersection and data patching functions to 'global' variants, restricted them to all-global selection pairs, and added complementary 'local' variants that work on writeblocks and take additional context parameters. This rename did not extend into adios_transforms_read.c, since it is being heavily refactored.
Heavily refactored adios_transforms_read.c and related files to support writeblock selections as user selections AND as return datablock returns from transform plugins
Updated all transform plugins to return datablocks with writeblock selections where possible, instead of always bounding boxes, since this increases compatibility with the condition at adios_transforms_read.c:584
Bugfix: completed transformed-data read requests and VARCHUNK data buffers of returned de-transformed data are now properly freed cleaned up at the correct time during chunked reads. Previously, completed read reqests were freed immediately upon completion, invalidating the last varchunk returned to the user. Also, previous varchunk data buffers lent to the user were only freed upon a new varchunk arriving, leaving the last varchunk unfreed even if the first bug were fixed. Now, cleanup is done immediatly after any check_reads, including the final call that returns 0.
Added comments and removed extra newlines in some places
Now properly handling the data buffer from returned VARCHUNKs. Previously, we were keeping the actual ADIOS_VARCHUNK returned to the user, and freeing its buffer later. However, this is erroneous, as the user may (and is expected to) free the ADIOS_VARCHUNK. Instead, we now simply keep a pointer to the buffer itself.
Adding a test case for writeblock reads over transformed data
fixup! Adding a test case for writeblock reads over transformed data
fixup! Adding a test case for writeblock reads over transformed data
fixup! Adding a test case for writeblock reads over transformed data
fixup! Adding a test case for writeblock reads over transformed data
Bugfix: fixed transform plugins' use of per-PG metadata. Some metadata writers were using non-standard void* + offset, and most readers were using the transform metadata of the first PG in all cases, rather than the transform metadata for the current PG (this information was only recently made available to plugins)
another bug
added one more inq_varinfo check
made sure query_free() can be processed even no get_sel was called
Bugfix: fixed off-by-one error in bpdump when interpreting command line flags
fixup! Bugfix: fixed off-by-one error in bpdump when interpreting command line flags
Added auto-detection of transform plugins to 20_transforms_writeblock
fixup! Added auto-detection of transform plugins to 20_transforms_writeblock