mirror of
https://github.com/Unidata/netcdf-c.git
synced 2025-03-31 17:50:26 +08:00
Make fillmismatch the default for DAP2 and DAP4
re: https://github.com/Unidata/netcdf-c/issues/1614 NetCDF has a requirement that the type of a _FillValue attribute be the same as the containing variable. However, it is clear that too many servers do not honor this requirement. So, change the default for DAP2 and DAP4 to allow fill mismatch.
This commit is contained in:
parent
08da6403c1
commit
5e5ff8ece9
@ -7,6 +7,7 @@ This file contains a high-level description of this package's evolution. Release
|
||||
|
||||
## 4.8.0 - TBD
|
||||
|
||||
* [Bug Fixes] Make fillmismatch the default for DAP2 and DAP4; too many servers ignore this requirement.
|
||||
* [Bug Fixes] Fix some memory leaks in NCZarr, fix a bug with long strides in NCZarr. See [Github #1913](https://github.com/Unidata/netcdf-c/pull/1913) for more information.
|
||||
* [Enhancement] Add some optimizations to NCZarr, dosome cleanup of code cruft, add some NCZarr test cases, add a performance test to NCZarr. See [Github #1908](https://github.com/Unidata/netcdf-c/pull/1908) for more information.
|
||||
* [Bug Fix] Implement a better chunk cache system for NCZarr. The cache now uses extendible hashing plus a linked list for provide a combination of expandibility, fast access, and LRU behavior. See [Github #1887](https://github.com/Unidata/netcdf-c/pull/1887) for more information.
|
||||
|
@ -43,7 +43,7 @@ typedef unsigned int NCFLAGS;
|
||||
#define NCF_COLUMBIA (0x80000000) /* Hack for columbia server */
|
||||
|
||||
/* Define all the default on flags */
|
||||
#define DFALT_ON_FLAGS (NCF_CACHE|NCF_PREFETCH)
|
||||
#define DFALT_ON_FLAGS (NCF_CACHE|NCF_PREFETCH|NCF_FILLMISMATCH)
|
||||
|
||||
typedef struct NCCONTROLS {
|
||||
NCFLAGS flags;
|
||||
|
@ -824,13 +824,13 @@ fprintf(stderr,"\n");
|
||||
if(val) free(val);
|
||||
nclistpush(unsignedatt->values,strdup("false"));
|
||||
} else if(att->etype != var->etype) {/* other mismatches */
|
||||
/* Log a message */
|
||||
nclog(NCLOGWARN,"_FillValue/Variable type mismatch: variable=%s",var->ncbasename);
|
||||
/* See if mismatch is allowed */
|
||||
if(FLAGSET(dapcomm->controls,NCF_FILLMISMATCH)) {
|
||||
/* Forcibly change the attribute type to match */
|
||||
att->etype = var->etype;
|
||||
} else {
|
||||
/* Log a message */
|
||||
nclog(NCLOGWARN,"_FillValue/Variable type mismatch: variable=%s",var->ncbasename);
|
||||
ncstat = NC_EBADTYPE; /* fail */
|
||||
goto done;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user