Index: sql/connection.h |
diff --git a/sql/connection.h b/sql/connection.h |
index 2467ff8d8fbb0ba810852cf13cab427b925fee19..a2bfeef39d6fc367b8d757baecfe556359dda956 100644 |
--- a/sql/connection.h |
+++ b/sql/connection.h |
@@ -204,8 +204,12 @@ class SQL_EXPORT Connection { |
// Executes the given SQL string, returning true on success. This is |
// normally used for simple, 1-off statements that don't take any bound |
// parameters and don't return any data (e.g. CREATE TABLE). |
+ // This will DCHECK if the |sql| contains errors. |
bool Execute(const char* sql); |
+ // Like Execute(), but returns the error code given by SQLite. |
+ int ExecuteAndReturnErrorCode(const char* sql); |
+ |
// Returns true if we have a statement with the given identifier already |
// cached. This is normally not necessary to call, but can be useful if the |
// caller has to dynamically build up SQL to avoid doing so if it's already |
@@ -217,8 +221,10 @@ class SQL_EXPORT Connection { |
// keeping commonly-used ones around for future use is important for |
// performance. |
// |
- // The SQL may have an error, so the caller must check validity of the |
- // statement before using it. |
+ // If the |sql| has an error, an invalid, inert StatementRef is returned (and |
+ // the code will crash in debug). The caller must deal with this eventuality, |
+ // either by checking validity of the |sql| before calling, by correctly |
+ // handling the return of an inert statement, or both. |
// |
// The StatementID and the SQL must always correspond to one-another. The |
// ID is the lookup into the cache, so crazy things will happen if you use |
@@ -236,6 +242,10 @@ class SQL_EXPORT Connection { |
scoped_refptr<StatementRef> GetCachedStatement(const StatementID& id, |
const char* sql); |
+ // Used to check a |sql| statement for syntactic validity. If the statement is |
+ // valid SQL, returns true. |
+ bool IsSQLValid(const char* sql); |
+ |
// Returns a non-cached statement for the given SQL. Use this for SQL that |
// is only executed once or only rarely (there is overhead associated with |
// keeping a statement cached). |
@@ -274,7 +284,7 @@ class SQL_EXPORT Connection { |
const char* GetErrorMessage() const; |
private: |
- // Statement access StatementRef which we don't want to expose to erverybody |
+ // Statement accesses StatementRef which we don't want to expose to everybody |
// (they should go through Statement). |
friend class Statement; |