I have been playing around with various things in mfs, and lately I have run into a quandary about what to do with attributes that don't have a schema definition.
Say for example, on a 6.2 box, I want to read the contents of an attribute in this object: http://tivo/mfs/Component/Type/2/ALPHASTAR%20DSR
Notice this:
Component 1018/11 {
ServerVersion = 152
Code = 611/-1 652/-1 408/-1
Name = {ALPHASTAR DSR}
(attribute 0x2f0013 not in schema)
Type = 2
ServerId = 371664
Version = 1
IndexPath = {/Component/Type/2/ALPHASTAR DSR} /Server/371664
}
Now according to the 7.1b schema, that attribute is called 'NumberOfCodesToTry', but since it doesn't exist in the 6.2 schema, I can't do anything with it:
Code:
bash-2.02# tivosh
% dbopen
db1
% itrans start
% db db1 openid 1018
dbobj2
% dbobj dbobj2 attrs
ServerVersion Code Name 0x2f0013 Type ServerId Version IndexPath
% dbobj dbobj2 get 0x2f0013
invalid attribute: 0x2f0013
% dbobj dbobj2 get \x2f\x00\x13
invalid attribute: /
Basically what I am looking for is a way to get TCL to be able to read and/or modify that attribute by only refering to it by its hex code and not its name. Any TCL experts know how to do this?
Or perhapse is there some way to easily put a junk definition in the schema temporarily and remove it later? Just some kind of work around or something that will enable reading and writing of this attribute.
EDIT: Also...
Code:
bash-2.02# strings /tvbin/tivosh | grep dbobj
DfbDemux::IndexStreams got a NULL dbobject id!
dbobj
dbobj requires at least the object handle and an operation
usage: dbobj <DBOBJ> [set|add] <ATTR> <TCLOBJ>
usage: dbobj <OBJECT> construction
dbobj $dbobj settargetcountbutbecareful
dbobj $dbobj targetcount
usage: dbobj <DBOBJ> copyfrom <DBOBJ>
usage: dbobj <DBOBJ> removeat <ATTR> <INDEX>]
usage: dbobj <DBOBJ> clear
usage: dbobj <DBOBJ> markasrubbish
usage: dbobj <DBOBJ> reindex
usage: dbobj <DBOBJ> touch
usage: dbobj <DBOBJ> secondary
usage: dbobj <DBOBJ> primary
dbobj $dbobj delete
usage: dbobj <DBOBJ> remove <ATTR> [<TCLOBJ>]
usage: dbobj <DBOBJ> gettarget <ATTR> [<INDEX>]
usage: dbobj <DBOBJ> get [-noerror] <ATTR> [<INDEX>]
usage: dbobj <DBOBJ) attrtype <ATTR>
usage: dbobj <DBOBJ> attrs
usage: dbobj <DBOBJ> type
usage: dbobj <DBOBJ> objid
usage: dbobj <DBOBJ> fsid
usage: dbobj equal <DBOBJ> <DBOBJ>
None of those commands look like they will do anything to help in this respect, so I am guessing that some interpreter tricks would be necessary if this is to be done at all?