Use Bookmarks
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
Use of bookmarks
| true | — | The set of rows supports bookmarks. The bookmarks of rows are in a column 0. |
| false | — | The set of rows does not support a bookmarks and is sequential. |
|
Bookmark Type
Type: VT_I4
R/W: R/W
| Default: | DBPROPVAL_BMK_NUMERIC |
IBProvider v1, v2, v3.
See OLE DB references
|
Fetch Backwards
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
Fetch Backwards
|
Scroll Backwards
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
Scroll Backwards
|
Hold Rows
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
Hold of rows. See OLE DB references
|
Literal Bookmarks
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
See OLE DB references
|
Literal Row Identity
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
See OLE DB references
|
Maximum Open Rows
Type: VT_I4
R/W: R
IBProvider v1, v2, v3.
The maximum number of rows which can return a row set. Unlimited.
|
Maximum Rows
Type: VT_I4
R/W: R
IBProvider v1, v2, v3.
See OLE DB references
|
Memory Usage
Type: VT_I2
R/W: R/W
IBProvider v1, v2, v3.
Memory size which can use result set
| 0 | — | it hold in the memory no more 32 rows. |
| 1..99 | — | no more indicated percent of available memory |
| 100.. | — | no more indicated size (ÊÂ) |
For storing of results of inquiry IBProvider uses the temporary files with 64-bit access, and own cache mechanism. Therefore IBProvider can process any size of information. At the setting of the value to consider, that the internal cache IBProvider is secondary in relation to the cache of the operational system. On reasons of efficiency, schema rowsets store in memory always.
See the initialization property of provider
rowset_vm_using.
|
Bookmarks Ordered
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
See OLE DB references
|
IAccessor
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
See OLE DB references
|
IColumnsInfo
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
See OLE DB references
|
IColumnsInfo2
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
See OLE DB references
|
IColumnsRowset
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
See OLE DB references
|
IRowset
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
See OLE DB references
|
IRowsetInfo
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
See OLE DB references
|
IRowsetLocate
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
Random access to resultant set (set of rows)
|
IRowsetScroll
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
See OLE DB references
|
ISupportErrorInfo
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
See OLE references
|
IConvertType
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
See OLE DB references
|
ISequentialStream
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
See OLE DB references
|
Quick Restart
Type: VT_BOOL
R/W: R
IBProvider v1, v2, v3.
| True | — | IRowset::RestartPosition is relatively quick to execute. In particular, it does not reexecute the command that created the rowset. |
| False | — | IRowset::RestartPosition is expensive to execute and requires reexecuting the command that created the rowset. |
|
Unique Rows
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
See OLE DB references
|
Hidden Column Count
Type: VT_I4
R/W: R
IBProvider v1, v2, v3.
See OLE DB references
|
Row Threading Model
Type: VT_I4
R/W: R
| Value: | DBPROPVAL_RT_FREETHREAD|DBPROPVAL_RT_APTMTTHREAD |
IBProvider v1, v2, v3.
See OLE DB references
|
Access Order
Type: VT_I4
R/W: R
| Value: | DBPROPVAL_AO_RANDOM |
IBProvider v1, v2, v3.
See OLE DB references
|
Blocking Storage Objects
Type: VT_BOOL
R/W: R
IBProvider v1, v2, v3.
See OLE DB references
|
IRowsetChange
Type: VT_BOOL
R/W: R/W
IBProvider v2, v3.
Turning on of support of interface IRowsetChange to update the row set.When IRowsetUpdate and Append-Only Rowset in true then this property is true automatically.
|
IRowsetUpdate
Type: VT_BOOL
R/W: R/W
IBProvider v2, v3.
Turning on of support of interface IRowsetUpdate to execution of delayed changes of row set. When this property is true then support of interface IRowsetChange is on automatically.
|
Updatability
Type: VT_I4
R/W: R/W
IBProvider v2, v3.
Bit mask that determines supported operation of data update. Available value is 0 or combined from:
| 1 | — | Support of row update (IRowsetChange::SetData) |
| 2 | — | Support of row deleting (IRowsetChange::DeleteRows) |
| 4 | — | Support of new row insert (IRowsetChange::InsertRow) |
|
Append-Only Rowset
Type: VT_BOOL
R/W: R/W
IBProvider v2, v3.
If the property is true then opened row set will be empty initially and property " IRowsetChange" will be true automatically and method IRowsetChange::InsertRow (property " Updatability") will be allowed.
|
Immobile Rows
Type: VT_BOOL
R/W: R
IBProvider v2, v3.
New rows are appended to end of row set.
|
Others' Inserts Visible
Type: VT_BOOL
R/W: R
IBProvider v2, v3.
In the general case the new rows created by other users are invisible for the row set.
|
Others' Changes Visible
Type: VT_BOOL
R/W: R
IBProvider v2, v3.
In the general case the changes made by other users are invisible for the row set.
|
Own Inserts Visible
Type: VT_BOOL
R/W: R/W
IBProvider v2, v3.
If you set the property in false then new rows will be simply passed in database and will not be accessible for further work. In delayed changes mode (" IRowsetUpdate"= true) the value of the property is ignored and row set has an access to own new rows always.
|
Own Changes Visible
Type: VT_BOOL
R/W: R/W
IBProvider v2, v3.
If the property is false then all updates/deleting of rows will be passed in database directly and will no be visible in row set. In delayed changes mode (" IRowsetUpdate"= true) the value of the property is ignored and row set can see own changes of rows.
|
Server Data on Insert
Type: VT_BOOL
R/W: R
IBProvider v2, v3.
Row set does not re-read data of new row after insert in database.
|
Remove Deleted Rows
Type: VT_BOOL
R/W: R/W
IBProvider v2, v3.
If the property is false then provider will not remove rows for which delete operation was made. In this case you can continue to select it but any method of selection of the row data will return DB_E_DELETEDROW. Focus attention that when you remove a row pending insert the row set deletes it always. Therefore after deleting, such rows become invisible absolutely for row set navigation mechanism.
|
Return Pending Inserts
Type: VT_BOOL
R/W: R/W
IBProvider v2, v3.
Set the property in false and you cannot select rows pending insert. The row will be visible after insert in database ( IRowsetUpdate::Update).
|
Change Inserted Rows
Type: VT_BOOL
R/W: R/W
IBProvider v2, v3.
Permission to modify new rows. If this property is false then row set will not allow change and deleting of new rows. When you try to modify new row then error code DB_E_NEWLYINSERTED will return. When you try to delete new row the status DBROWSTATUS_E_NEWLYINSERTED will return. Focus attention if row waits insert (delayed changes mode) then you can modify and delete it. Some restrictions will come after insert only (IRowsetUpdate::Update).
|
Delay Storage Object Updates
Type: VT_BOOL
R/W: R
IBProvider v2, v3.
Provider caches new values of BLOB fields always. See also description of organization of local storage used in updatable row set.
|
Preserve on Commit
Type: VT_BOOL
R/W: R
IBProvider v1, v2, v3.
In the general case the row sets will not function after transaction commit. Focus attention that you cannot control automatic transaction explicitly. Therefore if automatic transaction is used then it will be active before the complete release of the row set.
|
Preserve on Abort
Type: VT_BOOL
R/W: R
IBProvider v1, v2, v3.
In the general case the row sets will not function after transaction rollback.
See the rowset property
Preserve on Commit
|
IRowsetResynch
Type: VT_BOOL
R/W: R
IBProvider v1, v2, v3.
Current version of provider does not support interface
" IRowsetResynch".
|
IConnectionPointContainer
Type: VT_BOOL
R/W: R
IBProvider v1, v2, v3.
Current version of provider does not support interface
" IConnectionPointContainer".
|
IRowsetFind
Type: VT_BOOL
R/W: R
IBProvider v1, v2, v3.
Current version of provider does not support interface
" IRowsetFind".
|
IRowsetRefresh
Type: VT_BOOL
R/W: R
IBProvider v1, v2, v3.
Current version of provider does not support interface
" IRowsetRefresh".
|
Lock Mode
Type: VT_I4
R/W: R
IBProvider v1, v2, v3.
The row set does not require any blockings of rows for the successful update. Failure can occur only in the case of conflicts with the concurrent access to the data.
|
IRowsetIndex
Type: VT_BOOL
R/W: R
IBProvider v1, v2, v3.
Current version of provider does not support interface
" IRowsetIndex".
|
IRowsetCurrentIndex
Type: VT_BOOL
R/W: R
IBProvider v1, v2, v3.
Current version of provider does not support interface
" IRowsetCurrentIndex".
|
Skip Row Count Results
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
See OLE DB references
|
Prepare Stmt
Type: VT_BSTR
R/W: R
IBProvider v1, v2, v3.
The transformed text of inquiry, used for transmission to the server.
|
array_vt_type
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
Convert array elements to VT compatible types.
See the rowset property
array_type
See the initialization property of provider
array_vt_type
|
truncate_char
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
Allowing of truncation of the CHAR data.
See the initialization property of provider
truncate_char
|
support_odbc_query
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
Support of queries containing ODBC escape sequences.
See the initialization property of provider
support_odbc_query
|
force_prepare_stmt
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
Forced preparation of queries and forming of parameters descriptions when setting query text.
See the initialization property of provider
force_prepare_stmt
|
ignore_unprepare
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
Permission to ignore SQL-query command UnPrepare.
See the initialization property of provider
ignore_unprepare
|
std_exec_sp
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
"exec SP" query interpretation method.
| True | — | As "execute procedure SP". The result will be accessible through OUT-parameters. |
| False | — | As "select * from SP". The result will be accessible in the form of result set. |
[for ibp v1/v2] Schema Rowset will describe stored procedures as returning OUT-parameters independently of value of the property. [for ibp v3] This property is old. Use ado_exec_sp.
See the initialization property of provider
std_exec_sp
See the initialization property of provider
ado_exec_sp
See the rowset property
ado_exec_sp
|
odbc_call_sp
Type: VT_I4
R/W: R/W
IBProvider v1, v2, v3.
Method of execution ODBC-query "{?=call SP(...)}"
| 0 | — | As "select * from SP". The result will be accessible in the form of result set. |
| 1 | — | As "execute procedure SP". The result will be accessible through OUT-parameters. |
| 2 | — | [ibp v3] automatic conversion mode. |
See the initialization property of provider
odbc_call_sp
See the initialization property of provider
schema_sp_params
|
clear_param_info
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
It permits to clear the list of parameters descriptions when setting the new query text. If client sets parameters descriptions firstly and query text after this then descriptions will lost. In this case either error of command execution or additional outgo for automatic forming of the list of parameters descriptions. (
See the initialization property of provider
clear_param_info
|
auto_param_describe
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
If user did not set parameters descriptions when executing the parameterized query then provider will form it automatically through inquiry to server.
|
force_param_describe
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
Implicit obtaining of parameters descriptions and using of it for transfer parameters values with that types which database server hopes to get. In this mode they may, for example, not to make any difference for parameters for usual string and BLOB ( adChar, adVarChar, adLongVarChar) fields - provider will make all necessary conversions. Pay your attention to the fact that Client Cursor Engine can interpret long strings (e.g. VARCHAR(32000)) as BLOB-field and work with it with incorrect method. The overheads are one access a server when executing the command first time(!). If you work with IBProvider through ADODB without using of Client Cursor Engine and exactly define parameters types than it should be better to set it in False.
See the initialization property of provider
force_param_describe
|
named_param_prefix
Type: VT_BSTR
R/W: R/W
IBProvider v1, v2, v3.
This property determines prefix of the named parameters in the query text. Provider supports prefixes, which consist of several characters, for example, "##". If you set empty string into the property then provider will not support named parameters. This functionality is necessary with the executing of DDL queries (in IBP v1, v2).
See the initialization property of provider
named_param_prefix
|
query_pool_size
Type: VT_I2
R/W: R/W
IBProvider v2, v3.
Definition of the maximum number of prepared queries, which are utilized for control of the set update. When any query is executing (both service and for the data modification) then presence of analogous query in the pool is checked at first. If such query has already been executed, then it will be used repeatedly. If no, then most "old" query will be re-prepared. If you want to forbid the use of a query pool then you should set the property into 0.
|
auto_insert_field_rule
Type: VT_I2
R/W: R/W
IBProvider v2, v3.
Rule of the formation of SQL query (INSERT INTO...) for insert a new row in the automatic control mode of the updatable row set. Its available values are:
| 0 | — | Enumerate all columns. Non-initialized columns are passed as NULL. |
| 1 | — | Enumerate only columns for which user set value. The provider will return error if there is no at least one initialized column. |
| 2 | — | Enumerate NOT NULL columns. The provider will return error, if all columns of new row are NULL. |
Focus attention that if table, in which new row is inserted, contains columns with DEFAULT values then you should set the property in 1. The minimization of net traffic is ensured by values 1 and 2 of the property.
|
auto_update_field_rule
Type: VT_I2
R/W: R/W
IBProvider v2, v3.
The rule of the formation of SQL query (UPDATE...) for update row in the automatic control mode of the updatable row set. Its available values are:
| 0 | — | Enumerate all columns. |
| 1 | — | Enumerate modified columns only. |
The minimization of net traffic is ensured value 1 of the property.
|
auto_gen_key_rule
Type: VT_BSTR
R/W: R/W
IBProvider v2, v3.
List of rules of key generation when a new row is inserted in automatic mode. auto_gen_key_rule = <gen_key_rule>{;<gen_key_rule>}
<gen_key_rule> = {GEN | GEN_N | GEN_NI }.GeneratorName.<column_id>
<column_id> = {<aliase_column_name> | <full_column_name>}
<aliase_column_name> = name of column in result set
<full_columns_name> = BaseTableName.BaseColumnName
| GEN | — | Always generate new value of column |
| GEN_N | — | Generate new value if column value is NULL |
| GEN_NI | — | Generate new value if column was not initialized |
Using these rules, the row set can automatically use generators for determining the values of the key (and not only) columns. When you define names of generator, table and column you may use quoted names. Example. If there is ID column in table MY_TABLE then you can define follow rule of key generation with using of GEN_ID_MY_TABLE generator:
| auto_gen_key_rule | = | GEN_NI.GEN_ID_MY_TABLE.ID |
| auto_gen_key_rule | = | GEN_NI.GEN_ID_MY_TABLE .MY_TABLE.ID |
If user did not set any value in column ID, then provider uses generator GEN_ID_MY_TABLE to get unique value.
|
modify_trans_type
Type: VT_I2
R/W: R/W
IBProvider v2, v3.
Determination of the transaction utilized for the operations of the record of changes in database. Its available values are:
| 0 | — | If automatic transaction is used for reading of row set data, then separate short transaction will be used for the record of changes (see 2). If user explicitly started transaction to select some data then namely it will be used for data update (see 1). |
| 1 | — | Main transaction with data selection is used. |
| 2 | — | Separate short transaction is used. In this mode you can avoid DEAD blocking but there is no any guarantee for database integrity. |
Focus attention that the automatic transaction is committed when closing the row set. Therefore, after setting the property in 1 and after opening row set in automatic transaction, you will not be able to see any changes in database as long as you will not release row set.
|
modify_trans_level
Type: VT_I4
R/W: R/W
IBProvider v2, v3.
Isolation level of separate transaction with database modification. The allowed values coincide with the values of property "
auto_commit_level".
|
delete_sql
Type: VT_BSTR
R/W: R/W
IBProvider v2, v3.
Defines SQL queries executed when deleting row. Several SQL are enumerated through the semicolon. The use only of OLD parameters is allowed in the query text. Example.delete_sql = DELETE FROM MY_TABLE WHERE ID=:OLD.ID See documentation on controlled mode of updatable row sets.
|
insert_sql
Type: VT_BSTR
R/W: R/W
IBProvider v2, v3.
Defines SQL queries executed when inserting a new row. Several SQL are enumerated through semicolon. The use of NEW, GEN, GEN_N, GEN_NI parameters is allowed in the query text. Example.insert_sql = INSERT INTO MY_TABLE (ID,NAME)VALUES(:GEN.GEN_ID_MY_TABLE.ID,:NEW.NAME) See documentation on controlled mode of updatable row sets.
|
update_sql
Type: VT_BSTR
R/W: R/W
IBProvider v2, v3.
Defines SQL queries executed when updating a row. Several SQL are enumerated through semicolon. The use of NEW and OLD parameters is allowed in the query text. Example.update_sql = UPDATE MY_TABLESET ID=:NEW.ID, NAME=:NEW.NAME WHERE ID=:OLD.ID See documentation on controlled mode of updatable row sets.
|
rowset_vm_using
Type: VT_I4
R/W: R/W
IBProvider v1, v2, v3.
Memory volume (kilobytes) under the cache of result rowset, beginning from which the memory manager based on VirtualAlloc/VirtualFree and SEH will be used. Always the memory manager based on HeapAlloc/HeapFree will be used if value of this property is negative. See also:
the initialization property of provider
rowset_vm_using
,
Memory Usage.
|
new! ado_exec_sp
Type: VT_I4
R/W: R/W
IBProvider v3.
"exec SP" query interpretation method. Possible values:
| 0 | — | Convert query "exec SP" to the "select * from SP" |
| 1 | — | Convert query "exec SP" to the "execute procedure SP" |
| 2 | — | Automatic conversion mode |
This property replace old property std_exec_sp
See the initialization property of provider
ado_exec_sp
See the initialization property of provider
schema_sp_params
|
exec_sp_named_param
Type: VT_BOOL
R/W: R/W
IBProvider v1, v2, v3.
Setting for "exec SP" translation into native query of stored procedure call. Possible values:
| True | — | Generate a query with named parameters: "execute procedure SP (:param1, param2 ...)". |
| False | — | Generate a query with unnamed parameters: "execute procedure SP (?,? ...)". |
See the initialization property of provider
exec_sp_named_param.
|
new! ignore_err_param
Type: VT_I4
R/W: R/W
IBProvider v1, v2, v3.
A bitmask with flags for ignoring errors in command parameters.
See the initialization property of provider
ignore_err_param
|
new! support_square_delim_name
Type: VT_I4
R/W: R/W
IBProvider v1, v2, v3.
Support of delimiting of database object identifiers with using of square brackets
| 0 | — | Support is disabled. |
| 1 | — | Processing all square brackets. |
| 2 | — | [v3] Parser is trying to distinguish the identifiers and indexing of arrays. |
Parser of square brackets is detecting and ignoring comments and text values
See the initialization property of provider
support_square_delim_name
|
new! array_type
Type: VT_I4
R/W: R/W
| Default: | It derives initialization property array_type |
IBProvider v3.
Rules for publication of columns and parameters with arrays
| 0 | — | Columns and parameters with original type of array elements. |
| 1 | — | Used a VARIANT-compatible type of array elements. |
| 2 | — | Used array of VARIANT. This is VBScript-compatible mode. |
| 17 | — | Like "1", but array will be packed into VARIANT. |
| 18 | — | Like "2", but array will be packed into VARIANT. This is VBScript-compatible mode. |
This property replaces the
array_vt_type
See the initialization property of provider
array_type
|