chromium/components/history/core/browser/history_database.cc

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "components/history/core/browser/history_database.h"

#include <stdint.h>

#include <algorithm>
#include <set>
#include <string>
#include <tuple>
#include <utility>
#include <vector>

#include "base/files/file_util.h"
#include "base/logging.h"
#include "base/metrics/histogram_functions.h"
#include "base/metrics/histogram_macros.h"
#include "base/rand_util.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "components/history/core/browser/history_types.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
#include "sql/database.h"
#include "sql/meta_table.h"
#include "sql/statement.h"
#include "sql/transaction.h"

#if BUILDFLAG(IS_APPLE)
#include "base/apple/backup_util.h"
#endif

namespace history {

namespace {

// Current version number. We write databases at the "current" version number,
// but any previous version that can read the "compatible" one can make do with
// our database without *too* many bad effects.
const int kCurrentVersionNumber =;
const int kCompatibleVersionNumber =;

const char kEarlyExpirationThresholdKey[] =;
const char kMayContainForeignVisits[] =;
const char kDeleteForeignVisitsUntilId[] =;
const char kKnownToSyncVisitsExist[] =;

// Logs a migration failure to UMA and logging. The return value will be
// what to return from ::Init (to simplify the call sites). Migration failures
// are almost always fatal since the database can be in an inconsistent state.
sql::InitStatus LogMigrationFailure(int from_version) {}

// Reasons for initialization to fail. These are logged to UMA. It corresponds
// to the HistoryInitStep enum in enums.xml.
//
// DO NOT CHANGE THE VALUES. Leave holes if anything is removed and add only
// to the end.
enum class InitStep {};

sql::InitStatus LogInitFailure(InitStep what) {}

}  // namespace

HistoryDatabase::HistoryDatabase(
    DownloadInterruptReason download_interrupt_reason_none,
    DownloadInterruptReason download_interrupt_reason_crash)
    :{}

HistoryDatabase::~HistoryDatabase() = default;

sql::InitStatus HistoryDatabase::Init(const base::FilePath& history_name) {}

void HistoryDatabase::ComputeDatabaseMetrics(
    const base::FilePath& history_name) {}

int HistoryDatabase::CountUniqueHostsVisitedLastMonth() {}

DomainsVisitedResult HistoryDatabase::GetUniqueDomainsVisited(
    base::Time begin_time,
    base::Time end_time) {}

std::pair<int, int> HistoryDatabase::CountUniqueDomainsVisited(
    base::Time begin_time,
    base::Time end_time) {}

void HistoryDatabase::BeginExclusiveMode() {}

// static
int HistoryDatabase::GetCurrentVersion() {}

std::unique_ptr<sql::Transaction> HistoryDatabase::CreateTransaction() {}

bool HistoryDatabase::RecreateAllTablesButURL() {}

void HistoryDatabase::Vacuum() {}

void HistoryDatabase::TrimMemory() {}

bool HistoryDatabase::Raze() {}

std::string HistoryDatabase::GetDiagnosticInfo(
    int extended_error,
    sql::Statement* statement,
    sql::DatabaseDiagnostics* diagnostics) {}

bool HistoryDatabase::SetSegmentID(VisitID visit_id, SegmentID segment_id) {}

SegmentID HistoryDatabase::GetSegmentID(VisitID visit_id) {}

base::Time HistoryDatabase::GetEarlyExpirationThreshold() {}

void HistoryDatabase::UpdateEarlyExpirationThreshold(base::Time threshold) {}

bool HistoryDatabase::MayContainForeignVisits() {}

void HistoryDatabase::SetMayContainForeignVisits(
    bool may_contain_foreign_visits) {}

VisitID HistoryDatabase::GetDeleteForeignVisitsUntilId() {}

void HistoryDatabase::SetDeleteForeignVisitsUntilId(VisitID visit_id) {}

bool HistoryDatabase::KnownToSyncVisitsExist() {}

void HistoryDatabase::SetKnownToSyncVisitsExist(bool exist) {}

HistorySyncMetadataDatabase* HistoryDatabase::GetHistoryMetadataDB() {}

sql::Database& HistoryDatabase::GetDBForTesting() {}

sql::Database& HistoryDatabase::GetDB() {}

// Migration -------------------------------------------------------------------

sql::InitStatus HistoryDatabase::EnsureCurrentVersion() {}

#if !BUILDFLAG(IS_WIN)
void HistoryDatabase::MigrateTimeEpoch() {}
#endif

bool HistoryDatabase::MigrateRemoveTypedUrlMetadata() {}

}  // namespace history