odml2.dll
Classes:
Functions:
#rus class KeyClient имеет статический объект Spec, содержащий
#rus вектор спецификаций наследников ODMLPersistSpec.
#module root.database.odml
Methods:
#rus Конструктор клиента, устанавливает связь с сервером ключей
#rus Конструктор клиента, устанавливает связь с сервером ключей
This class is designed for construction of code synthesizer on
basis of the specification written in the META language.
#module root.system.parsers
Methods:
Code synthesis on basis of the specification and metalanguage tree.
param Template;
Returns specification tree on basis of the template specified via the
Template parameter.
param Template;
Returns specification tree on basis of the template specified via the
Template parameter.
This class translates an ODML query to an SQL query.
#module root.database.odml
Methods:
param ImpliciteParams, Offset;
Forms a vector of parameters for passing to a query.
ImpliciteParams - vector of direct parameters specified in the query as '?'.
Offset - offset, direct parameters are taken beginning from the offset.
Returns the list of types of explicit parameters ('?' sign).
Returns the variable name in order to place the result of the query of
the following type:
a = select ...
If the query did not have the target variable then EMPTY is
returned.
Returns the SQL query derived from the ODML query.
Returns list of names of selected items.
Returns list of types of selected items.
An ODML2 query is passed as a parameter to the constructor.
#rus В качестве параметра в конструктор передается ODML2 запрос и источник данных.
Prints the ODML query tree.
The class contains the result of comparison of two object's modifications with
its duplicate made before modifications.
Dif1 - vector of names of the fields changed only in the first modification
of the object,
Dif2 - vector of names of the fields changed only in the second modification
of the object,
DifBoth - vector of names of the fields changed in both modifications
of the object.
If a modified field is vector then the mentioned fields will contain not
its name but an object of VectorFieldDif class.
#module root.database.odml
Methods:
Returns TRUE, if the compared objects are equal, otherwise FALSE.
#module root.database.odml
Methods:
- AddProcObject(refer any, refer any)
- OdmlConnectInfo(void)
- RemoveProcObject(refer any)
#module root.database.odml
Methods:
- OdmlModifyObjectInfo(any, boolean)
The Persist class has the Spec static object which contains
the vector of ODMLPersistSpec descendants' specifications.
#module root.database.odml
Methods:
- AddUserDeleteTrigger(refer object String)
- AddUserLoadTrigger(refer object String)
- AddUserPostSaveTrigger(refer object String)
- AddUserSaveTrigger(refer object String)
- BuildAllMethods(void)
- CheckLockError(boolean)
- CheckLockError(boolean, refer object GWnd)
- CheckLockError(refer object GWnd)
- CheckLockError(void)
- ChooseDataSource(int)
- Clear(void)
- ClearAll(void)
- ClearTempPrimaryKey(void)
- Commit(void)
- CreateAutoPrimKey(int, refer object String)
- CreateAutoPrimKey(refer object String, int, refer object String)
- CreateClassSpec(void)
- Exec(refer object ODMLQuery, refer object Vector)
- Exec(refer object ODMLQuery, refer object Vector, refer int)
- Exec(refer object String)
- Exec(refer object String, refer object Vector)
- Exec(refer object String, refer object Vector, refer int)
- Fetch(refer object ODMLQuery)
- GetClassChildren(object String)
- GetClassID(object String)
- GetClassName(int)
- GetClassName(object String, object String, any, refer ...)
- GetCurrentDS(void)
- GetDataSource(void)
- GetFreeIndex(int)
- GetFreeIndex(refer object String)
- GetModifyType(void)
- GetNonLoadedIncludeList(void)
- GetNumbConnections(void)
- GetOwnDataSource(void)
- GetSqlTimeDate(void)
- GetVersion(void)
- HasInheritance(object String)
- InitNew(void)
- IsConnectionLost(void)
- IsDeadLock(void)
- IsLockW(void)
- IsModified(void)
- IsTransactionOpen(void)
- LoadFile(refer object String)
- LoadForUpdate(number)
- LoadIncludesFromDB(void)
- LoadSpec(refer object String)
- LoadSpecFromDB(object Vector, ...)
- LoadSpecFromDB(refer object GWnd)
- LoadSpecFromDB(void)
- LoadSpecListFromDB(void)
- LoadString(refer object String)
- LockW(number)
- Modify(int, ...)
- Modify(void)
- MoveAllPointersTo(pointer object Persist)
- New(void)
- OnDeadlock(void)
- OnDeleteTrigger(void)
- OnErrorOWS(refer any, refer object Persist, refer any)
- OnErrorOWV(void)
- OnErrorSave(void)
- OnLoadTrigger(void)
- OnRollBack(void)
- OnSaveTrigger(void)
- OpenTransaction(int)
- OpenTransaction(void)
- Prepare(refer object ODMLQuery, refer object Vector, ...)
- RCommit(void)
- Register(void)
- RemoveCurrentDS(void)
- RemoveFromDB(void)
- RemoveUserDeleteTrigger(refer object String)
- RemoveUserLoadTrigger(refer object String)
- RemoveUserPostSaveTrigger(refer object String)
- RemoveUserSaveTrigger(refer object String)
- ResetDataSource(void)
- RestoreDataSource(int, refer object OdbcDs)
- RestoreDataSource(int, refer object OdbcDs, object String, object String, object String, object String, object String, object String)
- RollBack(void)
- SetCurrentDS(int)
- SetDataSource(refer object OdbcDs)
- SetDataSource(refer object OdbcDs, object String, object String, object String, object String, object String, object String)
- Synchronize(refer object Persist, refer object Persist)
- Synchronize(refer object Persist, refer object Persist, refer object ObjectDifference3)
- ToDB(void)
- TotalReset(void)
- UpdateDictionary(void)
- UpdateSpecFromDB(void)
- _Commit(void)
- _RollBack(void)
param MethodName
#rus Метод добавляет MethodName к списку имен триггеров удаления
param MethodName
#rus Метод добавляет MethodName к списку имен триггеров загрузки
param MethodName
#rus Метод добавляет MethodName к списку имен пост-триггеров сохранения
param MethodName
#rus Метод добавляет MethodName к списку имен триггеров сохранения
Method forces all classes which are listed in the ODML schema
to build real bodies of database methods.
param MsgBx;
Performs rollback together with erasing not-existent
automatic primary keys.
If the MsgBx parameter == TRUE then raises request on operation
repetition in case of a rollback that occurred because of the
database lock.
Returns TRUE if an error occurs because of database lock by a
competitive process; otherwise - FALSE.
param MsgBx, ParentWnd;
Performs rollback together with erasing not-existent
automatic primary keys.
If the MsgBx parameter == TRUE then raises request on operation
repetition in case of a rollback that occurred because of the
database lock. The ParentWnd parameter is a parent window for a
MessageBox.
Returns TRUE if an error occurs because of database lock by a
competitive process; otherwise - FALSE.
param ParentWnd;
Performs rollback together with erasing not-existent
automatic primary keys.
Raises request on operation repetition in case of a rollback that
occurred because of the database lock.
The ParentWnd parameter is a parent window for a MessageBox.
Returns TRUE if an error occurs because of database lock by a
competitive process; otherwise - FALSE.
param [ParentWnd];
Performs rollback together with erasing not-existent
automatic primary keys.
Raises request on operation repetition in case of a rollback that
occurred because of the database lock.
Returns TRUE if an error occurs because of database lock by a
competitive process; otherwise - FALSE.
param DsIndex;
Choose DsIndex data source.
Returns index of the preceding data source.
Deletes all objects from the dictionary on which there are no
references.
This method returns the number of deleted objects.
Deletes all objects from the dictionary on which there are no
references including those referenced only by non-referenced
objects.
This method returns the number of deleted objects.
Performs erasing of automatic fields in case of the transaction
rollback.
Commits the transaction.
param ColumnType, KeyName;
This code is based on assumption, that there is a table
PERSISTOPTION (PKEY, IDATA, ...)
and the next free integer primary key value is in the
column IDATA with the FREEINDEX key in the column PKEY.
---------------------------------
For particular system this method may be overwritten,
to another version of automatic primary key support.
param FieldName, ColumnType, KeyName;
For particular system this method may be overwritten,
to another version of automatic primary key support.
Method creates/adjusts specification of classes, which
are listed in the ODML schema.
param Query, Param;
Executes the query Query with the parameters Params.
param ODMLQuery, Params, offset;
Executes the query Query with the parameters Params that are taken
beginning from the offset.
param Query;
Executes the query Query.
param Query, Param;
Executes the query Query with the parameters Params.
param Query, Param, offset;
Executes the query Query with the parameters Params that are taken
beginning from the offset.
param Query;
Returns vector with next result data from the query Query
or << >> if there are no more result data.
param ClassName;
Returns the list of descendants of the class ClassName by the database scheme.
param ClassName;
Determines an identifier name by the class name.
param ClassID;
Determines a class name by the identifier.
param ClassName, FieldName, Value, [Stmt];
Determines a class name by the table record.
Return index of current DS.
Returns a reference to the current data source.
param IndexType;
IndexType - index type.
This method returns the next free index, the value of the
free index in the PERSISTOPTION table whose name is equal to FREEINDEX
is incremented by one.
param Key;
Key - index name.
This method returns the next free index, the value of the
free index in the PERSISTOPTION table whose name is equal to FREEINDEX
is incremented by one.
Returns the synchronization algorithm's type if the object is marked as
modified, otherwise returns ODML_NO_MODIFIED.
#rus Возвращает список незагруженных подсхем
Returns the number of data sources used by Persist.
#rus Возврвщвет ссылку на источник данных, этого объекта.
Returns ODML version.
param ClassName;
Returns TRUE if there are successors of the class ClassName in the schema,
otherwise - FALSE.
This method creates a primary key for the object with
autoidentification if it is EMPTY.
#rus Проверяет наличие на обрыв связи и пытается переконектиться
#rus Проверяет наличие deadlock
Returns TRUE if the object is locked in the current transaction,
otherwise FALSE.
Returns TRUE if there is an open transaction; otherwise FALSE.
param FileName;
Read class matching schema from FileName file.
param timeout;
Loads the object's fields from the database if the object exists in the
database and locks the object for writing.
Parameters:
timeout - value of timeout for waiting of unlocking the object
if the object is already locked by anybody else, seconds
(-1 - unlimited waiting).
When the timeout is over an error is raised.
#rus Загружает еще не загруженные подсхемы.
param FileName;
Read class matching schema from file FileName.
param Filter;
Loads the scheme specification from the database.
Filter - vector that consists of four elements -
<< Scheme name, High number, Low number, Patch number >>.
The first element is String, others are integers.
Each element except the first one can be EMPTY and within the current field
the maximum value is selected.
param Parent;
Invokes a dialog with the list of specifications in the database.
Loads the scheme specification from a database according to the user's
choice.
Parent - a reference to the parent window for the scheme selection
dialog.
Invokes a dialog with the list of specifications from the database.
Loads the scheme specification from the database according to the user's
choice.
Returns the list of specification names stored in the database.
param ODMLSpec;
Read class matching schema from the ODMLSpec string.
param timeout;
Locks the object for writing.
Parameters:
timeout - value of timeout for waiting of unlocking the object
if the object is already locked by anybody else, seconds
(-1 - unlimited waiting).
When the timeout is over an error is raised.
Should be called before modifying of the object. Marks the object as modified.
The object will be automatically saved to the database when Commit method
is called.
If a deadlock occured when running Commit method Rollback method will be called.
If an error raised when saving the object OnErrorSave method will be called.
if the method returns
TRUE - the modification flag of the object will be cleared,
FALSE - the object will remain marked as modified,
EMPTY - the object will remain marked as modified and rollback
will be performed.
If Rollback method is called then will be called the object's OnDeadlock
method (if a deadlock occured just before) or OnRollBack method (otherwise).
If the method called returns
TRUE - the modification flag of the object will be cleared and
the object will be reloaded,
FALSE - the object will remain marked as modified,
(if the synchronization algorithm's type was ODML_LOCK,
the type will be changed to ODML_NO_LOCK),
EMPTY - the modification flag of the object will be cleared.
Parameters:
type - selects one of algorithms of synchronization with other clients using
the object. Can have one of the following values:
ODML_NO_LOCK, ODML_LOCK, ODML_OWV, ODML_OWS.
time - (optional) time in seconds of waiting of the object's
unlocking. By default -1 (unlimited waiting). Note that the parameter is valid
only if type == ODML_LOCK.
Synchronization algorithms:
ODML_NO_LOCK: No synchronization will be used.
ODML_LOCK: When the method is called the object will be locked from other
users' changes. Then the object will be reloaded from the database.
If a transaction was not opened it will be. If the object was
already locked by another client the method will wait the object's
unlocking for time seconds. After timeout an error will be raised.
ODML_OWV: Synchronization will occure when Commit method is called.
If the object was modified in the database by another client,
the object's OnErrorOWV method will be called during Commit call.
If OnErrorOWV will return
TRUE - the object will not be saved, the modification flag
will be cleared,
FALSE - the object will not be saved, but will remain
marked as modified,
EMPTY - the object will not be saved, will remain
marked as modified and "object was changed" error
will be raised.
ODML_OWS: Synchronization will occure when Commit method is called.
If the object was modified in the database by another client,
the object in the database and this object will be synchronized
using Synchronize method and the synchronized object will be saved
during Commit call. If synchronization fails (Synchronize method
returns FALSE) then OnErrorOWS will be called.
If OnErrorOWS will return
TRUE - the object will not be saved, the modification flag
will be cleared,
FALSE - the object will not be saved, but will remain
marked as modified,
EMPTY - the object will not be saved, will remain
marked as modified and "object was changed and
didn't synchronized" error will be raised.
If a transaction is opened calls Modify( ODML_LOCK ),
otherwise calls Modify( ODML_OWV ).
See Modify( int, ... ).
Переносит все указатели в БД с объекта self на объект obj
Возвращает количество объектов, чьи указатели были перенесены.
Параметры:
1. obj.
This method erases the identifier for the object with
autoidentification or erases primary keys for the object
without autoidentification.
See Modify( int, ... ).
Trigger on deleting an object from a database.
This method must be overwritten if it is supposed to
perform some actions after deleting.
This method is called immediately after deleting.
See Modify( int, ... ).
See Modify( int, ... ).
See Modify( int, ... ).
Trigger on loading an object from a database.
This method must be overwritten if it is supposed to
perform some actions after loading.
This method is called immediately after loading.
See Modify( int, ... ).
Trigger on saving an object to a database.
This method must be overwritten if it is supposed to
perform some actions after saving.
This method is called immediately after saving.
param Isolation;
Begins transaction that should be accomplished
either by Commit or RollBack command.
Isolation - transaction isolation level.
Valid values:
SQL_TXN_SERIALIZABLE
SQL_TXN_REPEATABLE_READ
SQL_TXN_READ_COMMITTED
SQL_TXN_READ_UNCOMMITTED
Begins transaction that should be accomplished
either by Commit or RollBack command.
Transaction isolation level - SQL_TXN_SERIALIZABLE.
param Query, Param[, FetchSize];
Prepares the query Query for the
subsequent one-by-one data fetching by the Fetch method.
The FetchSize parameter determines the number of objects received
by one Fetch operation. By default FetchSize is set to 100.
This method returns TRUE if succeeded; otherwise FALSE.
#rus Завершить успешно транзакцию. В случае deadlock
#rus совершается Persist::NumberOfTryCommit попыток успешно завершить транзакцию.
Adds the object to the dictionary.
Returns a pointer to the object.
Return index of current DS.
#rus Помечает объект для удаления из БД.
#rus Во время первого вызова метода Commit(),
#rus этот объект будет удален.
param MethodName
#rus Метод удаляет MethodName из списка имен триггеров удаления
param MethodName
#rus Метод удаляет MethodName из списка имен триггеров загрузки
param MethodName
#rus Метод удаляет MethodName из списка имен пост-триггеров сохранения
param MethodName
#rus Метод удаляет MethodName из списка имен триггеров сохранения
Removes all the data sources.
#rus Восстанавливает связь с источником данных
#rus Восстанавливает связь с источником данных
Rollbacks the transaction to the previous stable state.
Return index of current DS.
param Ds;
Sets a data source. Returns its index.
param Ds, Address, Account, Password, DSN, dbAccount, dbPassword;
#rus Устанавливает источник данных Ds. Для получения oID используется
#rus KeyServer, доступ к которому определяется параметрами
Address, Account, Password.
#rus Возвращает его индекс.
param mod2, sav;
Synchronizes two modifications of the object.
self is the first modification. The result will be placed in self.
Returns TRUE, if the synchronization succeded, otherwise FALSE.
Does not synchronize the object's fields modified in both modifications of
the object. If such fields exist and their contents differs, the method will
synchronize all the other fields and then will return FALSE.
Parameters:
mod2 - the second modification of the object,
sav - the object's duplicate made before its modification.
See also ObjectDifference3, VectorFieldDif, VectorDif classes,
Persist::Modify( int, ... ) method.
param mod2, sav, res;
Synchronizes two modifications of the object.
self is the first modification. The result will be placed in self.
Returns TRUE, if the synchronization succeded, otherwise FALSE.
Does not synchronize the object's fields modified in both modifications of
the object. If such fields exist and their contents differs, the method will
synchronize all the other fields and then will return FALSE.
Parameters:
mod2 - the second modification of the object,
sav - the object's duplicate made before its modification,
res - the result of comparison of two modifications with sav.
See also ObjectDifference3, VectorFieldDif, VectorDif classes,
Persist::Modify( int, ... ) method.
Transmits the newly created object to the database cache.
During the first call of Commit(), the object will be saved to the database.
Returns a poiter to the object in the cache.
#rus Поностью сбрасывает все структуры Persist
Updates dictionary objects from the database. Before that
all non-referenced objects are deleted.
Updates the scheme from database with the maximum patch number.
Successfully commits transaction.
Rollbacks transaction to the previous stable state.
#module root.database.odml
The class contains results of comparison of two vectors stored in two
FieldName fields of two objects.
Add1 - indexes of items of the first vector that are absent in the second one.
Add2 - indexes of items of the second vector that are absent in the first one.
Common - vector of pairs of indexes of corresponding items of the vectors.
FieldName - compared field's name.
param Name;
Adds the new Name to the parameter dictionary.
param Name, Value;
Adds the new Name to a dictionary and assigns it the Value.
param Flg;
The parameter can have TRUE or FALSE value.
Activates/deactivates parameter control from dictionary when
parsing (translating) the query.
param Name;
Checks a dictionary for the presence of the variable with the name Name.
If the variable is found then TRUE is returned; otherwise - FALSE.
Clears the dictionary of parameter names.
param Name;
Returns a reference to the variable with the name Name from the dictionary.
If the name is not found then EMPTY is returned.
Returns an element from the dictionary.
param Flg;
The parameter can have TRUE or FALSE value.
Activates/deactivates automatic substitution of parameters from the
variables that contained in the VarDictionary.
param Query, Param;
Executes the query Query with the parameters Params.
param Query, Param, offset;
Executes the query Query with the parameters Params that are taken
beginning from the offset.
param Query, Param;
Executes the query Query with the parameters Params.
The objects obtained from the query are placed in the cache and are
substituted by its pointers. So there is single copy of a database
object in the memory.
param Query, Param;
#rus Объекты, полученные в результате запроса перемещаются
#rus в КЭШ и замещаются ссылками на них. Этим обеспечивается
#rus наличие одной копии объекта базы данных в памяти.
param AllowFlg;
If AllowFlg == TRUE copying of objects stored in the database is allowed,
otherwise an object's oID is cleared during copying.
- _Commit, method of class Persist
- _RollBack, method of class Persist
- AddUserDeleteTrigger, method of class Persist
- AddUserLoadTrigger, method of class Persist
- AddUserPostSaveTrigger, method of class Persist
- AddUserSaveTrigger, method of class Persist
- BuildAllMethods, method of class Persist
- CheckLockError, method of class Persist
- ChooseDataSource, method of class Persist
- Clear, method of class Persist
- ClearAll, method of class Persist
- ClearTempPrimaryKey, method of class Persist
- Commit, method of class Persist
- CreateAutoPrimKey, method of class Persist
- CreateClassSpec, method of class Persist
- CreateParamsVector, method of class ODMLQuery
- Exec, method of class Persist
- Fetch, method of class Persist
- FuseCode, method of class Meta
- GetClassChildren, method of class Persist
- GetClassID, method of class Persist
- GetClassName, method of class Persist
- GetCurrentDS, method of class Persist
- GetDataSource, method of class Persist
- GetFreeIndex, method of class KeyClient
- GetFreeIndex, method of class Persist
- GetModifyType, method of class Persist
- GetNonLoadedIncludeList, method of class Persist
- GetNumbConnections, method of class Persist
- GetOwnDataSource, method of class Persist
- GetParamTypes, method of class ODMLQuery
- GetResultName, method of class ODMLQuery
- GetSelectNames, method of class ODMLQuery
- GetSelectTypes, method of class ODMLQuery
- GetSQLQuery, method of class ODMLQuery
- GetVersion, method of class Persist
- HasInheritance, method of class Persist
- InitNew, method of class Persist
- IsConnectionLost, method of class Persist
- IsDeadLock, method of class Persist
- IsEmpty, method of class ObjectDifference3
- IsLockW, method of class Persist
- IsTransactionOpen, method of class Persist
- KeyClient, class
- KeyClient, method of class KeyClient
- LoadFile, method of class Persist
- LoadForUpdate, method of class Persist
- LoadIncludesFromDB, method of class Persist
- LoadSpec, method of class Persist
- LoadSpecFromDB, method of class Persist
- LoadSpecListFromDB, method of class Persist
- LoadString, method of class Persist
- LockW, method of class Persist
- Meta, class
- Modify, method of class Persist
- MoveAllPointersTo, method of class Persist
- New, method of class Persist
- ObjectDifference3, class
- Odml2Exec, function
- Odml2ExecEx, function
- Odml2ExecP, function
- Odml3Exec, function
- Odml_AllowPersistCopy, function
- OdmlConnectInfo, class
- OdmlModifyObjectInfo, class
- ODMLQuery, class
- ODMLQuery, method of class ODMLQuery
- ODMLQuery_AddNameToVarDictionary, function
- ODMLQuery_AddToVarDictionary, function
- ODMLQuery_CheckDictionaryVar, function
- ODMLQuery_CheckInVarDictionary, function
- ODMLQuery_ClearVarDictionary, function
- ODMLQuery_FindInVarDictionary, function
- ODMLQuery_GetVariable, function
- ODMLQuery_UseVarDictionary, function
- OnDeadlock, method of class Persist
- OnDeleteTrigger, method of class Persist
- OnErrorOWS, method of class Persist
- OnErrorOWV, method of class Persist
- OnErrorSave, method of class Persist
- OnLoadTrigger, method of class Persist
- OnRollBack, method of class Persist
- OnSaveTrigger, method of class Persist
- OpenTransaction, method of class Persist
- Parse, method of class Meta
- Persist, class
- Prepare, method of class Persist
- RCommit, method of class Persist
- Register, method of class Persist
- RemoveCurrentDS, method of class Persist
- RemoveFromDB, method of class Persist
- RemoveUserDeleteTrigger, method of class Persist
- RemoveUserLoadTrigger, method of class Persist
- RemoveUserPostSaveTrigger, method of class Persist
- RemoveUserSaveTrigger, method of class Persist
- ResetDataSource, method of class Persist
- RestoreDataSource, method of class Persist
- RollBack, method of class Persist
- SetCurrentDS, method of class Persist
- SetDataSource, method of class Persist
- Synchronize, method of class Persist
- ToDB, method of class Persist
- TotalReset, method of class Persist
- TraceQueryTree, method of class ODMLQuery
- UpdateDictionary, method of class Persist
- UpdateSpecFromDB, method of class Persist
- VectorFieldDif, class