|
LibreOffice Module connectivity (master) 1
|
#include <DIndex.hxx>
Classes | |
| struct | NDXHeader |
Public Member Functions | |
| ODbaseIndex (ODbaseTable *_pTable) | |
| ODbaseIndex (ODbaseTable *_pTable, const NDXHeader &_aHeader, const OUString &Name) | |
| void | openIndexFile () |
| virtual void | refreshColumns () override |
| const ODbaseTable * | getTable () const |
| const NDXHeader & | getHeader () const |
| std::unique_ptr< OIndexIterator > | createIterator () |
| void | SetRootPos (sal_uInt32 nPos) |
| void | SetPageCount (sal_uInt32 nCount) |
| sal_uInt32 | GetPageCount () const |
| sal_uInt16 | GetMaxNodes () const |
| bool | Insert (sal_uInt32 nRec, const ORowSetValue &rValue) |
| bool | Update (sal_uInt32 nRec, const ORowSetValue &, const ORowSetValue &) |
| bool | Delete (sal_uInt32 nRec, const ORowSetValue &rValue) |
| bool | Find (sal_uInt32 nRec, const ORowSetValue &rValue) |
| void | createINFEntry () |
| void | CreateImpl () |
| void | DropImpl () |
| DECLARE_SERVICE_INFO () | |
Public Member Functions inherited from connectivity::sdbcx::OIndex | |
| OIndex (bool _bCase) | |
| OIndex (const OUString &Name, OUString Catalog, bool _isUnique, bool _isPrimaryKeyIndex, bool _isClustered, bool _bCase) | |
| virtual | ~OIndex () override |
| DECLARE_SERVICE_INFO () | |
| virtual css::uno::Any SAL_CALL | queryInterface (const css::uno::Type &rType) override |
| virtual void SAL_CALL | acquire () noexcept override |
| virtual void SAL_CALL | release () noexcept override |
| virtual css::uno::Sequence< css::uno::Type > SAL_CALL | getTypes () override |
| virtual void | construct () override |
| virtual void SAL_CALL | disposing () override |
| virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL | getPropertySetInfo () override |
| virtual css::uno::Reference< css::container::XNameAccess > SAL_CALL | getColumns () override |
| virtual OUString SAL_CALL | getName () override |
| virtual void SAL_CALL | setName (const OUString &aName) override |
| virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL | createDataDescriptor () override |
| virtual void | refreshColumns ()=0 |
Public Member Functions inherited from comphelper::OIdPropertyArrayUsageHelper< class TYPE > | |
| OIdPropertyArrayUsageHelper () | |
| virtual | ~OIdPropertyArrayUsageHelper () |
| ::cppu::IPropertyArrayHelper * | getArrayHelper (sal_Int32 nId) |
Public Member Functions inherited from connectivity::sdbcx::ODescriptor | |
| ODescriptor (::cppu::OBroadcastHelper &_rBHelper, bool _bCase, bool _bNew=false) | |
| virtual | ~ODescriptor () override |
| bool | isNew () const |
| void | setNew (bool _bNew) |
| bool | isCaseSensitive () const |
| virtual void | construct () |
| virtual css::uno::Sequence< css::uno::Type > SAL_CALL | getTypes () |
Public Member Functions inherited from comphelper::OPropertyContainer | |
| virtual | ~OPropertyContainer () |
Public Member Functions inherited from cppu::ImplHelper1< class Ifc1 > | |
| virtual css::uno::Any SAL_CALL | queryInterface (css::uno::Type const &rType) SAL_OVERRIDE |
| virtual css::uno::Sequence< css::uno::Type > SAL_CALL | getTypes () SAL_OVERRIDE |
| virtual css::uno::Sequence< sal_Int8 > SAL_CALL | getImplementationId () SAL_OVERRIDE |
Protected Member Functions | |
| virtual | ~ODbaseIndex () override |
| ONDXPage * | CreatePage (sal_uInt32 nPagePos, ONDXPage *pParent=nullptr, bool bLoad=false) |
| void | Collect (ONDXPage *) |
| ONDXPagePtr const & | getRoot () |
| bool | isUnique () const |
| bool | UseCollector () const |
| void | Release (bool bSave=true) |
| bool | ConvertToKey (ONDXKey *rKey, sal_uInt32 nRec, const ORowSetValue &rValue) |
Protected Member Functions inherited from connectivity::sdbcx::OIndex | |
| virtual void | refreshColumns () override |
| virtual ::cppu::IPropertyArrayHelper * | createArrayHelper (sal_Int32 _nId) const override |
| virtual ::cppu::IPropertyArrayHelper &SAL_CALL | getInfoHelper () override |
Protected Member Functions inherited from connectivity::sdbcx::IRefreshableColumns | |
| ~IRefreshableColumns () | |
| virtual ::cppu::IPropertyArrayHelper * | createArrayHelper (sal_Int32 nId) const=0 |
Protected Member Functions inherited from connectivity::sdbcx::ODescriptor | |
| ::cppu::IPropertyArrayHelper * | doCreateArrayHelper () const |
| helper for derived classes to implement OPropertyArrayUsageHelper::createArrayHelper More... | |
Protected Member Functions inherited from comphelper::OPropertyContainer | |
| OPropertyContainer (::cppu::OBroadcastHelper &_rBHelper) | |
| virtual sal_Bool SAL_CALL | convertFastPropertyValue (css::uno::Any &rConvertedValue, css::uno::Any &rOldValue, sal_Int32 nHandle, const css::uno::Any &rValue) override |
| virtual void SAL_CALL | setFastPropertyValue_NoBroadcast (sal_Int32 nHandle, const css::uno::Any &rValue) override |
| virtual void SAL_CALL | getFastPropertyValue (css::uno::Any &rValue, sal_Int32 nHandle) const override |
| virtual css::uno::Any SAL_CALL | getFastPropertyValue (sal_Int32 nHandle) override final |
| virtual void | getFastPropertyValue (std::unique_lock< std::mutex > &rGuard, css::uno::Any &rValue, sal_Int32 nHandle) const =0 |
| virtual void SAL_CALL | setFastPropertyValue (sal_Int32 nHandle, const css::uno::Any &rValue) override final |
Protected Member Functions inherited from comphelper::OPropertyContainerHelper | |
| OPropertyContainerHelper () | |
| ~OPropertyContainerHelper () | |
| void | registerProperty (const OUString &_rName, sal_Int32 _nHandle, sal_Int32 _nAttributes, void *_pPointerToMember, const css::uno::Type &_rMemberType) |
| void | registerMayBeVoidProperty (const OUString &_rName, sal_Int32 _nHandle, sal_Int32 _nAttributes, css::uno::Any *_pPointerToMember, const css::uno::Type &_rExpectedType) |
| void | registerPropertyNoMember (const OUString &_rName, sal_Int32 _nHandle, sal_Int32 _nAttributes, const css::uno::Type &_rType, css::uno::Any const &_pInitialValue) |
| void | revokeProperty (sal_Int32 _nHandle) |
| bool | isRegisteredProperty (sal_Int32 _nHandle) const |
| bool | isRegisteredProperty (const OUString &_rName) const |
| bool | convertFastPropertyValue (css::uno::Any &rConvertedValue, css::uno::Any &rOldValue, sal_Int32 nHandle, const css::uno::Any &rValue) |
| void | setFastPropertyValue (sal_Int32 nHandle, const css::uno::Any &rValue) |
| void | getFastPropertyValue (css::uno::Any &rValue, sal_Int32 nHandle) const |
| void | describeProperties (css::uno::Sequence< css::beans::Property > &_rProps) const |
| const css::beans::Property & | getProperty (const OUString &_rName) const |
Protected Member Functions inherited from cppu::ImplHelper1< class Ifc1 > | |
| ~ImplHelper1 () SAL_NOEXCEPT | |
Private Member Functions | |
| OUString | getCompletePath () const |
| void | closeImpl () |
| void | impl_killFileAndthrowError_throw (TranslateId pErrorId, const OUString &_sFile) |
Private Attributes | |
| std::unique_ptr< SvStream > | m_pFileStream |
| NDXHeader | m_aHeader = {} |
| std::vector< ONDXPage * > | m_aCollector |
| ONDXPagePtr | m_aRoot |
| ONDXPagePtr | m_aCurLeaf |
| sal_uInt16 | m_nCurNode |
| sal_uInt32 | m_nPageCount |
| sal_uInt32 | m_nRootPage |
| ODbaseTable * | m_pTable |
| bool | m_bUseCollector: 1 |
Friends | |
| class | ONDXNode |
| class | ONDXPage |
| class | ONDXPagePtr |
| class | OIndexIterator |
| SvStream & | WriteODbaseIndex (SvStream &rStream, const ODbaseIndex &) |
| SvStream & | operator>> (SvStream &rStream, ODbaseIndex &) |
Additional Inherited Members | |
Static Public Member Functions inherited from connectivity::sdbcx::ODescriptor | |
| static bool | isNew (const css::uno::Reference< css::uno::XInterface > &_rxDescriptor) |
Static Protected Member Functions inherited from comphelper::OPropertyContainer | |
| static css::uno::Sequence< css::uno::Type > | getBaseTypes () |
Protected Attributes inherited from connectivity::sdbcx::OIndex | |
| OUString | m_Catalog |
| bool | m_IsUnique |
| bool | m_IsPrimaryKeyIndex |
| bool | m_IsClustered |
| std::unique_ptr< OCollection > | m_pColumns |
Protected Attributes inherited from cppu::BaseMutex | |
| mutable::osl::Mutex | m_aMutex |
Protected Attributes inherited from connectivity::sdbcx::ODescriptor | |
| OUString | m_Name |
Definition at line 35 of file DIndex.hxx.
|
overrideprotectedvirtual |
Definition at line 79 of file DIndex.cxx.
References closeImpl().
| ODbaseIndex::ODbaseIndex | ( | ODbaseTable * | _pTable | ) |
Definition at line 54 of file DIndex.cxx.
References connectivity::sdbcx::OIndex::construct().
| ODbaseIndex::ODbaseIndex | ( | ODbaseTable * | _pTable, |
| const NDXHeader & | _aHeader, | ||
| const OUString & | Name | ||
| ) |
Definition at line 65 of file DIndex.cxx.
References connectivity::sdbcx::OIndex::construct().
|
private |
Definition at line 288 of file DIndex.cxx.
References m_pFileStream.
Referenced by DropImpl(), impl_killFileAndthrowError_throw(), Release(), and ~ODbaseIndex().
|
protected |
Definition at line 245 of file DIndex.cxx.
References m_aCollector.
Referenced by connectivity::dbase::ONDXPage::QueryDelete().
|
protected |
Definition at line 148 of file DIndex.cxx.
References connectivity::dbase::ODbaseIndex::NDXHeader::db_keytype, Exception, connectivity::ORowSetValue::getDouble(), connectivity::ORowSetValue::getString(), connectivity::ORowSetValue::isNull(), m_aHeader, and m_pFileStream.
| void ODbaseIndex::CreateImpl | ( | ) |
Definition at line 454 of file DIndex.cxx.
References aName, createINFEntry(), CreatePage(), connectivity::file::OConnection::createStatement(), connectivity::dbase::ODbaseIndex::NDXHeader::db_keylen, connectivity::dbase::ODbaseIndex::NDXHeader::db_keyrec, connectivity::dbase::ODbaseIndex::NDXHeader::db_keytype, connectivity::dbase::ODbaseIndex::NDXHeader::db_maxkeys, connectivity::dbase::ODbaseIndex::NDXHeader::db_name, connectivity::dbase::ODbaseIndex::NDXHeader::db_unique, DINDEX_PAGE_SIZE, Exception, connectivity::find(), getCompletePath(), connectivity::file::OFileTable::getConnection(), connectivity::dbase::ODbaseResultSet::getCurrentFilePos(), getINT32(), connectivity::file::OConnection::getMetaData(), connectivity::file::OFileTable::getName(), dbtools::OPropertyMap::getNameByIndex(), connectivity::OMetaConnection::getPropMap(), connectivity::OMetaConnection::getResources(), connectivity::SharedResources::getResourceStringWithSubstitution(), getString(), connectivity::file::OFileTable::getTableColumns(), connectivity::OMetaConnection::getTextEncoding(), utl::SharedUNOComponent< class INTERFACE, class COMPONENT >::getTyped(), impl_killFileAndthrowError_throw(), connectivity::dbase::ONDXPage::Insert(), utl::SharedUNOComponent< class INTERFACE, class COMPONENT >::is(), connectivity::sdbcx::ODescriptor::isCaseSensitive(), m_aCurLeaf, m_aHeader, m_aRoot, m_bUseCollector, connectivity::sdbcx::OIndex::m_IsUnique, m_nCurNode, m_nPageCount, m_nRootPage, connectivity::sdbcx::OIndex::m_pColumns, m_pFileStream, m_pTable, NODE_NOTFOUND, nType, pq_sdbc_driver::OUStringToOString(), PROPERTY_ID_NAME, PROPERTY_ID_PRECISION, PROPERTY_ID_TYPE, Release(), utl::SharedUNOComponent< class INTERFACE, class COMPONENT >::set(), connectivity::dbase::ONDXPage::SetModified(), connectivity::dbase::ONDXKey::setRecord(), connectivity::dbase::ONDXKey::setValue(), dbtools::throwFunctionSequenceException(), dbtools::throwGenericSQLException(), and connectivity::OMetaConnection::throwGenericSQLException().
Referenced by connectivity::dbase::ODbaseIndexes::appendObject().
| void ODbaseIndex::createINFEntry | ( | ) |
Definition at line 369 of file DIndex.cxx.
References dBASE_III_GROUP, connectivity::file::OFileTable::getConnection(), Config::GetKeyCount(), Config::GetKeyName(), connectivity::file::OFileTable::getName(), dbtools::OPropertyMap::getNameByIndex(), connectivity::OMetaConnection::getPropMap(), connectivity::OMetaConnection::getTextEncoding(), connectivity::OMetaConnection::getURL(), i, connectivity::sdbcx::ODescriptor::isCaseSensitive(), connectivity::sdbcx::ODescriptor::m_Name, m_pTable, pq_sdbc_driver::OUStringToOString(), PROPERTY_ID_DELIMITER, Config::SetGroup(), and Config::WriteKey().
Referenced by CreateImpl().
| std::unique_ptr< OIndexIterator > ODbaseIndex::createIterator | ( | ) |
Definition at line 142 of file DIndex.cxx.
References openIndexFile().
Referenced by connectivity::dbase::ODbaseResultSet::fillIndexValues().
|
protected |
Definition at line 293 of file DIndex.cxx.
References m_aCollector, m_pFileStream, ONDXPage, connectivity::dbase::ONDXPage::SetPagePos(), and connectivity::dbase::ONDXPage::SetParent().
Referenced by CreateImpl(), connectivity::dbase::ONDXNode::GetChild(), connectivity::dbase::ONDXPage::GetChild(), getRoot(), and connectivity::dbase::ONDXPage::Insert().
| connectivity::dbase::ODbaseIndex::DECLARE_SERVICE_INFO | ( | ) |
| bool ODbaseIndex::Delete | ( | sal_uInt32 | nRec, |
| const ORowSetValue & | rValue | ||
| ) |
Definition at line 224 of file DIndex.cxx.
References ConvertToKey(), connectivity::dbase::ONDXPage::Delete(), Find(), getRoot(), connectivity::dbase::ONDXPagePtr::Is(), m_aCurLeaf, m_aRoot, m_nCurNode, m_pFileStream, openIndexFile(), and connectivity::dbase::ONDXPage::PrintPage().
Referenced by Update().
| void ODbaseIndex::DropImpl | ( | ) |
Definition at line 404 of file DIndex.cxx.
References closeImpl(), dBASE_III_GROUP, Config::DeleteKey(), getCompletePath(), connectivity::file::OFileTable::getConnection(), Config::GetKeyCount(), Config::GetKeyName(), connectivity::file::OFileTable::getName(), dbtools::OPropertyMap::getNameByIndex(), connectivity::OMetaConnection::getPropMap(), connectivity::OMetaConnection::getTextEncoding(), connectivity::OMetaConnection::getURL(), connectivity::sdbcx::ODescriptor::m_Name, m_pTable, PROPERTY_ID_DELIMITER, Config::ReadKey(), Config::SetGroup(), and connectivity::OMetaConnection::throwGenericSQLException().
| bool ODbaseIndex::Find | ( | sal_uInt32 | nRec, |
| const ORowSetValue & | rValue | ||
| ) |
Definition at line 176 of file DIndex.cxx.
References ConvertToKey(), connectivity::dbase::ONDXPage::Find(), getRoot(), m_pFileStream, and openIndexFile().
|
private |
Definition at line 361 of file DIndex.cxx.
References connectivity::file::OFileTable::getConnection(), dbtools::OPropertyMap::getNameByIndex(), connectivity::OMetaConnection::getPropMap(), connectivity::OMetaConnection::getURL(), connectivity::sdbcx::ODescriptor::m_Name, m_pTable, and PROPERTY_ID_DELIMITER.
Referenced by CreateImpl(), DropImpl(), and openIndexFile().
|
inline |
Definition at line 95 of file DIndex.hxx.
References m_aHeader.
Referenced by connectivity::dbase::ONDXPage::Insert(), connectivity::dbase::ONDXPage::IsFull(), connectivity::dbase::ONDXPage::ONDXPage(), connectivity::dbase::ONDXPage::PrintPage(), connectivity::dbase::ONDXPage::QueryDelete(), connectivity::dbase::ONDXNode::Read(), connectivity::dbase::ONDXPage::Release(), connectivity::dbase::ONDXNode::Write(), and connectivity::dbase::WriteONDXPage().
|
inline |
Definition at line 103 of file DIndex.hxx.
References connectivity::dbase::ODbaseIndex::NDXHeader::db_maxkeys, and m_aHeader.
Referenced by connectivity::dbase::ONDXPage::Delete(), connectivity::dbase::ONDXPage::Insert(), and connectivity::dbase::ONDXPage::Merge().
|
inline |
Definition at line 101 of file DIndex.hxx.
References m_nPageCount.
Referenced by connectivity::dbase::ONDXPage::Insert().
|
protected |
Definition at line 102 of file DIndex.cxx.
References CreatePage(), connectivity::dbase::ODbaseIndex::NDXHeader::db_pagecount, connectivity::dbase::ODbaseIndex::NDXHeader::db_rootpage, connectivity::dbase::ONDXPagePtr::Is(), m_aHeader, m_aRoot, m_nPageCount, m_nRootPage, and openIndexFile().
|
inline |
Definition at line 94 of file DIndex.hxx.
References m_pTable.
Referenced by connectivity::dbase::ODbaseIndexColumns::createDescriptor(), and connectivity::dbase::ODbaseIndexColumns::createObject().
|
private |
Definition at line 446 of file DIndex.cxx.
References closeImpl(), connectivity::file::OFileTable::getConnection(), m_pTable, and connectivity::OMetaConnection::throwGenericSQLException().
Referenced by CreateImpl().
| bool ODbaseIndex::Insert | ( | sal_uInt32 | nRec, |
| const ORowSetValue & | rValue | ||
| ) |
Definition at line 187 of file DIndex.cxx.
References ConvertToKey(), Find(), getRoot(), connectivity::dbase::ONDXPage::Insert(), connectivity::dbase::ONDXPagePtr::Is(), isUnique(), m_aCurLeaf, m_pFileStream, openIndexFile(), and Release().
Referenced by Update().
|
inlineprotected |
Definition at line 121 of file DIndex.hxx.
References connectivity::sdbcx::OIndex::m_IsUnique.
Referenced by connectivity::dbase::ONDXPage::Insert(), Insert(), connectivity::dbase::ONDXPage::Split(), Update(), and connectivity::dbase::ONDXNode::Write().
| void ODbaseIndex::openIndexFile | ( | ) |
Definition at line 114 of file DIndex.cxx.
References DINDEX_PAGE_SIZE, getCompletePath(), connectivity::file::OFileTable::getConnection(), connectivity::OMetaConnection::getResources(), connectivity::SharedResources::getResourceStringWithSubstitution(), m_pFileStream, m_pTable, and dbtools::throwGenericSQLException().
Referenced by createIterator(), Delete(), Find(), getRoot(), Insert(), and Update().
|
overridevirtual |
Reimplemented from connectivity::sdbcx::OIndex.
Definition at line 84 of file DIndex.cxx.
References connectivity::dbase::ODbaseIndex::NDXHeader::db_name, connectivity::sdbcx::ODescriptor::isNew(), m_aHeader, cppu::BaseMutex::m_aMutex, connectivity::sdbcx::OIndex::m_pColumns, and m_pFileStream.
Referenced by connectivity::dbase::ODbaseIndexColumns::impl_refresh().
|
protected |
Definition at line 251 of file DIndex.cxx.
References connectivity::dbase::ONDXPagePtr::Clear(), closeImpl(), connectivity::dbase::ODbaseIndex::NDXHeader::db_pagecount, connectivity::dbase::ODbaseIndex::NDXHeader::db_rootpage, i, connectivity::dbase::ONDXPagePtr::Is(), m_aCollector, m_aCurLeaf, m_aHeader, m_aRoot, m_bUseCollector, m_nCurNode, m_nPageCount, m_nRootPage, m_pFileStream, NODE_NOTFOUND, connectivity::dbase::ONDXPage::Release(), and WriteODbaseIndex.
Referenced by CreateImpl(), and Insert().
|
inline |
Definition at line 99 of file DIndex.hxx.
References m_nPageCount, and nCount.
Referenced by connectivity::dbase::ONDXPage::Insert().
|
inline |
Definition at line 98 of file DIndex.hxx.
References m_nRootPage, and nPos.
Referenced by connectivity::dbase::ONDXPage::Delete(), connectivity::dbase::ONDXPage::Insert(), and connectivity::dbase::ONDXPage::Merge().
| bool ODbaseIndex::Update | ( | sal_uInt32 | nRec, |
| const ORowSetValue & | rOldValue, | ||
| const ORowSetValue & | rNewValue | ||
| ) |
Definition at line 211 of file DIndex.cxx.
References ConvertToKey(), Delete(), Find(), getRoot(), Insert(), isUnique(), m_pFileStream, and openIndexFile().
|
inlineprotected |
Definition at line 122 of file DIndex.hxx.
References m_bUseCollector.
Referenced by connectivity::dbase::ONDXPage::QueryDelete().
|
friend |
Definition at line 43 of file DIndex.hxx.
|
friend |
Definition at line 40 of file DIndex.hxx.
|
friend |
Definition at line 41 of file DIndex.hxx.
Referenced by CreatePage().
|
friend |
Definition at line 42 of file DIndex.hxx.
|
friend |
|
friend |
Referenced by Release().
|
private |
Definition at line 70 of file DIndex.hxx.
Referenced by Collect(), CreatePage(), and Release().
|
private |
Definition at line 72 of file DIndex.hxx.
Referenced by CreateImpl(), Delete(), connectivity::dbase::ONDXPage::Find(), connectivity::dbase::ONDXPage::Insert(), Insert(), and Release().
|
private |
Definition at line 68 of file DIndex.hxx.
Referenced by ConvertToKey(), CreateImpl(), getHeader(), GetMaxNodes(), getRoot(), connectivity::dbase::operator>>(), refreshColumns(), Release(), and connectivity::dbase::WriteODbaseIndex().
|
private |
Definition at line 71 of file DIndex.hxx.
Referenced by CreateImpl(), Delete(), getRoot(), connectivity::dbase::ONDXPage::Insert(), connectivity::dbase::ONDXPage::Merge(), and Release().
|
private |
Definition at line 79 of file DIndex.hxx.
Referenced by CreateImpl(), Release(), and UseCollector().
|
private |
Definition at line 73 of file DIndex.hxx.
Referenced by CreateImpl(), Delete(), connectivity::dbase::ONDXPage::Find(), connectivity::dbase::ONDXPage::Insert(), and Release().
|
private |
Definition at line 75 of file DIndex.hxx.
Referenced by CreateImpl(), GetPageCount(), getRoot(), connectivity::dbase::operator>>(), Release(), and SetPageCount().
|
private |
Definition at line 76 of file DIndex.hxx.
Referenced by CreateImpl(), getRoot(), connectivity::dbase::operator>>(), Release(), and SetRootPos().
|
private |
Definition at line 67 of file DIndex.hxx.
Referenced by closeImpl(), ConvertToKey(), CreateImpl(), CreatePage(), Delete(), Find(), Insert(), openIndexFile(), connectivity::dbase::ONDXPage::QueryDelete(), refreshColumns(), Release(), and Update().
|
private |
Definition at line 78 of file DIndex.hxx.
Referenced by CreateImpl(), createINFEntry(), DropImpl(), getCompletePath(), getTable(), impl_killFileAndthrowError_throw(), openIndexFile(), connectivity::dbase::ONDXNode::Read(), and connectivity::dbase::ONDXNode::Write().