netcdf-c/nc_test4
Dennis Heimbigner aeb3ac2809 Mostly revert the filter code to reduce its complexity of use.
re: https://github.com/Unidata/netcdf-c/issues/1836

Revert the internal filter code to simplify it. From the user's
point of view, the only visible changes should be:

1. The functions that convert text to filter specs have had their signature reverted and have been moved to netcdf_aux.h
2. Some filter API functions now return NC_ENOFILTER when inquiry is made about some filter.

Internally,the dispatch table has been modified to get rid of the filter_actions
entry and associated complex structures. It has been replaced with
inq_var_filter_ids and inq_var_filter_info entries and the dispatch table
version has been bumped to 3. Corresponding NOOP and NOTNC4 functions
were added to libdispatch/dnotnc4.c. Also, the filter_action entries
in dispatch tables were replaced for all dispatch code bases (HDF5, DAP2,
etc). This should only impact UDF users.

In the process, it became clear that the form of the filters
field in NC_VAR_INFO_T was format dependent, so I converted it to
be of type void* and pushed its management into the various dispatch
code bases. Specifically libhdf5 and libnczarr now manage the filters
field in their own way.

The auxilliary functions for parsing textual filter specifications
were moved to netcdf_aux.h and were renamed to the following:
* ncaux_h5filterspec_parse
* ncaux_h5filterspec_parselist
* ncaux_h5filterspec_free
* ncaux_h5filter_fix8

Misc. Other Changes:

1. Document NUG/filters.md updated to reflect the changes above.
2. All the old data types (structs and enums)
   used by filter_actions actions were deleted.
   The exception is the NC_H5_Filterspec because it is needed
   by ncaux_h5filterspec_parselist.
3. Clientside filters were removed -- another enhancement
   for which no-one ever asked.
4. The ability to remove filters was itself removed.
5. Some functionality needed by nczarr was moved from libhdf5
   to libsrc4 e.g. nc4_find_default_chunksizes
6. All the filterx code was removed
7. ncfilter.h and nc4filter.c no longer used

Misc. Unrelated Changes:

1. The nczarr_test makefile clean was leaving some directories; so
   add clean-local to take care of them.
