X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=inc%2FFIoDatabase.h;h=eb0d5df423cc19307a6969aae6f763a8ebd8e25c;hb=102d9124a6981de495cb23e8bd98c2de322960fb;hp=e2ca4971797812534fe0c10086e07037679140a2;hpb=484fcb4c0c9a85c0e69b72381f4784d98dab3a8e;p=platform%2Fframework%2Fnative%2Fappfw.git diff --git a/inc/FIoDatabase.h b/inc/FIoDatabase.h index e2ca497..eb0d5df 100644 --- a/inc/FIoDatabase.h +++ b/inc/FIoDatabase.h @@ -1,5 +1,4 @@ // -// Open Service Platform // Copyright (c) 2012 Samsung Electronics Co., Ltd. // // Licensed under the Apache License, Version 2.0 (the License); @@ -43,13 +42,13 @@ class DbEnumerator; /** * @class Database - * @brief This class provides the basic database and database entry management methods. + * @brief This class provides methods for database management. * * @since 2.0 * * @final This class is not intended for extension. * - * The %Database class provides the basic database and database entry management methods. + * The %Database class provides methods for database management. * All members of this class are guaranteed to be thread-safe. * * For more information on the class features, @@ -277,7 +276,8 @@ class _OSP_EXPORT_ Database public: /** - * The object is not fully constructed after this constructor is called. For full construction, the Construct() method must be called right after calling this constructor. + * The object is not fully constructed after this constructor is called. @n + * For full construction, the Construct() method must be called right after calling this constructor. * * @since 2.0 */ @@ -291,8 +291,7 @@ public: virtual ~Database(void); /** - * @{ - * @if OSPDEPREC + * @cond OSPDEPREC * Initializes this instance of %Database with the specified parameters. @n * This method creates a new database file or opens an existing database file in the read-write mode. * @@ -312,35 +311,31 @@ public: * @param[in] createIfNotExist Set to @c true to create a database file, @n * else @c false to open an existing database file * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG Either of the following conditions has occurred: @n - * - The length of the specified @c dbPath is invalid. @n - * - The specified @c dbPath is invalid or the path ends with '/'. @n - * - The directory name path is missing. @n - * - The parent directory does not exist. @n - * @exception E_ILLEGAL_ACCESS Access is denied due to insufficient permission. - * @exception E_FILE_ALREADY_EXIST The specified database file already exists. @n - * Creation of database file has failed because the destination file already exists. @n - * Creation of the database file is attempted if the file does not exist and - * the specified @c createIfNotExist is @c true. - * However, at this moment another thread has been already created the database file - * with the same file path. + * @exception E_INVALID_ARG Either of the following conditions has occurred: + * - The length of the specified @c dbPath is invalid. + * - The specified @c dbPath is invalid or the path ends with '/'. + * - The directory name path is missing. + * - The parent directory does not exist. + * @exception E_ILLEGAL_ACCESS The access is denied due to insufficient permission. + * @exception E_FILE_ALREADY_EXIST Either of the following conditions has occurred: + * - The specified database file already exists. + * - The creation of the database file failed because the destination file already exists. + * - The creation of the database file is attempted if the file does not exist and the specified @c createIfNotExist is + * @c true. However, in this case, another thread has already created the database file with the same file path. @n * This is a rare case, however, it is possible if a race condition is present between several threads. * @exception E_FILE_NOT_FOUND The specified database file cannot be found or accessed. - * @exception E_DATABASE Either of the following conditions has occurred: @n - * - The method has failed to open or create a file. @n - * - An unexpected device failure has occurred as the media ejected suddenly. @n + * @exception E_DATABASE Either of the following conditions has occurred: + * - The method has failed to open or create a file. + * - An unexpected device failure has occurred as the media ejected suddenly. * - %File corruption is detected. - * @remarks To open the database file in the read-only mode, - * use the Database::Construct(const Tizen::Base::String& dbPath, const char* pOpenMode) method + * @remarks To open the database file in the read-only mode, use the Database::Construct(const Tizen::Base::String&, const char*) method * with "r" as the value for the open mode flag. - * @endif - * @} + * @endcond */ result Construct(const Tizen::Base::String& dbPath, bool createIfNotExist); /** - * @{ - * @if OSPDEPREC + * @cond OSPDEPREC * Initializes this instance of %Database with the specified parameters. @n * This method creates a new database file or opens an existing database file in the read-only or the read-write mode. * @@ -357,28 +352,27 @@ public: * * @return An error code * @param[in] dbPath The path of the database file to open - * @param[in] openMode An open mode flag @n + * @param[in] openMode The file opening mode flag @n * Currently, the following flags can be used in combination with the logical OR operator: @n * (1) DB_OPEN_READ_ONLY @n * (2) DB_OPEN_READ_WRITE @n * (3) DB_OPEN_READ_WRITE | DB_OPEN_CREATE * @param[in] option This argument is reserved for further use * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG Either of the following conditions has occurred: @n - * - The length of the specified @c dbPath is invalid. @n - * - The specified @c openMode is invalid. @n - * - The specified @c dbPath is invalid or the path ends with '/'. @n - * - The directory name path is missing. @n - * - The parent directory does not exist. @n - * @exception E_ILLEGAL_ACCESS Access is denied due to insufficient permission. + * @exception E_INVALID_ARG Either of the following conditions has occurred: + * - The length of the specified @c dbPath is invalid. + * - The specified @c openMode is invalid. + * - The specified @c dbPath is invalid or the path ends with '/'. + * - The directory name path is missing. + * - The parent directory does not exist. + * @exception E_ILLEGAL_ACCESS The access is denied due to insufficient permission. * @exception E_FILE_ALREADY_EXIST The specified database file already exists. * @exception E_FILE_NOT_FOUND The specified database file cannot be found or accessed. - * @exception E_DATABASE Either of the following conditions has occurred: @n - * - The method has failed to open or create a file. @n - * - An unexpected device failure has occurred as the media ejected suddenly. @n + * @exception E_DATABASE Either of the following conditions has occurred: + * - The method has failed to open or create a file. + * - An unexpected device failure has occurred as the media ejected suddenly. * - %File corruption is detected. - * @endif - * @} + * @endcond */ result Construct(const Tizen::Base::String& dbPath, long openMode, long option); @@ -396,19 +390,19 @@ public: * - r+: Open for reading and writing. * - a+: Open for writing and reading. The database file is created if it does not exist. * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG Either of the following conditions has occurred: @n + * @exception E_INVALID_ARG Either of the following conditions has occurred: * - The overall length of the specified @c dbPath is equal to @c 0 or - * exceeds system limitations. @n - * - The specified @c dbPath ends with '/'. @n - * - The combination of the specified @c pOpenMode is not allowed. @n - * @exception E_ILLEGAL_ACCESS Access is denied due to insufficient permission. + * exceeds system limitations. + * - The specified @c dbPath ends with '/'. + * - The combination of the specified @c pOpenMode is not allowed. + * @exception E_ILLEGAL_ACCESS The access is denied due to insufficient permission. * @exception E_FILE_NOT_FOUND The specified @c dbPath cannot be found. * @exception E_INVALID_FORMAT The specified @c dbPath is not a database. * @exception E_STORAGE_FULL The disk space is full. * @exception E_SYSTEM The method cannot proceed due to a severe system error. - * @exception E_IO Either of the following conditions has occurred: @n - * - An unexpected device failure has occurred as the media ejected suddenly. @n - * - %File corruption is detected. @n + * @exception E_IO Either of the following conditions has occurred: + * - An unexpected device failure has occurred as the media ejected suddenly. + * - %File corruption is detected. */ result Construct(const Tizen::Base::String& dbPath, const char* pOpenMode); @@ -417,7 +411,7 @@ public: * This method opens an existing secure database file or creates a new one according to the specified file opening mode. * The contents written to the secure database file is automatically encrypted and the contents read from the secure database * file is automatically decrypted by the platform. @n - * Applications using this method can access the same secure database files that are created by other applications with the + * Applications using this method can access the secure database files that are created by other applications with an * identical key value in same device. However, the secure files created by this method cannot be accessed in other devices. * * @since 2.0 @@ -426,27 +420,27 @@ public: * @return An error code * @param[in] dbPath The path of the database file to open or create * @param[in] pOpenMode The file opening mode @n - * It can be one of the following: @n - * - r : Open for reading @n - * - r+: Open for reading and writing @n - * - a+: Open for writing and reading. The database file is created if it does not exist. @n - * @param[in] secretKey A key used to encrypt data of a database file or decrypt a secure database file @n - * If a secure database file is created with a specific key value, - * other applications can access the same secure database file with the identical key value. + * It can be one of the following: + * - r : Open for reading + * - r+: Open for reading and writing + * - a+: Open for writing and reading. The database file is created if it does not exist. + * @param[in] secretKey The key used to encrypt the data of the database file or decrypt the secure database file @n + * If the secure database file is created with a specific key value, + * other applications can access the secure database file with an identical key value. * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG Either of the following conditions has occurred: @n + * @exception E_INVALID_ARG Either of the following conditions has occurred: * - The overall length of the specified @c dbPath is equal to @c 0 or - * exceeds system limitations. @n - * - The specified @c dbPath ends with '/'. @n - * - The combination of the specified @c pOpenMode is not allowed. @n - * @exception E_ILLEGAL_ACCESS Access is denied due to insufficient permission. + * exceeds system limitations. + * - The specified @c dbPath ends with '/'. + * - The combination of the specified @c pOpenMode is not allowed. + * @exception E_ILLEGAL_ACCESS The access is denied due to insufficient permission. * @exception E_FILE_NOT_FOUND The specified @c dbPath cannot be found. * @exception E_INVALID_FORMAT The specified @c dbPath is not a database. * @exception E_STORAGE_FULL The disk space is full. * @exception E_SYSTEM The method cannot proceed due to a severe system error. - * @exception E_IO Either of the following conditions has occurred: @n - * - An unexpected device failure has occurred as the media ejected suddenly. @n - * - %File corruption is detected. @n + * @exception E_IO Either of the following conditions has occurred: + * - An unexpected device failure has occurred as the media ejected suddenly. + * - %File corruption is detected. * @exception E_UNSUPPORTED_OPERATION The Emulator or target device does not support the required feature. For more information, see * Application Filtering. * @remarks Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&). @@ -454,7 +448,7 @@ public: result Construct(const Tizen::Base::String& dbPath, const char* pOpenMode, const Tizen::Base::ByteBuffer& secretKey); /** - * Creates a SQL statement for the current database. + * Creates an SQL statement for the current database. * * @if OSPCOMPAT * @brief [Compatibility] @@ -469,7 +463,7 @@ public: * else @c null if an exception occurs * @param[in] sqlStatement The SQL statement to compile * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG The specified @c sqlStatement is invalid SQL. + * @exception E_INVALID_ARG The specified @c sqlStatement is an invalid SQL. * @exception E_OBJECT_LOCKED The database instance is locked. * @exception E_SYSTEM The method cannot proceed due to a severe system error. * @remarks The specific error code can be accessed using the GetLastResult() method. @@ -478,11 +472,11 @@ public: DbStatement* CreateStatementN(const Tizen::Base::String& sqlStatement); /** - * Executes a statement in the calling %Database instance. @n + * Executes a statement in the current %Database instance. @n * If an application opens a database file using Database::Construct(const Tizen::Base::String& dbPath, * const char* pOpenMode, const Tizen::Base::ByteBuffer& secretKey), * the data set written by INSERT/UPDATE is automatically encrypted by the Tizen platform and - * the data set read by SELECT is also decrypted by itself. + * the data set read by SELECT is decrypted. * * @if OSPCOMPAT * @brief [Compatibility] @@ -498,27 +492,28 @@ public: * SELECT query, or if one of INSERT, UPDATE, and DELETE queries is executed. * @param[in] dbStatement The DbStatement instance to execute * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG The specified @c dbStatement includes invalid SQL. + * @exception E_INVALID_ARG The specified @c dbStatement includes an invalid SQL. * @exception E_OBJECT_LOCKED The database instance is locked. * @exception E_INVALID_FORMAT The database file is malformed. * @exception E_STORAGE_FULL The disk space or database image is full. - * @exception E_IO Either of the following conditions has occurred: @n - * - An unexpected device failure has occurred as the media ejected suddenly. @n + * @exception E_IO Either of the following conditions has occurred: + * - An unexpected device failure has occurred as the media ejected suddenly. * - %File corruption is detected. * @exception E_SYSTEM The method cannot proceed due to a severe system error. - * @remarks If @c dbStatement contains the SELECT query, the Reset() method of the DbEnumerator instance returned - * from this method should be called. The Reset() method should be called before re-binding the dbStatement + * @remarks + * - If @c dbStatement contains the SELECT query, the Reset() method of the DbEnumerator instance returned + * from this method should be called. The %Reset() method should be called before re-binding the dbStatement * with the bind methods of the DbStatement class. - * This method returns an enumerator if the result set is generated by the SELECT query. - * @c null is returned if no result set is available after the successful execution of the SELECT query. + * - This method returns an enumerator if the result set is generated by the SELECT query. + * @c null is returned if no result set is available after the successful execution of the SELECT query. @n * Note that, a return value of @c null does not mean that the statement execution has failed. - * The enumerator returned by the SELECT query does not indicate any row before it calls DbEnumerator::MoveNext(). - * The specific error code can be accessed using the GetLastResult() method. + * - The enumerator returned by the SELECT query does not indicate any row before it calls DbEnumerator::MoveNext(). + * - The specific error code can be accessed using the GetLastResult() method. */ DbEnumerator* ExecuteStatementN(const DbStatement& dbStatement); /** - * Executes SQL statement in this %Database instance. @n + * Executes the specified SQL statement in the current %Database instance. @n * Any SQL statement that does not give a result set can be run using this method; for example, CREATE, INSERT, UPDATE, DELETE. * The SELECT query cannot be executed using this method. @n * If an application opens a database file using Database::Construct(const Tizen::Base::String& dbPath, @@ -538,13 +533,13 @@ public: * @param[in] sqlStatement The SQL statement to execute * @param[in] option This argument is reserved for further use. * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG The specified @c sqlStatement is invalid SQL. + * @exception E_INVALID_ARG The specified @c sqlStatement is an invalid SQL. * @exception E_INVALID_OPERATION The specified @c sqlStatement is a SELECT query. * @exception E_OBJECT_LOCKED The database instance is locked. * @exception E_INVALID_FORMAT The database file is malformed. * @exception E_STORAGE_FULL The disk space or database image is full. - * @exception E_IO Either of the following conditions has occurred: @n - * - An unexpected device failure has occurred as the media ejected suddenly. @n + * @exception E_IO Either of the following conditions has occurred: + * - An unexpected device failure has occurred as the media ejected suddenly. * - %File corruption is detected. * @exception E_SYSTEM The method cannot proceed due to a severe system error. * @remarks Use QueryN() to execute SELECT query. @@ -553,7 +548,7 @@ public: result ExecuteSql(const Tizen::Base::String& sqlStatement, bool option); /** - * Executes a SELECT query in the calling %Database instance. @n + * Executes the specified SELECT query in the current %Database instance. @n * If an application opens a database file using Database::Construct(const Tizen::Base::String& dbPath, * const char* pOpenMode, const Tizen::Base::ByteBuffer& key), * the data set read by SELECT is automatically decrypted by the Tizen platform. @@ -571,20 +566,21 @@ public: * else @c null if an exception occurs or if no result set is generated after the successful execution of the SELECT query * @param[in] sqlStatement The SQL statement to execute * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG The specified @c sqlStatement is invalid SQL. + * @exception E_INVALID_ARG The specified @c sqlStatement is an invalid SQL. * @exception E_INVALID_OPERATION The specified @c sqlStatement is not a SELECT query. * @exception E_OBJECT_LOCKED The database instance is locked. * @exception E_INVALID_FORMAT The database file is malformed. - * @exception E_IO Either of the following conditions has occurred: @n - * - An unexpected device failure has occurred as the media ejected suddenly. @n + * @exception E_IO Either of the following conditions has occurred: + * - An unexpected device failure has occurred as the media ejected suddenly. * - %File corruption is detected. * @exception E_SYSTEM The method cannot proceed due to a severe system error. - * @remarks This method returns an enumerator if the result set is generated by the SELECT query. - * @c null is returned if no result set is available after the successful execution of the SELECT query. + * @remarks + * - This method returns an enumerator if the result set is generated by the SELECT query. + * @c null is returned if no result set is available after the successful execution of the SELECT query. @n * Note that, a return value of @c null does not mean that the statement execution has failed. - * The enumerator returned by the SELECT query does not indicate any row before it calls + * - The enumerator returned by the SELECT query does not indicate any row before it calls * DbEnumerator::MoveNext(). - * The specific error code can be accessed using the GetLastResult() method. + * - The specific error code can be accessed using the GetLastResult() method. * @see ExecuteSql() */ DbEnumerator* QueryN(const Tizen::Base::String& sqlStatement); @@ -611,7 +607,7 @@ public: result BeginTransaction(void); /** - * Commits a transaction within this %Database instance. + * Commits a transaction within the current %Database instance. * * @if OSPCOMPAT * @brief [Compatibility] @@ -628,18 +624,18 @@ public: * @exception E_OBJECT_LOCKED The database instance is locked. * @exception E_INVALID_FORMAT The database file is malformed. * @exception E_STORAGE_FULL The disk space or database image is full. - * @exception E_IO Either of the following conditions has occurred: @n - * - An unexpected device failure has occurred as the media ejected suddenly. @n + * @exception E_IO Either of the following conditions has occurred: + * - An unexpected device failure has occurred as the media ejected suddenly. * - %File corruption is detected. * @exception E_SYSTEM The method cannot proceed due to a severe system error. * @remarks Database::CommitTransaction() automatically resets not only all the DbStatement instances - * but also all the DbEnumerator instances obtained from the current %Database instance. - * As a result, the prepared statement of the %DbStatement instances are reset to its initial state, ready to be re-executed, - * and enumerator of the %DbEnumerator instances are reset to the first position. - * Therefore, the user should be careful when the same instance of the %Database class is shared across multiple threads. - * Further, access to the %DbStatement or %DbEnumerator instances resets due to commit operation. This will eventually lead to crash. - * To avoid a crash, the user can use multiple database instances for each thread. - * Sharing of the same database instance across multiple threads is not recommended. + * but also all the DbEnumerator instances obtained from the current %Database instance. @n + * As a result, the prepared statement of the %DbStatement instances are reset to its initial state, ready to be + * re-executed, and enumerator of the DbEnumerator instances are reset to the first position. @n + * Therefore, you should be careful when the same instance of the %Database class is shared across multiple + * threads. Further, access to the %DbStatement or %DbEnumerator instances resets due to a commit operation. @n + * This will eventually lead to a crash. To avoid a crash, you can use multiple database instances for each + * thread. Sharing of the same database instance across multiple threads is not recommended. * @see BeginTransaction() * @see RollbackTransaction() */ @@ -663,8 +659,8 @@ public: * @exception E_OBJECT_LOCKED The database instance is locked. * @exception E_INVALID_FORMAT The database file is malformed. * @exception E_STORAGE_FULL The disk space or database image is full. - * @exception E_IO Either of the following conditions has occurred: @n - * - An unexpected device failure has occurred as the media ejected suddenly. @n + * @exception E_IO Either of the following conditions has occurred: + * - An unexpected device failure has occurred as the media ejected suddenly. * - %File corruption is detected. * @exception E_SYSTEM The method cannot proceed due to a severe system error. * @see BeginTransaction() @@ -673,11 +669,11 @@ public: result RollbackTransaction(void); /** - * Gets the database's filename. + * Gets the database file name. * * @since 2.0 * - * @return The filename of this %Database instance + * @return The file name of the current %Database instance */ Tizen::Base::String GetName(void) const; @@ -696,24 +692,24 @@ public: * @return An error code * @param[in] databasePath The path of the database file to delete * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG Either of the following conditions has occurred: @n - * - The length of the specified @c databasePath is invalid. @n + * @exception E_INVALID_ARG Either of the following conditions has occurred: + * - The length of the specified @c databasePath is invalid. * - The specified @c databasePath parameter contains an invalid path or - * the path ends with '/'. @n - * - The directory name path is missing. @n - * - The parent directory does not exist. @n + * the path ends with '/'. + * - The directory name path is missing. + * - The parent directory does not exist. * - An I/O security issue. - * @exception E_ILLEGAL_ACCESS Access is denied due to insufficient permission. + * @exception E_ILLEGAL_ACCESS The access is denied due to insufficient permission. * @exception E_FILE_NOT_FOUND The specified database file cannot be found. - * @exception E_IO Either of the following conditions has occurred: @n - * - An unexpected device failure has occurred as the media ejected suddenly. @n - * - %File corruption is detected. @n + * @exception E_IO Either of the following conditions has occurred: + * - An unexpected device failure has occurred as the media ejected suddenly. + * - %File corruption is detected. * - A system error has occurred. */ static result Delete(const Tizen::Base::String& databasePath); /** - * Checks whether the database file exists. + * Checks whether the specified database file exists. * * @if OSPCOMPAT * @brief [Compatibility] @@ -728,20 +724,20 @@ public: * else @c false * @param[in] databasePath The path of the database file to check * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG Either of the following conditions has occurred: @n - * - The length of the specified @c databasePath is invalid. @n + * @exception E_INVALID_ARG Either of the following conditions has occurred: + * - The length of the specified @c databasePath is invalid. * - The specified @c databasePath parameter contains an invalid path or - * the path ends with '/'. @n - * - The directory name path is missing. @n - * - The parent directory does not exist. @n + * the path ends with '/'. + * - The directory name path is missing. + * - The parent directory does not exist. * - An I/O security issue. - * @exception E_ILLEGAL_ACCESS Access is denied due to insufficient permission. + * @exception E_ILLEGAL_ACCESS The access is denied due to insufficient permission. * @remarks The specific error code can be accessed using the GetLastResult() method. */ static bool Exists(const Tizen::Base::String& databasePath); /** - * Converts a normal database file to a secure database file. @n + * Converts the specified normal database file to a secure database file. @n * A secure database file, that is converted by this method, can be shared among applications with the same key value. * * @if OSPCOMPAT @@ -758,21 +754,21 @@ public: * @return An error code * @param[in] normalDbPath The normal (non-encrypted) database file path * @param[in] secureDbPath The secure (encrypted) database file path to create - * @param[in] secretKey A key to encrypt normal database file @n + * @param[in] secretKey The key to encrypt the normal database file @n * If the normal database file is converted with a specific key value, - * applications can access the same secure database file with the identical key value. + * applications can access the secure database file with an identical key value. * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG Either of the following conditions has occurred: @n - * - The length of the specified path is @c 0 or exceeds system limitations. @n - * - The specified path is invalid. @n - * @exception E_ILLEGAL_ACCESS Access is denied due to insufficient permission. + * @exception E_INVALID_ARG Either of the following conditions has occurred: + * - The length of the specified path is @c 0 or exceeds system limitations. + * - The specified path is invalid. + * @exception E_ILLEGAL_ACCESS The access is denied due to insufficient permission. * @exception E_FILE_NOT_FOUND The specified @c normalDbPath does not exist. * @exception E_FILE_ALREADY_EXIST The specified @c secureDbPath already exists. * @exception E_OBJECT_LOCKED The database instance is locked. * @exception E_INVALID_FORMAlT The database file is malformed. * @exception E_STORAGE_FULL The disk space or database image is full. - * @exception E_IO Either of the following conditions has occurred: @n - * - An unexpected device failure has occurred as the media ejected suddenly. @n + * @exception E_IO Either of the following conditions has occurred: + * - An unexpected device failure has occurred as the media ejected suddenly. * - %File corruption is detected. * @exception E_SYSTEM The method cannot proceed due to a severe system error. * @exception E_UNSUPPORTED_OPERATION The Emulator or target device does not support the required feature. For more information, see @@ -787,15 +783,16 @@ public: * * @since 2.0 * - * @return Row ID of the most recent successful insert, @n + * @return The row ID of the most recent successful insert, @n * else @c -1 if no successful INSERT operations have ever occurred on * the current opened database. - * @remarks The row ID is always available as an undeclared column named ROWID, OID, or _ROWID_ - * as long as those names are not also used by explicitly declared columns. - * If the table has a column of type INTEGER PRIMARY KEY then that column is another alias - * for the row ID. @n - * This method returns the row ID of the most recent successful INSERT operation - * for current %Database. + * @remarks + * - The row ID is always available as an undeclared column named ROWID, OID, or _ROWID_ + * as long as those names are not used by explicitly declared columns. + * - If the table has a column of type INTEGER PRIMARY KEY then that column is another alias + * for the row ID. + * - This method returns the row ID of the most recent successful INSERT operation + * for the current %Database instance. */ long long GetLastInsertRowId(void) const;