$FUNCNAME$
	CODB_CONNECT
$CATEGORY$
	CODB-QUERY
$SUMMARY$
	Connect to CODB databases.
$LANG_RU$
	    CODB.
$SYNTAX$
     codb_connect() --> oDB
$RETURNS$
	codb_connect() connects to CODB databases and returns object for other functions in codb-query library.
$LANG_RU$
	codb_connect()      CODB   ,      codb-query.
$END$
    
$FUNCNAME$
	CODB_CLOSE
$CATEGORY$
	CODB-QUERY
$SUMMARY$
	Disconnect from CODB databases.
$LANG_RU$
	    CODB.
$SYNTAX$
	codb_close(<oDB>) --> NIL
$ARGUMENTS$
	<oDB>	- Object. Database connection object returned from <link linkend="functionCODBCONNECT">codb_connect()</link>.
$LANG_RU$
	<oDB> 	- .      CODB, ݣ  <link linkend="functionCODBCONNECT">codb_connect()</link>.
$END$
  
$FUNCNAME$
	CODB_EXECUTE
$CATEGORY$
	CODB-QUERY
$SUMMARY$
	Execute query.
$LANG_RU$
	 .
$SYNTAX$
	codb_execute(<oDB>,<sQuery>,[<sDatabase>],[<aFiles>]) --> oRes
$ARGUMENTS$
	<oDB>		- Object. Database connection object returned from <link linkend="functionCODBCONNECT">codb_connect()</link>.
	<sQuery>	- String. Query on CQL (dialect of SQL adapted for CODB).
	<sDatabase>	- String. Name of work dictionary:depository (eg. ETC01:ETC0101). Optional parameter.
	<aFiles>	- Array. Array of files attached to this query. Each element is array: { <fileName>, <content> }. Optional parameter.
$LANG_RU$
	<oDB> 		- .      CODB, ݣ  <link linkend="functionCODBCONNECT">codb_connect()</link>.
	<sQuery>	- .   CQL ( SQL,   CODB).
	<sDatabase>	- .   : (, ETC01:ETC0101).  .
	<aFiles>	- .  , ̣  .         : { <_>, <> }.  .
$RETURNS$
	codb_execute() returns result as object. Real data shoult be retrieved by <link linkend="functionCODBGETRESULT">codb_get_result()</link>.
$LANG_RU$
	codb_execute()     .         <link linkend="functionCODBGETRESULT">codb_get_result()</link>.
$END$

$FUNCNAME$
	CODB_GET_ANSWER
$CATEGORY$
	CODB-QUERY
$SUMMARY$
	Check if answer of query is error.
$LANG_RU$
	,     .
$SYNTAX$
	codb_get_answer(<oRes>) --> '' | 'ERROR'
$ARGUMENTS$
	<oRes>		- Object. Object returned by <link linkend="functionCODBEXECUTE">codb_execute()</link> function.
$LANG_RU$
	<oRes>		- . , ݣ  <link linkend="functionCODBEXECUTE">codb_execute()</link>.
$RETURNS$
	Returns empty string if query executed successful or 'ERROR' if error is ocurred.
$LANG_RU$
	  ,      'ERROR'   .
$END$

$FUNCNAME$
	CODB_GET_COLUMN
$CATEGORY$
	CODB-QUERY
$SUMMARY$
	Get result column name by its index.
$LANG_RU$
	      .
$SYNTAX$
	codb_get_column(<oRes>, <nIndex>) --> sName
$ARGUMENTS$
	<oRes>		- Object. Object returned by <link linkend="functionCODBEXECUTE">codb_execute()</link> function.
	<nIndex>	- Number. Column number from 1.
$LANG_RU$
	<oRes>		- . , ݣ  <link linkend="functionCODBEXECUTE">codb_execute()</link>.
	<nIndex>	- .   ,   1.
$RETURNS$
	Returns column name from result or NIL if column number does not exist.
$LANG_RU$
	       NIL,      .
$END$

$FUNCNAME$
	CODB_GET_ERROR
$CATEGORY$
	CODB-QUERY
$SUMMARY$
	Get error description.
$LANG_RU$
	  .
$SYNTAX$
	codb_get_error(<oRes>) --> sError | NIL
$ARGUMENTS$
	<oRes>		- Object. Object returned by <link linkend="functionCODBEXECUTE">codb_execute()</link> function.
$LANG_RU$
	<oRes>		- . , ݣ  <link linkend="functionCODBEXECUTE">codb_execute()</link>.
$RETURNS$
	Returns NIL if query executed successful or error description if error is ocurred.
$LANG_RU$
	 NIL,          .
$END$

$FUNCNAME$
	CODB_GET_METAOBJECT
$CATEGORY$
	CODB-QUERY
$SUMMARY$
	Get metaobject content by ID.
$LANG_RU$
	     .
$SYNTAX$
	codb_get_metaobject(<oDB>,<sID>,[<sDatabase>]) --> oMetaobject
$ARGUMENTS$
	<oDB>		- Object. Database connection object returned from <link linkend="functionCODBCONNECT">codb_connect()</link>.
	<sID>		- String. ID of metaobject.
	<sDatabase>	- String. Name of work dictionary:depository (eg. ETC01:ETC0101). Optional parameter.
$LANG_RU$
	<oDB> 		- .      CODB, ݣ  <link linkend="functionCODBCONNECT">codb_connect()</link>.
	<sID>		- .  .
	<sDatabase>	- .   : (, ETC01:ETC0101).  .
$RETURNS$
	Returns metaobject content.
