| Index: chrome/browser/history/text_database.h
|
| diff --git a/chrome/browser/history/text_database.h b/chrome/browser/history/text_database.h
|
| deleted file mode 100644
|
| index ddb247bc53d5cb548d47337adffae2df74d015eb..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/history/text_database.h
|
| +++ /dev/null
|
| @@ -1,165 +0,0 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CHROME_BROWSER_HISTORY_TEXT_DATABASE_H_
|
| -#define CHROME_BROWSER_HISTORY_TEXT_DATABASE_H_
|
| -
|
| -#include <set>
|
| -#include <vector>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/files/file_path.h"
|
| -#include "base/strings/string16.h"
|
| -#include "chrome/browser/history/history_types.h"
|
| -#include "sql/connection.h"
|
| -#include "sql/meta_table.h"
|
| -#include "url/gurl.h"
|
| -
|
| -namespace history {
|
| -
|
| -// Encapsulation of a full-text indexed database file.
|
| -class TextDatabase {
|
| - public:
|
| - typedef int DBIdent;
|
| -
|
| - typedef std::set<GURL> URLSet;
|
| -
|
| - // Returned from the search function.
|
| - struct Match {
|
| - Match();
|
| - ~Match();
|
| -
|
| - // URL of the match.
|
| - GURL url;
|
| -
|
| - // The title is returned because the title in the text database and the URL
|
| - // database may differ. This happens because we capture the title when the
|
| - // body is captured, and don't update it later.
|
| - string16 title;
|
| -
|
| - // Time the page that was returned was visited.
|
| - base::Time time;
|
| -
|
| - // Identifies any found matches in the title of the document. These are not
|
| - // included in the snippet.
|
| - Snippet::MatchPositions title_match_positions;
|
| -
|
| - // Snippet of the match we generated from the body.
|
| - Snippet snippet;
|
| - };
|
| -
|
| - // Note: You must call init which must succeed before using this class.
|
| - //
|
| - // Computes the matches for the query, returning results in decreasing order
|
| - // of visit time.
|
| - //
|
| - // This function will attach the new database to the given database
|
| - // connection. This allows one sqlite3 object to share many TextDatabases,
|
| - // meaning that they will all share the same cache, which allows us to limit
|
| - // the total size that text indexing databasii can take up.
|
| - //
|
| - // |file_name| is the name of the file on disk.
|
| - //
|
| - // ID is the identifier for the database. It should uniquely identify it among
|
| - // other databases on disk and in the sqlite connection.
|
| - //
|
| - // |allow_create| indicates if we want to allow creation of the file if it
|
| - // doesn't exist. For files associated with older time periods, we don't want
|
| - // to create them if they don't exist, so this flag would be false.
|
| - TextDatabase(const base::FilePath& path,
|
| - DBIdent id,
|
| - bool allow_create);
|
| - ~TextDatabase();
|
| -
|
| - // Initializes the database connection and creates the file if the class
|
| - // was created with |allow_create|. If the file couldn't be opened or
|
| - // created, this will return false. No other functions should be called
|
| - // after this.
|
| - bool Init();
|
| -
|
| - // Allows updates to be batched. This gives higher performance when multiple
|
| - // updates are happening because every insert doesn't require a sync to disk.
|
| - // Transactions can be nested, only the outermost one will actually count.
|
| - void BeginTransaction();
|
| - void CommitTransaction();
|
| -
|
| - // For testing, returns the file name of the database so it can be deleted
|
| - // after the test. This is valid even before Init() is called.
|
| - const base::FilePath& file_name() const { return file_name_; }
|
| -
|
| - // Returns a NULL-terminated string that is the base of history index files,
|
| - // which is the part before the database identifier. For example
|
| - // "History Index *". This is for finding existing database files.
|
| - static const base::FilePath::CharType* file_base();
|
| -
|
| - // Converts a filename on disk (optionally including a path) to a database
|
| - // identifier. If the filename doesn't have the correct format, returns 0.
|
| - static DBIdent FileNameToID(const base::FilePath& file_path);
|
| -
|
| - // Changing operations -------------------------------------------------------
|
| -
|
| - // Adds the given data to the page. Returns true on success. The data should
|
| - // already be converted to UTF-8.
|
| - bool AddPageData(base::Time time,
|
| - const std::string& url,
|
| - const std::string& title,
|
| - const std::string& contents);
|
| -
|
| - // Deletes the indexed data exactly matching the given URL/time pair.
|
| - void DeletePageData(base::Time time, const std::string& url);
|
| -
|
| - // Optimizes the tree inside the database. This will, in addition to making
|
| - // access faster, remove any deleted data from the database (normally it is
|
| - // added again as "removed" and it is manually cleaned up when it decides to
|
| - // optimize it naturally). It is bad for privacy if a user is deleting a
|
| - // page from history but it still exists in the full text database in some
|
| - // form. This function will clean that up.
|
| - void Optimize();
|
| -
|
| - // Querying ------------------------------------------------------------------
|
| -
|
| - // Executes the given query. See QueryOptions for more info on input.
|
| - //
|
| - // The results are appended to any existing ones in |*results|.
|
| - //
|
| - // Any URLs found will be added to |unique_urls|. If a URL is already in the
|
| - // set, additional results will not be added (giving the ability to uniquify
|
| - // URL results).
|
| - //
|
| - // Callers must run QueryParser on the user text and pass the results of the
|
| - // QueryParser to this method as the query string.
|
| - //
|
| - // Returns true if there are more results available, i.e. if the number of
|
| - // results was restricted by |options.max_count|.
|
| - bool GetTextMatches(const std::string& query,
|
| - const QueryOptions& options,
|
| - std::vector<Match>* results,
|
| - URLSet* unique_urls);
|
| -
|
| - // Converts the given database identifier to a filename. This does not include
|
| - // the path, just the file and extension.
|
| - static base::FilePath IDToFileName(DBIdent id);
|
| -
|
| - private:
|
| - // Ensures that the tables and indices are created. Returns true on success.
|
| - bool CreateTables();
|
| -
|
| - // The sql database. Not valid until Init is called.
|
| - sql::Connection db_;
|
| -
|
| - const base::FilePath path_;
|
| - const DBIdent ident_;
|
| - const bool allow_create_;
|
| -
|
| - // Full file name of the file on disk, computed in Init().
|
| - base::FilePath file_name_;
|
| -
|
| - sql::MetaTable meta_table_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(TextDatabase);
|
| -};
|
| -
|
| -} // namespace history
|
| -
|
| -#endif // CHROME_BROWSER_HISTORY_TEXT_DATABASE_H_
|
|
|