зеркало из https://github.com/mozilla/pjs.git
Bug 483152 - Stop giving the ability to get the native sqlite3_stmt pointer
We don't really want to give this pointer out to consumers since we track some state, and if they call SQLite functions on it, can cause our internal state to be inaccurate. r=asuth
This commit is contained in:
Родитель
bab89c260d
Коммит
ebc887cb7d
|
@ -45,9 +45,7 @@ interface nsISimpleEnumerator;
|
|||
interface mozIStorageStatementCallback;
|
||||
interface mozIStoragePendingStatement;
|
||||
|
||||
[ptr] native sqlite3stmtptr(struct sqlite3_stmt);
|
||||
|
||||
[scriptable, uuid(4a712295-d076-4007-9c78-8c0e15373b9f)]
|
||||
[scriptable, uuid(471e161a-af46-4eb3-adf6-f6b0c41fe81c)]
|
||||
interface mozIStorageStatement : mozIStorageValueArray {
|
||||
/**
|
||||
* Finalizes a statement so you can successfully close a database connection.
|
||||
|
@ -201,8 +199,6 @@ interface mozIStorageStatement : mozIStorageValueArray {
|
|||
|
||||
readonly attribute long state;
|
||||
|
||||
[noscript,notxpcom] sqlite3stmtptr getNativeStatementPointer();
|
||||
|
||||
/**
|
||||
* Escape a string for SQL LIKE search.
|
||||
*
|
||||
|
|
|
@ -398,7 +398,8 @@ mozStorageConnection::ExecuteAsync(mozIStorageStatement ** aStatements,
|
|||
int rc = SQLITE_OK;
|
||||
nsTArray<sqlite3_stmt *> stmts(aNumStatements);
|
||||
for (PRUint32 i = 0; i < aNumStatements && rc == SQLITE_OK; i++) {
|
||||
sqlite3_stmt *old_stmt = aStatements[i]->GetNativeStatementPointer();
|
||||
sqlite3_stmt *old_stmt =
|
||||
static_cast<mozStorageStatement *>(aStatements[i])->nativeStatement();
|
||||
if (!old_stmt) {
|
||||
rc = SQLITE_MISUSE;
|
||||
break;
|
||||
|
|
|
@ -613,13 +613,6 @@ mozStorageStatement::ExecuteAsync(mozIStorageStatementCallback *aCallback,
|
|||
return mDBConnection->ExecuteAsync(stmts, 1, aCallback, _stmt);
|
||||
}
|
||||
|
||||
/* [noscript,notxpcom] sqlite3stmtptr getNativeStatementPointer(); */
|
||||
sqlite3_stmt*
|
||||
mozStorageStatement::GetNativeStatementPointer()
|
||||
{
|
||||
return mDBStatement;
|
||||
}
|
||||
|
||||
/* readonly attribute long state; */
|
||||
NS_IMETHODIMP
|
||||
mozStorageStatement::GetState(PRInt32 *_retval)
|
||||
|
|
|
@ -78,7 +78,7 @@ public:
|
|||
/**
|
||||
* Obtains the native statement pointer.
|
||||
*/
|
||||
inline sqlite3_stmt *NativeStatement() { return mDBStatement; }
|
||||
inline sqlite3_stmt *nativeStatement() { return mDBStatement; }
|
||||
|
||||
private:
|
||||
~mozStorageStatement();
|
||||
|
|
|
@ -60,9 +60,6 @@ public:
|
|||
// nsIXPCScriptable interface
|
||||
NS_DECL_NSIXPCSCRIPTABLE
|
||||
protected:
|
||||
sqlite3_stmt* NativeStatement() {
|
||||
return mStatement->GetNativeStatementPointer();
|
||||
}
|
||||
|
||||
mozStorageStatement *mStatement;
|
||||
|
||||
|
|
|
@ -68,7 +68,7 @@ private:
|
|||
|
||||
protected:
|
||||
sqlite3_stmt* NativeStatement() {
|
||||
return mStatement->GetNativeStatementPointer();
|
||||
return mStatement->nativeStatement();
|
||||
}
|
||||
|
||||
// note: pointer to the concrete statement
|
||||
|
|
Загрузка…
Ссылка в новой задаче