mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 05:41:12 +00:00
117488daa2
The nesting level is tracked on the storage connection. The thread safety is ensured by holding a lock while a transaction is being started/commited/rolled back. For these purposes, the sharedDBMutex has been exposed on mozIStorageConnection interface and additional helper methods have been added to the interface as well. Differential Revision: https://phabricator.services.mozilla.com/D106019
108 lines
2.9 KiB
Python
108 lines
2.9 KiB
Python
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
|
# vim: set filetype=python:
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
with Files("**"):
|
|
BUG_COMPONENT = ("Toolkit", "Storage")
|
|
|
|
DIRS += ["build"]
|
|
|
|
TEST_DIRS += ["test"]
|
|
|
|
XPIDL_SOURCES += [
|
|
"mozIStorageAsyncConnection.idl",
|
|
"mozIStorageAsyncStatement.idl",
|
|
"mozIStorageBaseStatement.idl",
|
|
"mozIStorageBindingParams.idl",
|
|
"mozIStorageBindingParamsArray.idl",
|
|
"mozIStorageCompletionCallback.idl",
|
|
"mozIStorageConnection.idl",
|
|
"mozIStorageError.idl",
|
|
"mozIStorageFunction.idl",
|
|
"mozIStoragePendingStatement.idl",
|
|
"mozIStorageProgressHandler.idl",
|
|
"mozIStorageResultSet.idl",
|
|
"mozIStorageRow.idl",
|
|
"mozIStorageService.idl",
|
|
"mozIStorageStatement.idl",
|
|
"mozIStorageStatementCallback.idl",
|
|
"mozIStorageVacuumParticipant.idl",
|
|
"mozIStorageValueArray.idl",
|
|
]
|
|
|
|
XPIDL_MODULE = "storage"
|
|
|
|
EXPORTS += [
|
|
"mozStorageHelper.h",
|
|
]
|
|
|
|
EXPORTS.mozilla += [
|
|
"storage.h",
|
|
]
|
|
|
|
# NOTE When adding something to this list, you probably need to add it to the
|
|
# storage.h file too.
|
|
EXPORTS.mozilla.storage += [
|
|
"mozStorageAsyncStatementParams.h",
|
|
"mozStorageStatementParams.h",
|
|
"mozStorageStatementRow.h",
|
|
"SQLiteMutex.h",
|
|
"StatementCache.h",
|
|
"Variant.h",
|
|
"Variant_inl.h",
|
|
]
|
|
# SEE ABOVE NOTE!
|
|
|
|
UNIFIED_SOURCES += [
|
|
"FileSystemModule.cpp",
|
|
"mozStorageArgValueArray.cpp",
|
|
"mozStorageAsyncStatement.cpp",
|
|
"mozStorageAsyncStatementExecution.cpp",
|
|
"mozStorageAsyncStatementJSHelper.cpp",
|
|
"mozStorageAsyncStatementParams.cpp",
|
|
"mozStorageBindingParamsArray.cpp",
|
|
"mozStorageError.cpp",
|
|
"mozStoragePrivateHelpers.cpp",
|
|
"mozStorageResultSet.cpp",
|
|
"mozStorageRow.cpp",
|
|
"mozStorageService.cpp",
|
|
"mozStorageSQLFunctions.cpp",
|
|
"mozStorageStatement.cpp",
|
|
"mozStorageStatementJSHelper.cpp",
|
|
"mozStorageStatementParams.cpp",
|
|
"mozStorageStatementRow.cpp",
|
|
"ObfuscatingVFS.cpp",
|
|
"SQLCollations.cpp",
|
|
"StorageBaseStatementInternal.cpp",
|
|
"TelemetryVFS.cpp",
|
|
"VacuumManager.cpp",
|
|
"Variant.cpp",
|
|
]
|
|
|
|
# These files need to be built separately because they #include variantToSQLiteT_impl.h.
|
|
SOURCES += [
|
|
"mozStorageBindingParams.cpp",
|
|
"mozStorageConnection.cpp",
|
|
]
|
|
|
|
include("/ipc/chromium/chromium-config.mozbuild")
|
|
|
|
FINAL_LIBRARY = "xul"
|
|
|
|
# Thunderbird needs the 2-argument version of fts3_tokenizer()
|
|
if CONFIG["MOZ_THUNDERBIRD"] or CONFIG["MOZ_SUITE"]:
|
|
DEFINES["MOZ_SQLITE_FTS3_TOKENIZER"] = 1
|
|
|
|
# This is the default value. If we ever change it when compiling sqlite, we
|
|
# will need to change it here as well.
|
|
DEFINES["SQLITE_MAX_LIKE_PATTERN_LENGTH"] = 50000
|
|
|
|
LOCAL_INCLUDES += [
|
|
"/dom/base",
|
|
"/third_party/sqlite3/src",
|
|
]
|
|
|
|
CXXFLAGS += CONFIG["SQLITE_CFLAGS"]
|