Hi Ralph,
On Thursday 08 January 2009 07:56:53 Ralph Lange wrote:
RTYP is a pseudo field: When a read request for a "*.RTYP" PV comes in,
the CA client library strips the ".RTYP" and converts it to a
DBR_CLASS_NAME request.
Wrong, RTYP is one of two standard Record Attributes, pseudo-fields supported
by the database whose values are specific to the record type and can be set
(and new attributes created) using dbPutAttribute(). If the .RTYP handling
was an artifact of CA like you suggest I wouldn't be able to do this from the
ioc shell:
epics> dbgf mrk:stringinsyn.RTYP
DBR_STRING: "stringin"
Go read section 6.14 of the AppDevGuide. Attributes have been part of the IOC
since at least R3.13.0, just nobody uses them much...
The only other case of CA-EPICSdb dependency (that I know of) is adding
the ".VAL" extensionsto PVs without a field name. I don't know if this
is done by the client or the server right now - it should be done on the
server side for the same reasons.
Nothing explicitly adds .VAL to the PV name; when someone [currently RSRV, by
calling db_name_to_addr()] presents a PV name to dbNameToAddr() if the name
doesn't contain a field part it looks up the "VAL" field automatically. Thus
this is already done in the server.
- Andrew