2020-09-27 12:43:46 -06:00
..
bm_chunking.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
bm_radar.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
bzip2.cdl 1. Keep up to date by merging master 2018-01-16 11:00:09 -07:00
cdm_sea_soundings.c Spelling fixes 2019-09-18 08:03:01 -06:00
clear_cache.sh Swapped /bin/bash for /bin/sh to test on osx. 2018-08-12 23:01:08 -06:00
CMakeLists.txt Fix error where not converting fill data 2020-09-12 14:49:59 -06:00
findplugin.in Revert "Revert "Fix nczarr-experimental: improve build support, disengage hdf5 vs netcdf4 flags, and find AWS libraries"" 2020-08-17 19:15:47 -06:00
h5testszip.c took config include out of h5testszip 2019-01-02 06:46:56 -07:00
Makefile.am Mostly revert the filter code to reduce its complexity of use. 2020-09-27 12:43:46 -06:00
ref_bzip2.c This PR adds EXPERIMENTAL support for accessing data in the 2020-06-28 18:02:47 -06:00
ref_fillonly.cdl Fix error where not converting fill data 2020-09-12 14:49:59 -06:00
ref_filter_order.txt Allow redefinition of variable filters 2020-05-11 09:42:31 -06:00
ref_filter_repeat.txt Allow redefinition of variable filters 2020-05-11 09:42:31 -06:00
ref_filtered.cdl Renamed the baseline files for tst_filter.sh 2019-02-09 15:14:13 -07:00
ref_filteredvv.cdl Fix nc_test4/tst_filter.sh for big endian 2019-02-24 22:20:01 -07:00
ref_hdf5_compat1.nc Found pre-existing call to H5Pset_libver_bounds, modified it so that the generated files would be created without the 1.10 specific things. 2016-04-08 21:36:08 +00:00
ref_hdf5_compat2.nc Found pre-existing call to H5Pset_libver_bounds, modified it so that the generated files would be created without the 1.10 specific things. 2016-04-08 21:36:08 +00:00
ref_hdf5_compat3.nc Found pre-existing call to H5Pset_libver_bounds, modified it so that the generated files would be created without the 1.10 specific things. 2016-04-08 21:36:08 +00:00
ref_multi.cdl Add support for multiple filters per variable. 2020-02-16 12:59:33 -07:00
ref_nccopyF.cdl Add support for multiple filters per variable. 2020-02-16 12:59:33 -07:00
ref_ncgenF.cdl Add support for multiple filters per variable. 2020-02-16 12:59:33 -07:00
ref_szip.cdl add known szip file against which to test 2017-09-04 18:37:13 -06:00
ref_szip.h5 add known szip file against which to test 2017-09-04 18:37:13 -06:00
ref_tst_compounds.nc minor refactor of the build system to work better for cross-compiling 2011-03-15 10:19:08 +00:00
ref_tst_dims.nc minor refactor of the build system to work better for cross-compiling 2011-03-15 10:19:08 +00:00
ref_tst_interops4.nc minor refactor of the build system to work better for cross-compiling 2011-03-15 10:19:08 +00:00
ref_tst_xplatform2_1.nc minor refactor of the build system to work better for cross-compiling 2011-03-15 10:19:08 +00:00
ref_tst_xplatform2_2.nc minor refactor of the build system to work better for cross-compiling 2011-03-15 10:19:08 +00:00
ref_unfiltered.cdl Renamed the baseline files for tst_filter.sh 2019-02-09 15:14:13 -07:00
ref_unfilteredvv.cdl Renamed the baseline files for tst_filter.sh 2019-02-09 15:14:13 -07:00
renamegroup.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
run_empty_vlen_test.sh Fix pull request https://github.com/Unidata/netcdf-c/pull/374 (dap4.dmh) 2017-04-03 21:39:44 -06:00
run_grp_rename.sh Provide byte-range reading of remote datasets 2019-01-01 18:27:36 -07:00
run_par_test.sh.in fixed warnings in tst_create_files.c 2020-06-30 10:40:05 -06:00
t_type.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tdset.h5 re: https://github.com/Unidata/netcdf-c/issues/269 2016-05-24 19:37:21 -06:00
test_fillonly.sh Fix error where not converting fill data 2020-09-12 14:49:59 -06:00
test_filter_misc.c Mostly revert the filter code to reduce its complexity of use. 2020-09-27 12:43:46 -06:00
test_filter_order.c Mostly revert the filter code to reduce its complexity of use. 2020-09-27 12:43:46 -06:00
test_filter_reg.c This PR adds EXPERIMENTAL support for accessing data in the 2020-06-28 18:02:47 -06:00
test_filter_repeat.c Mostly revert the filter code to reduce its complexity of use. 2020-09-27 12:43:46 -06:00
test_filter.c 1. Keep up to date by merging master 2018-01-16 11:00:09 -07:00
test_szip.c Add support for multiple filters per variable. 2020-02-16 12:59:33 -07:00
test_wrapper.in 1. Keep up to date by merging master 2018-01-16 11:00:09 -07:00
tst_atts1.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_atts2.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_atts3.c merge master and fix conflicts 2018-12-12 11:47:54 -07:00
tst_atts_string_rewrite.c more config.h includes for tests 2019-01-02 05:37:54 -07:00
tst_atts.c Add regression tests modifying attributes 2^16 times 2019-11-13 10:08:31 -09:00
tst_bug324.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_bug1442.c tst_bug1442: improve test to retrieve a mix of valid values and values at fillvalue 2019-07-18 03:05:20 +02:00
tst_camrun.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_chunks2.c Spelling fixes 2019-09-18 08:03:01 -06:00
tst_chunks.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_compounds2.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_compounds3.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_compounds.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_converts2.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_converts.c Revert "Revert "Fix nczarr-experimental: improve build support, disengage hdf5 vs netcdf4 flags, and find AWS libraries"" 2020-08-17 19:15:47 -06:00
tst_coords2.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_coords3.c now using hidden coordinates att to speed file opens 2018-12-20 05:59:31 -07:00
tst_coords.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_dims2.c Fix undefined references when using Visual Studio 2020-05-18 19:36:28 -06:00
tst_dims3.c more tests 2019-12-01 15:05:43 -07:00
tst_dims.c Spelling fixes 2019-09-18 08:03:01 -06:00
tst_elatefill.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_empty_vlen_unlim.c Separate out the --ansi comment fixes. 2018-12-12 13:23:09 -07:00
tst_endian_fill.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_enums.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_files4.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_files5.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_files6.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_files.c now dont return error on second redef call for netcdf/HDF5 files 2020-07-08 11:10:15 -06:00
tst_fill_attr_vanish.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_fillbug.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_fillonly.c Mostly revert the filter code to reduce its complexity of use. 2020-09-27 12:43:46 -06:00
tst_fills2.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_fills.c Fix undefined references when using Visual Studio 2020-05-18 19:36:28 -06:00
tst_filter_order.sh This PR adds EXPERIMENTAL support for accessing data in the 2020-06-28 18:02:47 -06:00
tst_filter.sh Mostly revert the filter code to reduce its complexity of use. 2020-09-27 12:43:46 -06:00
tst_filterparser.c Mostly revert the filter code to reduce its complexity of use. 2020-09-27 12:43:46 -06:00
tst_grps2.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_grps.c lazy read of some var metadata 2018-12-18 07:48:22 -07:00
tst_h5_endians.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_h_converts.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_h_refs.c lazy read of some var metadata 2018-12-18 07:48:22 -07:00
tst_h_scalar.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_h_strbug.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_h_strings3.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_h_vl2.c Updated H5Oget_info* and H5Oinfo_t to be compatible with HDF5 1.12.0. 2020-02-20 17:24:29 -06:00
tst_hdf5_file_compat.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_interops4.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_interops5.c changed test filename to one that will be cleaned 2019-12-01 08:47:46 -07:00
tst_interops6.c cleaned up test handling of strings 2019-11-14 09:39:10 -07:00
tst_interops_dims.c another test for two anon dimensions of same size used in same HDF5 var 2019-11-14 07:23:09 -07:00
tst_interops.c cleaned up makefile.am, added config.h to some tests 2019-01-02 05:31:15 -07:00
tst_large2.c fixed warnings in tst_large2.c 2019-05-21 15:24:56 -06:00
tst_large3.c Spelling fixes 2019-09-18 08:03:01 -06:00
tst_large5.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_large.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_misc.sh Primary change: add dap4 support 2017-03-08 17:01:10 -07:00
tst_mode.c fixed tst_mode to not attempt to set filters on scalars 2020-03-03 07:44:37 -07:00
tst_mpi_parallel.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_multifilter.c Mostly revert the filter code to reduce its complexity of use. 2020-09-27 12:43:46 -06:00
tst_nc4perf.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_nc_converts.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_opaques.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_parallel3.c remove some debug statements 2019-02-01 14:39:30 -07:00
tst_parallel4.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_parallel5.c fixed warning in tst_parallel5.c 2020-07-08 12:24:48 -06:00
tst_parallel_compress.c fixed problem setting szip on var with unlimited dim and added test 2020-07-02 10:55:34 -06:00
tst_parallel_zlib.c start using par filters in HDF5-1.10.3 2020-01-17 14:01:07 -07:00
tst_parallel.c more work on tst_parallel5.c 2019-08-14 08:50:09 -06:00
tst_put_vars_two_unlim_dim.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_put_vars.c more config.h includes for tests 2019-01-02 05:37:54 -07:00
tst_rehash.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_rename2.c fixed warnings in tst_rename2 2019-05-21 15:16:35 -06:00
tst_rename3.c Spelling fixes 2019-09-18 08:03:01 -06:00
tst_rename.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_simplerw_coll_r.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_strings2.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_strings.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_sync.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_szip.sh add known szip file against which to test 2017-09-04 18:37:13 -06:00
tst_types.c merge master and fix conflicts 2018-12-12 11:47:54 -07:00
tst_udf.c Mostly revert the filter code to reduce its complexity of use. 2020-09-27 12:43:46 -06:00
tst_unlim_vars.c more checking in 3D test 2020-02-12 08:21:52 -07:00
tst_utf8.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_v2.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_varms.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_vars2.c Mostly revert the filter code to reduce its complexity of use. 2020-09-27 12:43:46 -06:00
tst_vars3.c Mostly revert the filter code to reduce its complexity of use. 2020-09-27 12:43:46 -06:00
tst_vars4.c Fix conflicts with master 2020-02-27 14:06:45 -07:00
tst_vars.c added demonstration of nc_def_var_deflate() issue 2020-05-07 07:08:52 -06:00
tst_varsperf.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_vl.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00
tst_xplatform2.c Updated H5Oget_info* and H5Oinfo_t to be compatible with HDF5 1.12.0. 2020-02-20 17:24:29 -06:00
tst_xplatform.c Whew! Updated copyright stanza in nc_test4. 2018-12-06 15:27:32 -07:00