$LANG_RU$
	  .
$END$

$FUNCNAME$
	CODB_GET_OBJECT
$CATEGORY$
	CODB-QUERY
$SUMMARY$
	Get object content by ID.
$LANG_RU$
	     .
$SYNTAX$
	codb_get_object(<oDB>,<sID>,[<sDatabase>]) --> oObject
$ARGUMENTS$
	<oDB>		- Object. Database connection object returned from <link linkend="functionCODBCONNECT">codb_connect()</link>.
	<sID>		- String. ID of object.
	<sDatabase>	- String. Name of work dictionary:depository (eg. ETC01:ETC0101). Optional parameter.
$LANG_RU$
	<oDB> 		- .      CODB, ݣ  <link linkend="functionCODBCONNECT">codb_connect()</link>.
	<sID>		- .  .
	<sDatabase>	- .   : (, ETC01:ETC0101).  .
$RETURNS$
	Returns object content.
$LANG_RU$
	  .
$END$

$FUNCNAME$
	CODB_GET_RESULT
$CATEGORY$
	CODB-QUERY
$SUMMARY$
	Get query result as array.
$LANG_RU$
	     .
$SYNTAX$
	codb_get_result(<oRes>) --> aResult
$ARGUMENTS$
	<oRes>		- Object. Object returned by <link linkend="functionCODBEXECUTE">codb_execute()</link> function.
$LANG_RU$
	<oRes>		- . , ݣ  <link linkend="functionCODBEXECUTE">codb_execute()</link>.
$RETURNS$
	Returns query result as array.
$LANG_RU$
	     .
$END$

$FUNCNAME$
	CODB_NUM_COLUMNS
$CATEGORY$
	CODB-QUERY
$SUMMARY$
	Get number of columns in query result.
$LANG_RU$
	     .
$SYNTAX$
	codb_num_columns(<oRes>) --> nColumns
$ARGUMENTS$
	<oRes>		- Object. Object returned by <link linkend="functionCODBEXECUTE">codb_execute()</link> function.
$LANG_RU$
	<oRes>		- . , ݣ  <link linkend="functionCODBEXECUTE">codb_execute()</link>.
$RETURNS$
	Number of columns in query result.
$LANG_RU$
	    .
$END$

$FUNCNAME$
	CODB_NUM_ROWS
$CATEGORY$
	CODB-QUERY
$SUMMARY$
	Get number of rows in query result.
$LANG_RU$
	     .
$SYNTAX$
	codb_num_rows(<oRes>) --> nRows
$ARGUMENTS$
	<oRes>		- Object. Object returned by <link linkend="functionCODBEXECUTE">codb_execute()</link> function.
$LANG_RU$
	<oRes>		- . , ݣ  <link linkend="functionCODBEXECUTE">codb_execute()</link>.
$RETURNS$
	Number of rows in query result.
$LANG_RU$
	    .
$END$

$FUNCNAME$
	CODB_PUT_METAOBJECT
$CATEGORY$
	CODB-QUERY
$SUMMARY$
	Put metaobject in database.
$LANG_RU$
	    .
$SYNTAX$
	codb_put_metaobject(<oDB>,<oContent>,[<sDatabase>],<sClass>) --> oResult
$ARGUMENTS$
	<oDB>		- Object. Database connection object returned from <link linkend="functionCODBCONNECT">codb_connect()</link>.
	<oConent>	- Object. Metaobject content.
	<sDatabase>	- String. Name of work dictionary:depository (eg. ETC01:ETC0101). Optional parameter.
	<sClass>	- String. Class name.
$LANG_RU$
	<oDB> 		- .      CODB, ݣ  <link linkend="functionCODBCONNECT">codb_connect()</link>.
	<oConent>	- .  .
	<sDatabase>	- .   : (, ETC01:ETC0101).  .
	<sClass>	- .  .
$RETURNS$
	Result object.
$LANG_RU$
	 .
$END$

$FUNCNAME$
	CODB_PUT_OBJECT
$CATEGORY$
	CODB-QUERY
$SUMMARY$
	Put object in database.
$LANG_RU$
	    .
$SYNTAX$
	codb_put_object(<oDB>,<oContent>,[<sDatabase>],<sClass>) --> oResult
$ARGUMENTS$
	<oDB>		- Object. Database connection object returned from <link linkend="functionCODBCONNECT">codb_connect()</link>.
	<oConent>	- Object. bject content.
	<sDatabase>	- String. Name of work dictionary:depository (eg. ETC01:ETC0101). Optional parameter.
	<sClass>	- String. Class name.
$LANG_RU$
	<oDB> 		- .      CODB, ݣ  <link linkend="functionCODBCONNECT">codb_connect()</link>.
	<oConent>	- .  .
	<sDatabase>	- .   : (, ETC01:ETC0101).  .
	<sClass>	- .  .
$RETURNS$
	Result object.
$LANG_RU$
	 .
$END$

	
$EXAMPLES$
db := codb_connect()
e := codb_get_error( db )
if e != NIL
	?? "ERROR codb_connect(): " + e + chr(10)
	return 1
endif
fmt := CODBFormatter()
fmt:obj:options:hide_titles := .T.
res := codb_execute( db, 'show databases' )
? fmt:show()
codb_close( db )

$PLATFORMS$
	No dependies of platform.
$LANG_RU$
	   .
$SEEALSO$
	CODBFORMATTER
$AUTHOR$
	Andrey Cherepanov <skull@eas.lrn.ru>
$LANG_RU$
	  <skull@eas.lrn.ru>
$LASTDATE$