Merge pull request #1468 from NetCDF-World-Domination-Council/ejh_remove_pe_funcs

Remove obsolete and deprecated base_pe functions from the dispatch table
This commit is contained in:
Ward Fisher 2019-08-15 15:04:45 -06:00 committed by GitHub
commit f9e7037b44
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 33 additions and 226 deletions

View File

@ -7,6 +7,12 @@ This file contains a high-level description of this package's evolution. Release
## 4.7.1 - TBD
* [Enhancement] Remove obsolete and deprecated functions
nc_set_base_pe() and nc_inq_base_pe() from the dispatch table. (Both
functions are still supported in the library, this is an internal
change only.)
See [GitHub #1436](https://github.com/Unidata/netcdf-c/issues/1468)
* [Bug Fix] Reverted nccopy behavior so that if no -c parameters
are given, then any default chunking is left to the netcdf-c library
to decide.

View File

@ -128,8 +128,8 @@ main(int argc, char **argv)
if (nc_inq(ncid + TEST_VAL_42, NULL, NULL, NULL, NULL) != NC_EBADID) ERR;
/* These only work for netCDF-3 files. */
if (nc_set_base_pe(ncid, 0) != NC_ENOTNC3) ERR;
if (nc_inq_base_pe(ncid, NULL) != NC_ENOTNC3) ERR;
if (nc_set_base_pe(ncid, 0)) ERR;
if (nc_inq_base_pe(ncid, NULL)) ERR;
/* Attempt to write. */
if (nc_rename_att(ncid, NC_GLOBAL, ATT_NAME, NAME_DUMB) != NC_EPERM) ERR;

View File

@ -49,17 +49,6 @@ check_inq_format(int ncid, int expected_format, int expected_extended_format, in
if (mode != expected_mode) ERR;
if (extended_format != expected_extended_format) ERR;
/* Nothing to do with inq_format, but let's check the base_pe
* functions. */
if (expected_format == NC_FORMAT_CLASSIC || expected_format == NC_FORMAT_64BIT_OFFSET ||
expected_format == NC_FORMAT_CDF5) {
if (nc_set_base_pe(ncid, 0)) ERR;
if (nc_inq_base_pe(ncid, NULL)) ERR;
} else {
if (nc_set_base_pe(ncid, 0) != NC_ENOTNC3) ERR;
if (nc_inq_base_pe(ncid, NULL) != NC_ENOTNC3) ERR;
}
return 0;
}

View File

@ -83,12 +83,6 @@ extern "C" {
extern int
NC3_set_fill(int ncid, int fillmode, int *old_modep);
extern int
NC3_set_base_pe(int ncid, int pe);
extern int
NC3_inq_base_pe(int ncid, int *pe);
extern int
NC3_inq_format(int ncid, int *formatp);

View File

@ -49,12 +49,6 @@ extern "C" {
EXTERNL int
NC4_set_fill(int ncid, int fillmode, int *old_modep);
EXTERNL int
NC4_set_base_pe(int ncid, int pe);
EXTERNL int
NC4_inq_base_pe(int ncid, int *pe);
EXTERNL int
NC4_inq_format(int ncid, int *formatp);

View File

@ -35,8 +35,6 @@ struct NC_Dispatch
int (*abort)(int);
int (*close)(int, void *);
int (*set_fill)(int, int, int *);
int (*inq_base_pe)(int, int *);
int (*set_base_pe)(int, int);
int (*inq_format)(int, int*);
int (*inq_format_extended)(int, int *, int *);
@ -163,8 +161,6 @@ EXTERNL int NC_RO_set_fill(int ncid, int fillmode, int *old_modep);
/* These functions are for dispatch layers that don't implement these
* legacy functions. They return NC_ENOTNC3. */
EXTERNL int NC_NOTNC3_set_base_pe(int ncid, int pe);
EXTERNL int NC_NOTNC3_inq_base_pe(int ncid, int *pe);
EXTERNL int NC_NOTNC3_put_varm(int ncid, int varid, const size_t * start,
const size_t *edges, const ptrdiff_t *stride,
const ptrdiff_t *imapp, const void *value0,

View File

@ -101,8 +101,6 @@ NCD2_sync,
NCD2_abort,
NCD2_close,
NCD2_set_fill,
NCD2_inq_base_pe,
NCD2_set_base_pe,
NCD2_inq_format,
NCD2_inq_format_extended, /*inq_format_extended*/
@ -2257,12 +2255,6 @@ NCD2_set_fill(int ncid, int fillmode, int* old_modep)
return THROW(NC_EPERM);
}
int
NCD2_set_base_pe(int ncid, int pe)
{
return THROW(NC_EPERM);
}
int
NCD2_def_dim(int ncid, const char* name, size_t len, int* idp)
{
@ -2287,16 +2279,6 @@ NCD2_def_var(int ncid, const char *name,
Following functions basically return the netcdf-3 value WRT to the nc3id.
*/
int
NCD2_inq_base_pe(int ncid, int* pe)
{
NC* drno;
int ret;
if((ret = NC_check_id(ncid, (NC**)&drno)) != NC_NOERR) return THROW(ret);
ret = nc_inq_base_pe(getnc3id(drno), pe);
return THROW(ret);
}
int
NCD2_inq_format(int ncid, int* formatp)
{

View File

@ -57,12 +57,6 @@ NCD2_inq_format_extended(int ncid, int* formatp, int* modep);
extern int
NCD2_set_fill(int ncid, int fillmode, int *old_modep);
extern int
NCD2_set_base_pe(int ncid, int pe);
extern int
NCD2_inq_base_pe(int ncid, int *pe);
extern int
NCD2_inq_format(int ncid, int *formatp);

View File

@ -117,12 +117,6 @@ NCD4_set_fill(int ncid, int fillmode, int* old_modep)
return (NC_EPERM);
}
static int
NCD4_set_base_pe(int ncid, int pe)
{
return (NC_EPERM);
}
static int
NCD4_def_dim(int ncid, const char* name, size_t len, int* idp)
{
@ -253,18 +247,6 @@ Following functions basically return the netcdf-4 value WRT to the nc4id.
However, it is necessary to modify the grpid(ncid) to point to the substrate.
*/
static int
NCD4_inq_base_pe(int ncid, int* pe)
{
NC* ncp;
int ret = NC_NOERR;
int substrateid;
if((ret = NC_check_id(ncid, (NC**)&ncp)) != NC_NOERR) return (ret);
substrateid = makenc4id(ncp,ncid);
ret = nc_inq_base_pe(substrateid, pe);
return (ret);
}
static int
NCD4_inq_format(int ncid, int* formatp)
{
@ -806,8 +788,6 @@ NCD4_sync,
NCD4_abort,
NCD4_close,
NCD4_set_fill,
NCD4_inq_base_pe,
NCD4_set_base_pe,
NCD4_inq_format,
NCD4_inq_format_extended, /*inq_format_extended*/

View File

@ -1454,8 +1454,8 @@ nc_set_fill(int ncid, int fillmode, int *old_modep)
* @internal Learn base PE.
*
* @deprecated This function was used in the old days with the Cray at
* NCAR. The Cray is long gone, and this call is supported only for
* backward compatibility.
* NCAR. The Cray is long gone, and this call is now meaningless. The
* value returned for pe is always 0.
*
* @param ncid File and group ID.
* @param pe Pointer for base PE.
@ -1470,7 +1470,8 @@ nc_inq_base_pe(int ncid, int *pe)
NC* ncp;
int stat = NC_check_id(ncid, &ncp);
if(stat != NC_NOERR) return stat;
return ncp->dispatch->inq_base_pe(ncid,pe);
if (pe) *pe = 0;
return NC_NOERR;
}
/**
@ -1493,26 +1494,25 @@ nc_set_base_pe(int ncid, int pe)
NC* ncp;
int stat = NC_check_id(ncid, &ncp);
if(stat != NC_NOERR) return stat;
return ncp->dispatch->set_base_pe(ncid,pe);
return NC_NOERR;
}
/** \ingroup datasets
Inquire about the binary format of a netCDF file
as presented by the API.
This function returns the (rarely needed) format version.
\param ncid NetCDF ID, from a previous call to nc_open() or
nc_create().
\param formatp Pointer to location for returned format version, one of
NC_FORMAT_CLASSIC, NC_FORMAT_64BIT_OFFSET, NC_FORMAT_CDF5, NC_FORMAT_NETCDF4,
NC_FORMAT_NETCDF4_CLASSIC.
\returns ::NC_NOERR No error.
\returns ::NC_EBADID Invalid ncid passed.
/**
* @ingroup datasets
* Inquire about the binary format of a netCDF file
* as presented by the API.
*
* This function returns the (rarely needed) format version.
*
* @param ncid NetCDF ID, from a previous call to nc_open() or
* nc_create().
* @param formatp Pointer to location for returned format version, one
* of NC_FORMAT_CLASSIC, NC_FORMAT_64BIT_OFFSET, NC_FORMAT_CDF5,
* NC_FORMAT_NETCDF4, NC_FORMAT_NETCDF4_CLASSIC.
*
* @returns ::NC_NOERR No error.
* @returns ::NC_EBADID Invalid ncid passed.
* @author Dennis Heimbigner
*/
int
nc_inq_format(int ncid, int *formatp)

View File

@ -1,7 +1,7 @@
/* Copyright 2018, UCAR/Unidata See netcdf/COPYRIGHT file for copying
* and redistribution conditions.*/
/**
* @file @internal This file handles the *_base_pe()
* @file @internal This file handles the *_varm()
* functions for dispatch layers that need to return ::NC_ENOTNC3.
*
* @author Ed Hartnett
@ -9,36 +9,6 @@
#include "nc4dispatch.h"
/**
* @internal This function only does anything for netcdf-3 files.
*
* @param ncid Ignored.
* @param pe Ignored.
*
* @return ::NC_ENOTNC3 Not a netCDF classic format file.
* @author Ed Hartnett
*/
int
NC_NOTNC3_set_base_pe(int ncid, int pe)
{
return NC_ENOTNC3;
}
/**
* @internal This function only does anything for netcdf-3 files.
*
* @param ncid Ignored.
* @param pe Ignored.
*
* @return ::NC_ENOTNC3 Not a netCDF classic format file.
* @author Ed Hartnett
*/
int
NC_NOTNC3_inq_base_pe(int ncid, int *pe)
{
return NC_ENOTNC3;
}
/**
* @internal This function only does anything for netcdf-3 files.
*

View File

@ -28,8 +28,6 @@ static const NC_Dispatch HDF4_dispatcher = {
NC_HDF4_abort,
NC_HDF4_close,
NC_RO_set_fill,
NC_NOTNC3_inq_base_pe,
NC_NOTNC3_set_base_pe,
NC_HDF4_inq_format,
NC_HDF4_inq_format_extended,

View File

@ -28,8 +28,6 @@ static const NC_Dispatch HDF5_dispatcher = {
NC4_abort,
NC4_close,
NC4_set_fill,
NC_NOTNC3_inq_base_pe,
NC_NOTNC3_set_base_pe,
NC4_inq_format,
NC4_inq_format_extended,

View File

@ -91,8 +91,6 @@ NC3_sync,
NC3_abort,
NC3_close,
NC3_set_fill,
NC3_inq_base_pe,
NC3_set_base_pe,
NC3_inq_format,
NC3_inq_format_extended,

View File

@ -1608,74 +1608,6 @@ void NC_increase_numrecs(NC *nc3, size_t nrecs)
#endif /* LOCKNUMREC */
/* everyone in communicator group will be executing this */
/*ARGSUSED*/
int
NC3_set_base_pe(int ncid, int pe)
{
#if _CRAYMPP && defined(LOCKNUMREC)
int status;
NC *nc;
NC3_INFO* nc3;
shmem_t numrecs;
if ((status = NC_check_id(ncid, &nc) != NC_NOERR) {
return status;
}
if (pe < 0 || pe >= _num_pes()) {
return NC_EINVAL; /* invalid base pe */
}
nc3 = NC3_DATA(nc);
numrecs = (shmem_t) NC_get_numrecs(nc3);
nc3->lock[LOCKNUMREC_VALUE] = (ushmem_t) numrecs;
/* update serving & lock values for a "smooth" transition */
/* note that the "real" server will being doing this as well */
/* as all the rest in the group */
/* must have synchronization before & after this step */
shmem_short_get(
(shmem_t *) nc3->lock + LOCKNUMREC_SERVING,
(shmem_t *) nc3->lock + LOCKNUMREC_SERVING,
1, nc3->lock[LOCKNUMREC_BASEPE]);
shmem_short_get(
(shmem_t *) nc3->lock + LOCKNUMREC_LOCK,
(shmem_t *) nc3->lock + LOCKNUMREC_LOCK,
1, nc3->lock[LOCKNUMREC_BASEPE]);
/* complete transition */
nc3->lock[LOCKNUMREC_BASEPE] = (ushmem_t) pe;
#endif /* _CRAYMPP && LOCKNUMREC */
return NC_NOERR;
}
/*ARGSUSED*/
int
NC3_inq_base_pe(int ncid, int *pe)
{
#if _CRAYMPP && defined(LOCKNUMREC)
int status;
NC *nc;
NC3_INFO* nc3;
if ((status = NC_check_id(ncid, &nc)) != NC_NOERR) {
return status;
}
*pe = (int) nc3->lock[LOCKNUMREC_BASEPE];
nc3 = NC3_DATA(nc);
#else
/*
* !_CRAYMPP, only pe 0 is valid
*/
if (pe) *pe = 0;
#endif /* _CRAYMPP && LOCKNUMREC */
return NC_NOERR;
}
/**
* Return the file format.
*

View File

@ -8,8 +8,7 @@
* This file is part of netcdf-4, a netCDF-like interface for HDF5, or a
* HDF5 backend for netCDF, depending on your point of view.
*
* This file handles the (useless) *_base_pe() functions, and the
* inq_format functions.
* This file handles the inq_format functions.
*
* @author Ed Hartnett, Dennis Heimbigner
*/

View File

@ -238,19 +238,6 @@ NCP_set_fill(int ncid, int fillmode, int *old_mode_ptr)
#endif
}
static int
NCP_inq_base_pe(int ncid, int *pep)
{
if (pep) *pep = 0;
return NC_NOERR;
}
static int
NCP_set_base_pe(int ncid, int pe)
{
return NC_NOERR;
}
static int
NCP_inq_format(int ncid, int *formatp)
{
@ -1399,8 +1386,6 @@ NCP_sync,
NCP_abort,
NCP_close,
NCP_set_fill,
NCP_inq_base_pe,
NCP_set_base_pe,
NCP_inq_format,
NCP_inq_format_extended,

View File

@ -87,14 +87,8 @@ check_inq_format(int ncid, int expected_format, int expected_extended_format, in
/* Nothing to do with inq_format, but let's check the base_pe
* functions. */
if (expected_format == NC_FORMAT_CLASSIC || expected_format == NC_FORMAT_64BIT_OFFSET ||
expected_format == NC_FORMAT_CDF5) {
if (nc_set_base_pe(ncid, 0)) ERR;
if (nc_inq_base_pe(ncid, NULL)) ERR;
} else {
if (nc_set_base_pe(ncid, 0) != NC_ENOTNC3) ERR;
if (nc_inq_base_pe(ncid, NULL) != NC_ENOTNC3) ERR;
}
if (nc_set_base_pe(ncid, 0)) ERR;
if (nc_inq_base_pe(ncid, NULL)) ERR;
return 0;
}

View File

@ -77,8 +77,6 @@ NC_RO_sync,
tst_abort,
tst_close,
NC_RO_set_fill,
NC_NOTNC3_inq_base_pe,
NC_NOTNC3_set_base_pe,
tst_inq_format,
tst_inq_format_extended,