mirror of https://gitee.com/bigwinds/arangodb
Merge branch 'devel' of github.com:arangodb/arangodb into MIT
This commit is contained in:
commit
8cb670595b
18
CHANGELOG
18
CHANGELOG
|
@ -43,10 +43,26 @@ devel
|
|||
|
||||
* Foxx OAuth2 module now correctly passes the `access_token` to the OAuth2 server
|
||||
|
||||
* added timezone module
|
||||
|
||||
v3.0.4 (XXXX-XX-XX)
|
||||
|
||||
v3.0.5 (XXXX-XX-XX)
|
||||
-------------------
|
||||
|
||||
* fixed issue #1977
|
||||
|
||||
* fixed extraction of _id attribute in AQL traversal conditions
|
||||
|
||||
|
||||
v3.0.4 (2016-08-01)
|
||||
-------------------
|
||||
|
||||
* added missing lock for periodic jobs access
|
||||
|
||||
* fix multiple foxx related cluster issues
|
||||
|
||||
* fix handling of empty AQL query strings
|
||||
|
||||
* fixed issue in `INTERSECTION` AQL function with duplicate elements
|
||||
in the source arrays
|
||||
|
||||
|
|
|
@ -56,11 +56,14 @@ endif ()
|
|||
set(ARANGODB_VERSION_MAJOR "3")
|
||||
set(ARANGODB_VERSION_MINOR "0")
|
||||
set(ARANGODB_VERSION_REVISION "devel")
|
||||
set(ARANGODB_PACKAGE_REVISION "1")
|
||||
|
||||
set(ARANGODB_VERSION
|
||||
"${ARANGODB_VERSION_MAJOR}.${ARANGODB_VERSION_MINOR}.${ARANGODB_VERSION_REVISION}")
|
||||
|
||||
# for NSIS
|
||||
# for the packages
|
||||
set(ARANGODB_PACKAGE_VENDOR "ArangoDB GmbH")
|
||||
set(ARANGODB_PACKAGE_CONTACT "info@arangodb.com")
|
||||
set(ARANGODB_DISPLAY_NAME "ArangoDB")
|
||||
set(ARANGODB_URL_INFO_ABOUT "https://www.arangodb.com")
|
||||
set(ARANGODB_HELP_LINK "https://docs.arangodb.com/${ARANGODB_VERSION_MAJOR}.${ARANGODB_VERSION_MINOR}/")
|
||||
|
@ -91,7 +94,7 @@ set(BIN_ARANGOVPACK arangovpack)
|
|||
# test binaries
|
||||
set(TEST_BASICS_SUITE basics_suite)
|
||||
set(TEST_GEO_SUITE geo_suite)
|
||||
|
||||
set(PACKAGES_LIST)
|
||||
################################################################################
|
||||
## VERSION FILES
|
||||
################################################################################
|
||||
|
@ -618,6 +621,7 @@ if (VERBOSE)
|
|||
message(STATUS)
|
||||
endif ()
|
||||
|
||||
|
||||
################################################################################
|
||||
## 3RD PARTY
|
||||
################################################################################
|
||||
|
@ -691,6 +695,7 @@ add_definitions("-DARANGODB_LIBEV_VERSION=\"${LIBEV_VERSION}\"")
|
|||
################################################################################
|
||||
|
||||
find_package(OpenSSL REQUIRED)
|
||||
|
||||
include_directories(${OPENSSL_INCLUDE_DIR})
|
||||
add_definitions(-DARANGODB_OPENSSL_VERSION=\"${OPENSSL_VERSION}\")
|
||||
|
||||
|
@ -733,8 +738,9 @@ add_definitions("-DARANGODB_ZLIB_VERSION=\"${ZLIB_VERSION}\"")
|
|||
## PATHS, installation, packages
|
||||
################################################################################
|
||||
|
||||
include(ArangoDBMacros)
|
||||
include(ArangoDBInstall)
|
||||
|
||||
include(packages/packages)
|
||||
################################################################################
|
||||
## ERRORS FILE
|
||||
################################################################################
|
||||
|
@ -854,10 +860,7 @@ if( EXISTS "${CMAKE_CURRENT_BINARY_DIR}/compile_commands.json" )
|
|||
)
|
||||
endif()
|
||||
|
||||
set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/arangodb-client)
|
||||
configure_file(cmake/packages/package-client.txt ${BUILD_DIR}/CMakeLists.txt @ONLY)
|
||||
add_custom_target(package-arongodb-client COMMAND ${CMAKE_COMMAND} .
|
||||
COMMAND ${CMAKE_CPACK_COMMAND} -G DEB
|
||||
COMMAND cp *.deb ${PROJECT_BINARY_DIR}
|
||||
WORKING_DIRECTORY ${BUILD_DIR})
|
||||
|
||||
add_custom_target(packages
|
||||
DEPENDS ${PACKAGES_LIST}
|
||||
)
|
||||
|
|
|
@ -119,11 +119,14 @@ The following [NPM modules](https://www.npmjs.com) are preinstalled:
|
|||
* [minimatch](https://github.com/isaacs/minimatch)
|
||||
is a glob matcher for matching wildcards in file paths.
|
||||
|
||||
* [node-semver](https://github.com/npm/node-semver)
|
||||
is a utility library for handling semver version numbers.
|
||||
|
||||
* [qs](https://github.com/hapijs/qs)
|
||||
provides utilities for dealing with query strings using a different format than the **querystring** module.
|
||||
|
||||
* [semver](https://github.com/npm/node-semver)
|
||||
is a utility library for handling semver version numbers.
|
||||
|
||||
* [sinon](http://sinonjs.org)
|
||||
is a mocking library for writing test stubs, mocks and spies.
|
||||
|
||||
* [timezone](https://github.com/bigeasy/timezone)
|
||||
is a library for converting date time values between formats and timezones.
|
||||
|
|
|
@ -330,24 +330,29 @@ ${MAKE_CMD_PREFIX} ${MAKE} ${VERBOSE_MAKE} "${PAR}" "${PARALLEL_BUILDS}" ${MAKE_
|
|||
git rev-parse HEAD > ../last_compiled_version.sha
|
||||
|
||||
if [ -n "$CPACK" -a -n "${TARGET_DIR}" ]; then
|
||||
for PACK in ${CPACK}; do
|
||||
# if [ "$PACK" == "DEB" ]; then
|
||||
# make prepare_debian
|
||||
# fi
|
||||
|
||||
cpack -G "$PACK"
|
||||
|
||||
EXT=`echo $PACK|tr '[:upper:]' '[:lower:]'`
|
||||
if [ "$PACK" == "Bundle" ]; then
|
||||
EXT = 'dmg'
|
||||
fi
|
||||
if [ "$PACK" == "NSIS" ]; then
|
||||
true
|
||||
else
|
||||
cp *.${EXT} ${TARGET_DIR}
|
||||
fi
|
||||
done
|
||||
make packages
|
||||
#todo cmake -build -target packages
|
||||
fi
|
||||
#if [ -n "$CPACK" -a -n "${TARGET_DIR}" ]; then
|
||||
# for PACK in ${CPACK}; do
|
||||
## if [ "$PACK" == "DEB" ]; then
|
||||
## make prepare_debian
|
||||
## fi
|
||||
#
|
||||
# cpack -G "$PACK"
|
||||
#
|
||||
# EXT=`echo $PACK|tr '[:upper:]' '[:lower:]'`
|
||||
# if [ "$PACK" == "Bundle" ]; then
|
||||
# EXT = 'dmg'
|
||||
# fi
|
||||
# if [ "$PACK" == "NSIS" ]; then
|
||||
# true
|
||||
# else
|
||||
# cp *.${EXT} ${TARGET_DIR}
|
||||
# fi
|
||||
# done
|
||||
#fi
|
||||
|
||||
|
||||
# and install
|
||||
|
||||
|
|
|
@ -1,9 +1,3 @@
|
|||
# debian
|
||||
if (CPACK_GENERATOR STREQUAL "DEB")
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
|
||||
|
||||
set(CPACK_COMPONENTS_ALL debian-extras)
|
||||
endif ()
|
||||
|
||||
# OSX bundle
|
||||
if (CPACK_GENERATOR STREQUAL "Bundle")
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
stand-alone shell
|
||||
A distributed free and open-source database with a flexible data model for documents,
|
||||
graphs, and key-values. Build high performance applications using a convenient
|
||||
SQL-like query language or JavaScript extensions.
|
||||
.
|
||||
Copyright: 2014-2016 by ArangoDB GmbH
|
||||
Copyright: 2012-2013 by triAGENS GmbH
|
||||
ArangoDB Software
|
||||
www.arangodb.com
|
|
@ -1,4 +1,4 @@
|
|||
a multi-purpose NoSQL database
|
||||
the multi-model NoSQL database
|
||||
A distributed free and open-source database with a flexible data model for documents,
|
||||
graphs, and key-values. Build high performance applications using a convenient
|
||||
SQL-like query language or JavaScript extensions.
|
||||
|
|
|
@ -168,7 +168,7 @@
|
|||
* GITHUB: https://github.com/jshttp/http-errors
|
||||
* License: [MIT License](https://github.com/jshttp/http-errors/blob/master/LICENSE)
|
||||
|
||||
#### inflect
|
||||
#### i (inflect)
|
||||
|
||||
* GITHUB: https://github.com/pksunkara/inflect
|
||||
* License: [MIT-style License](https://github.com/pksunkara/inflect/blob/master/LICENSE)
|
||||
|
@ -220,11 +220,6 @@
|
|||
* GITHUB: https://github.com/mochajs/mocha
|
||||
* License: [MIT License](https://github.com/mochajs/mocha/blob/master/LICENSE)
|
||||
|
||||
#### node-semver
|
||||
|
||||
* GITHUB: https://github.com/npm/node-semver
|
||||
* License: [ISC License](https://github.com/npm/node-semver/blob/master/LICENSE)
|
||||
|
||||
#### qs
|
||||
|
||||
* GITHUB: https://github.com/hapijs/qs
|
||||
|
@ -252,6 +247,11 @@
|
|||
* GITHUB: https://github.com/jshttp/statuses
|
||||
* License: [MIT License](https://github.com/jshttp/statuses/blob/master/LICENSE)
|
||||
|
||||
#### timezone
|
||||
|
||||
* GITHUB: https://github.com/bigeasy/timezone
|
||||
* License: [MIT License](https://github.com/bigeasy/timezone/blob/master/LICENSE)
|
||||
|
||||
#### type-is
|
||||
|
||||
* GITHUB: https://github.com/jshttp/type-is
|
||||
|
|
|
@ -105,8 +105,8 @@ struct log_t {
|
|||
std::chrono::system_clock::now().time_since_epoch())) {}
|
||||
|
||||
friend std::ostream& operator<<(std::ostream& o, log_t const& l) {
|
||||
o << l.index << " " << l.term << " "
|
||||
<< l.entry->toString() << " " << l.timestamp.count();
|
||||
o << l.index << " " << l.term << " " << VPackSlice(l.entry->data()).toJson()
|
||||
<< " " << l.timestamp.count();
|
||||
return o;
|
||||
}
|
||||
|
||||
|
|
|
@ -52,6 +52,8 @@ Agent::Agent(config_t const& config)
|
|||
_state.configure(this);
|
||||
_constituent.configure(this);
|
||||
_confirmed.resize(size(), 0); // agency's size and reset to 0
|
||||
_lastHighest.resize(size(), 0);
|
||||
_lastSent.resize(size());
|
||||
}
|
||||
|
||||
|
||||
|
@ -237,8 +239,6 @@ bool Agent::recvAppendEntriesRPC(term_t term,
|
|||
|
||||
MUTEX_LOCKER(mutexLocker, _ioLock);
|
||||
|
||||
// index_t lastPersistedIndex = _lastCommitIndex;
|
||||
|
||||
if (this->term() > term) {
|
||||
LOG_TOPIC(WARN, Logger::AGENCY) << "I have a higher term than RPC caller.";
|
||||
return false;
|
||||
|
@ -256,10 +256,11 @@ bool Agent::recvAppendEntriesRPC(term_t term,
|
|||
<< " entries to state machine.";
|
||||
/* bool success = */
|
||||
_state.log(queries, term, prevIndex, prevTerm);
|
||||
}
|
||||
|
||||
_spearhead.apply(_state.slices(_lastCommitIndex + 1, leaderCommitIndex));
|
||||
_readDB.apply(_state.slices(_lastCommitIndex + 1, leaderCommitIndex));
|
||||
_lastCommitIndex = leaderCommitIndex;
|
||||
}
|
||||
|
||||
if (_lastCommitIndex >= _nextCompationAfter) {
|
||||
|
||||
|
@ -276,17 +277,19 @@ bool Agent::recvAppendEntriesRPC(term_t term,
|
|||
priv_rpc_ret_t Agent::sendAppendEntriesRPC(
|
||||
arangodb::consensus::id_t follower_id) {
|
||||
|
||||
index_t last_confirmed = _confirmed[follower_id];
|
||||
std::vector<log_t> unconfirmed = _state.get(last_confirmed);
|
||||
|
||||
term_t t(0);
|
||||
{
|
||||
MUTEX_LOCKER(mutexLocker, _ioLock);
|
||||
t = this->term();
|
||||
}
|
||||
|
||||
if (unconfirmed.empty()) {
|
||||
return priv_rpc_ret_t(false, t);
|
||||
index_t last_confirmed = _confirmed[follower_id];
|
||||
std::vector<log_t> unconfirmed = _state.get(last_confirmed);
|
||||
index_t highest = unconfirmed.back().index;
|
||||
|
||||
if (highest == _lastHighest.at(follower_id) && (long)(500.0e6*_config.minPing) >
|
||||
(std::chrono::system_clock::now() - _lastSent.at(follower_id)).count()) {
|
||||
return priv_rpc_ret_t(true, t);
|
||||
}
|
||||
|
||||
// RPC path
|
||||
|
@ -300,9 +303,6 @@ priv_rpc_ret_t Agent::sendAppendEntriesRPC(
|
|||
auto headerFields =
|
||||
std::make_unique<std::unordered_map<std::string, std::string>>();
|
||||
|
||||
// Highest unconfirmed
|
||||
index_t last = unconfirmed[0].index;
|
||||
|
||||
// Body
|
||||
Builder builder;
|
||||
builder.add(VPackValue(VPackValueType::Array));
|
||||
|
@ -313,14 +313,14 @@ priv_rpc_ret_t Agent::sendAppendEntriesRPC(
|
|||
builder.add("term", VPackValue(entry.term));
|
||||
builder.add("query", VPackSlice(entry.entry->data()));
|
||||
builder.close();
|
||||
last = entry.index;
|
||||
highest = entry.index;
|
||||
}
|
||||
builder.close();
|
||||
|
||||
// Verbose output
|
||||
if (unconfirmed.size() > 1) {
|
||||
LOG_TOPIC(DEBUG, Logger::AGENCY) << "Appending " << unconfirmed.size() - 1
|
||||
<< " entries up to index " << last
|
||||
<< " entries up to index " << highest
|
||||
<< " to follower " << follower_id;
|
||||
}
|
||||
|
||||
|
@ -329,7 +329,10 @@ priv_rpc_ret_t Agent::sendAppendEntriesRPC(
|
|||
"1", 1, _config.endpoints[follower_id],
|
||||
arangodb::GeneralRequest::RequestType::POST, path.str(),
|
||||
std::make_shared<std::string>(builder.toJson()), headerFields,
|
||||
std::make_shared<AgentCallback>(this, follower_id, last), 1, true);
|
||||
std::make_shared<AgentCallback>(this, follower_id, highest), 1, true);
|
||||
|
||||
_lastSent.at(follower_id) = std::chrono::system_clock::now();
|
||||
_lastHighest.at(follower_id) = highest;
|
||||
|
||||
return priv_rpc_ret_t(true, t);
|
||||
|
||||
|
@ -343,19 +346,27 @@ bool Agent::load() {
|
|||
ApplicationServer::getFeature<DatabaseFeature>("Database");
|
||||
|
||||
auto vocbase = database->vocbase();
|
||||
auto queryRegistry = QueryRegistryFeature::QUERY_REGISTRY;
|
||||
|
||||
if (vocbase == nullptr) {
|
||||
LOG_TOPIC(FATAL, Logger::AGENCY) << "could not determine _system database";
|
||||
FATAL_ERROR_EXIT();
|
||||
}
|
||||
|
||||
LOG_TOPIC(DEBUG, Logger::AGENCY) << "Loading persistent state.";
|
||||
if (!_state.loadCollections(vocbase, _config.waitForSync)) {
|
||||
if (!_state.loadCollections(vocbase, queryRegistry, _config.waitForSync)) {
|
||||
LOG_TOPIC(DEBUG, Logger::AGENCY)
|
||||
<< "Failed to load persistent state on startup.";
|
||||
}
|
||||
|
||||
LOG_TOPIC(DEBUG, Logger::AGENCY) << "Reassembling spearhead and read stores.";
|
||||
_spearhead.apply(_state.slices(_lastCommitIndex + 1));
|
||||
|
||||
{
|
||||
CONDITION_LOCKER(guard, _appendCV);
|
||||
guard.broadcast();
|
||||
}
|
||||
|
||||
reportIn(id(), _state.lastLog().index);
|
||||
|
||||
LOG_TOPIC(DEBUG, Logger::AGENCY) << "Starting spearhead worker.";
|
||||
|
@ -363,7 +374,6 @@ bool Agent::load() {
|
|||
_readDB.start();
|
||||
|
||||
LOG_TOPIC(DEBUG, Logger::AGENCY) << "Starting constituent personality.";
|
||||
auto queryRegistry = QueryRegistryFeature::QUERY_REGISTRY;
|
||||
TRI_ASSERT(queryRegistry != nullptr);
|
||||
_constituent.start(vocbase, queryRegistry);
|
||||
|
||||
|
@ -434,7 +444,7 @@ void Agent::run() {
|
|||
while (!this->isStopping() && size() > 1) {
|
||||
|
||||
if (leading()) { // Only if leading
|
||||
_appendCV.wait(100000);
|
||||
_appendCV.wait(10000);
|
||||
} else {
|
||||
_appendCV.wait(); // Else wait for our moment in the sun
|
||||
}
|
||||
|
@ -485,11 +495,16 @@ void Agent::beginShutdown() {
|
|||
bool Agent::lead() {
|
||||
|
||||
// Key value stores
|
||||
//rebuildDBs();
|
||||
rebuildDBs();
|
||||
|
||||
// Wake up run
|
||||
{
|
||||
CONDITION_LOCKER(guard, _appendCV);
|
||||
guard.broadcast();
|
||||
}
|
||||
|
||||
// Wake up supervision
|
||||
_supervision.wakeUp();
|
||||
|
||||
return true;
|
||||
|
||||
|
@ -499,8 +514,9 @@ bool Agent::lead() {
|
|||
bool Agent::rebuildDBs() {
|
||||
|
||||
MUTEX_LOCKER(mutexLocker, _ioLock);
|
||||
_spearhead.apply(_state.slices());
|
||||
_readDB.apply(_state.slices());
|
||||
|
||||
_spearhead.apply(_state.slices(_lastCommitIndex+1));
|
||||
_readDB.apply(_state.slices(_lastCommitIndex+1));
|
||||
|
||||
return true;
|
||||
|
||||
|
@ -508,10 +524,16 @@ bool Agent::rebuildDBs() {
|
|||
|
||||
|
||||
/// Last commit index
|
||||
arangodb::consensus::index_t Agent::lastCommited() const {
|
||||
arangodb::consensus::index_t Agent::lastCommitted() const {
|
||||
return _lastCommitIndex;
|
||||
}
|
||||
|
||||
/// Last commit index
|
||||
void Agent::lastCommitted(
|
||||
arangodb::consensus::index_t lastCommitIndex) {
|
||||
MUTEX_LOCKER(mutexLocker, _ioLock);
|
||||
_lastCommitIndex = lastCommitIndex;
|
||||
}
|
||||
|
||||
/// Last log entry
|
||||
log_t const& Agent::lastLog() const { return _state.lastLog(); }
|
||||
|
|
|
@ -71,7 +71,7 @@ class Agent : public arangodb::Thread {
|
|||
bool fitness() const;
|
||||
|
||||
/// @brief Leader ID
|
||||
arangodb::consensus::index_t lastCommited() const;
|
||||
arangodb::consensus::index_t lastCommitted() const;
|
||||
|
||||
/// @brief Leader ID
|
||||
arangodb::consensus::id_t leaderID() const;
|
||||
|
@ -137,6 +137,9 @@ class Agent : public arangodb::Thread {
|
|||
private:
|
||||
Agent& operator=(VPackSlice const&);
|
||||
|
||||
/// @brief Leader ID
|
||||
void lastCommitted(arangodb::consensus::index_t);
|
||||
|
||||
/// @brief This server (need endpoint)
|
||||
TRI_server_t* _server;
|
||||
|
||||
|
@ -164,7 +167,7 @@ class Agent : public arangodb::Thread {
|
|||
/// @brief Spearhead (write) kv-store
|
||||
Store _spearhead;
|
||||
|
||||
/// @brief Commited (read) kv-store
|
||||
/// @brief Committed (read) kv-store
|
||||
Store _readDB;
|
||||
|
||||
/// @brief Condition variable for appendEntries
|
||||
|
@ -175,6 +178,8 @@ class Agent : public arangodb::Thread {
|
|||
|
||||
/// @brief Confirmed indices of all members of agency
|
||||
std::vector<index_t> _confirmed;
|
||||
std::vector<index_t> _lastHighest;
|
||||
std::vector<TimePoint> _lastSent;
|
||||
arangodb::Mutex _ioLock; /**< @brief Read/Write lock */
|
||||
|
||||
/// @brief Next compaction after
|
||||
|
|
|
@ -244,6 +244,7 @@ RestHandler::status RestAgencyHandler::handleConfig() {
|
|||
body.add(VPackValue(VPackValueType::Object));
|
||||
body.add("term", Value(_agent->term()));
|
||||
body.add("leaderId", Value(_agent->leaderID()));
|
||||
body.add("lastCommited", Value(_agent->lastCommitted()));
|
||||
body.add("configuration", _agent->config().toBuilder()->slice());
|
||||
body.close();
|
||||
generateResult(GeneralResponse::ResponseCode::OK, body.slice());
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
#include <thread>
|
||||
|
||||
#include "Aql/Query.h"
|
||||
#include "Aql/QueryRegistry.h"
|
||||
#include "Basics/StaticStrings.h"
|
||||
#include "Basics/VelocyPackHelper.h"
|
||||
#include "RestServer/QueryRegistryFeature.h"
|
||||
|
@ -46,6 +47,7 @@
|
|||
|
||||
using namespace arangodb;
|
||||
using namespace arangodb::application_features;
|
||||
using namespace arangodb::aql;
|
||||
using namespace arangodb::consensus;
|
||||
using namespace arangodb::velocypack;
|
||||
using namespace arangodb::rest;
|
||||
|
@ -58,6 +60,7 @@ State::State(std::string const& endpoint)
|
|||
_endpoint(endpoint),
|
||||
_collectionsChecked(false),
|
||||
_collectionsLoaded(false),
|
||||
_queryRegistry(nullptr),
|
||||
_cur(0) {}
|
||||
|
||||
|
||||
|
@ -167,21 +170,49 @@ arangodb::consensus::index_t State::log(
|
|||
|
||||
|
||||
void State::removeConflicts (query_t const& transactions) {
|
||||
|
||||
VPackSlice slice = transactions->slice();
|
||||
TRI_ASSERT(slice.isArray());
|
||||
|
||||
if (slice.length() > 0) {
|
||||
|
||||
auto bindVars = std::make_shared<VPackBuilder>();
|
||||
bindVars->openObject();
|
||||
bindVars->close();
|
||||
|
||||
try {
|
||||
auto idx = slice[0].get("index").getUInt();
|
||||
if (idx-_cur < _log.size()) {
|
||||
LOG_TOPIC(INFO, Logger::AGENCY)
|
||||
LOG_TOPIC(DEBUG, Logger::AGENCY)
|
||||
<< "Removing " << _log.size()-idx+_cur
|
||||
<< " entries from log starting with " << idx;
|
||||
_log.erase(_log.begin()+idx);
|
||||
<< " entries from log starting with " << idx << "=" << _log.at(idx-_cur).index;
|
||||
|
||||
// persisted logs
|
||||
std::stringstream aql;
|
||||
aql << "FOR l IN log FILTER l._key >= '" << stringify(idx)
|
||||
<< "' REMOVE l IN log";
|
||||
arangodb::aql::Query
|
||||
query(false, _vocbase, aql.str().c_str(), aql.str().size(), bindVars,
|
||||
nullptr, arangodb::aql::PART_MAIN);
|
||||
auto queryResult = query.execute(_queryRegistry);
|
||||
if (queryResult.code != TRI_ERROR_NO_ERROR) {
|
||||
THROW_ARANGO_EXCEPTION_MESSAGE(queryResult.code, queryResult.details);
|
||||
}
|
||||
queryResult.result->slice();
|
||||
|
||||
// volatile logs
|
||||
{
|
||||
MUTEX_LOCKER(mutexLocker, _logLock);
|
||||
_log.erase(_log.begin()+idx-_cur-1, _log.end());
|
||||
}
|
||||
|
||||
}
|
||||
} catch (std::exception const& e) {
|
||||
LOG_TOPIC(ERR, Logger::AGENCY) << e.what() << " " << __FILE__ << __LINE__;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -327,9 +358,14 @@ template<class T> std::ostream& operator<< (std::ostream& o, std::deque<T> const
|
|||
}
|
||||
|
||||
/// Load collections
|
||||
bool State::loadCollections(TRI_vocbase_t* vocbase, bool waitForSync) {
|
||||
bool State::loadCollections(TRI_vocbase_t* vocbase, QueryRegistry* queryRegistry,
|
||||
bool waitForSync) {
|
||||
|
||||
_vocbase = vocbase;
|
||||
_queryRegistry = queryRegistry;
|
||||
|
||||
TRI_ASSERT(_vocbase != nullptr);
|
||||
|
||||
_options.waitForSync = false;
|
||||
_options.silent = true;
|
||||
|
||||
|
@ -441,6 +477,9 @@ bool State::loadRemaining() {
|
|||
}
|
||||
}
|
||||
|
||||
_agent->rebuildDBs();
|
||||
_agent->lastCommitted(_log.back().index);
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
|
|
@ -36,6 +36,11 @@
|
|||
struct TRI_vocbase_t;
|
||||
|
||||
namespace arangodb {
|
||||
|
||||
namespace aql {
|
||||
class QueryRegistry;
|
||||
}
|
||||
|
||||
namespace consensus {
|
||||
|
||||
class Agent;
|
||||
|
@ -85,7 +90,7 @@ class State {
|
|||
bool configure(Agent* agent);
|
||||
|
||||
/// @brief Load persisted data from above or start with empty log
|
||||
bool loadCollections(TRI_vocbase_t*, bool);
|
||||
bool loadCollections(TRI_vocbase_t*, aql::QueryRegistry*, bool);
|
||||
|
||||
/// @brief Pipe to ostream
|
||||
friend std::ostream& operator<<(std::ostream& os, State const& s) {
|
||||
|
@ -141,6 +146,9 @@ class State {
|
|||
bool _collectionsChecked; /**< @brief Collections checked */
|
||||
bool _collectionsLoaded;
|
||||
|
||||
aql::QueryRegistry* _queryRegistry;
|
||||
|
||||
|
||||
size_t _compaction_step;
|
||||
size_t _cur;
|
||||
|
||||
|
|
|
@ -285,7 +285,7 @@ std::vector<bool> Store::apply(
|
|||
Builder body; // host
|
||||
body.openObject();
|
||||
body.add("term", VPackValue(_agent->term()));
|
||||
body.add("index", VPackValue(_agent->lastCommited()));
|
||||
body.add("index", VPackValue(_agent->lastCommitted()));
|
||||
auto ret = in.equal_range(url);
|
||||
|
||||
for (auto it = ret.first; it != ret.second; ++it) {
|
||||
|
|
|
@ -53,10 +53,6 @@ Supervision::Supervision()
|
|||
Supervision::~Supervision() { shutdown(); };
|
||||
|
||||
void Supervision::wakeUp() {
|
||||
TRI_ASSERT(_agent != nullptr);
|
||||
if (!this->isStopping()) {
|
||||
_snapshot = _agent->readDB().get(_agencyPrefix);
|
||||
}
|
||||
_cv.signal();
|
||||
}
|
||||
|
||||
|
@ -356,7 +352,7 @@ void Supervision::run() {
|
|||
|
||||
// Do nothing unless leader
|
||||
if (_agent->leading()) {
|
||||
_cv.wait(_frequency * 1000000); // quarter second
|
||||
_cv.wait(_frequency * 1000000);
|
||||
} else {
|
||||
_cv.wait();
|
||||
}
|
||||
|
|
|
@ -1076,10 +1076,7 @@ static bool throwExceptionAfterBadSyncRequest(ClusterCommResult* res,
|
|||
bool isShutdown) {
|
||||
ENTER_BLOCK
|
||||
if (res->status == CL_COMM_TIMEOUT) {
|
||||
std::string errorMessage =
|
||||
std::string("Timeout in communication with shard '") +
|
||||
std::string(res->shardID) + std::string("' on cluster node '") +
|
||||
std::string(res->serverID) + std::string("' failed.");
|
||||
std::string errorMessage = res->stringifyErrorMessage();
|
||||
|
||||
// No reply, we give up:
|
||||
THROW_ARANGO_EXCEPTION_MESSAGE(TRI_ERROR_CLUSTER_TIMEOUT, errorMessage);
|
||||
|
@ -1087,10 +1084,7 @@ static bool throwExceptionAfterBadSyncRequest(ClusterCommResult* res,
|
|||
|
||||
if (res->status == CL_COMM_BACKEND_UNAVAILABLE) {
|
||||
// there is no result
|
||||
std::string errorMessage =
|
||||
std::string("Empty result in communication with shard '") +
|
||||
std::string(res->shardID) + std::string("' on cluster node '") +
|
||||
std::string(res->serverID) + std::string("'");
|
||||
std::string errorMessage = res->stringifyErrorMessage();
|
||||
THROW_ARANGO_EXCEPTION_MESSAGE(TRI_ERROR_CLUSTER_CONNECTION_LOST,
|
||||
errorMessage);
|
||||
}
|
||||
|
|
|
@ -573,10 +573,7 @@ struct CoordinatorInstanciator : public WalkerWorker<ExecutionNode> {
|
|||
error += "\n";
|
||||
}
|
||||
} else {
|
||||
error += std::string("Communication with shard '") +
|
||||
std::string(res.shardID) + std::string("' on cluster node '") +
|
||||
std::string(res.serverID) + std::string("' failed : ") +
|
||||
res.errorMessage;
|
||||
error += res.stringifyErrorMessage();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1145,11 +1142,10 @@ ExecutionEngine* ExecutionEngine::instantiateFromPlan(
|
|||
url, "{\"code\": 0}", headers, 120.0);
|
||||
// Ignore result, we need to try to remove all.
|
||||
// However, log the incident if we have an errorMessage.
|
||||
if (res->errorMessage.length() > 0) {
|
||||
if (!res->errorMessage.empty()) {
|
||||
std::string msg("while trying to unregister query ");
|
||||
msg += queryId + std::string("from shard: ") + shardId +
|
||||
std::string("communication failed: ") + res->errorMessage;
|
||||
LOG(WARN) << "" << msg;
|
||||
msg += queryId + ": " + res->stringifyErrorMessage();
|
||||
LOG(WARN) << msg;
|
||||
}
|
||||
} else {
|
||||
// Remove query from registry:
|
||||
|
|
|
@ -116,6 +116,61 @@ void ClusterCommResult::setDestination(std::string const& dest,
|
|||
}
|
||||
}
|
||||
|
||||
/// @brief stringify the internal error state
|
||||
std::string ClusterCommResult::stringifyErrorMessage() const {
|
||||
// append status string
|
||||
std::string result(stringifyStatus(status));
|
||||
|
||||
if (!serverID.empty()) {
|
||||
result.append(", cluster node: '");
|
||||
result.append(serverID);
|
||||
result.push_back('\'');
|
||||
}
|
||||
|
||||
if (!shardID.empty()) {
|
||||
result.append(", shard: '");
|
||||
result.append(shardID);
|
||||
result.push_back('\'');
|
||||
}
|
||||
|
||||
if (!endpoint.empty()) {
|
||||
result.append(", endpoint: '");
|
||||
result.append(endpoint);
|
||||
result.push_back('\'');
|
||||
}
|
||||
|
||||
if (!errorMessage.empty()) {
|
||||
result.append(", error: '");
|
||||
result.append(errorMessage);
|
||||
result.push_back('\'');
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// @brief stringify a cluster comm status
|
||||
char const* ClusterCommResult::stringifyStatus(ClusterCommOpStatus status) {
|
||||
switch (status) {
|
||||
case CL_COMM_SUBMITTED:
|
||||
return "submitted";
|
||||
case CL_COMM_SENDING:
|
||||
return "sending";
|
||||
case CL_COMM_SENT:
|
||||
return "sent";
|
||||
case CL_COMM_TIMEOUT:
|
||||
return "timeout";
|
||||
case CL_COMM_RECEIVED:
|
||||
return "received";
|
||||
case CL_COMM_ERROR:
|
||||
return "error";
|
||||
case CL_COMM_DROPPED:
|
||||
return "dropped";
|
||||
case CL_COMM_BACKEND_UNAVAILABLE:
|
||||
return "backend unavailable";
|
||||
}
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief ClusterComm constructor
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -212,6 +212,12 @@ struct ClusterCommResult {
|
|||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void setDestination(std::string const& dest, bool logConnectionErrors);
|
||||
|
||||
/// @brief stringify the internal error state
|
||||
std::string stringifyErrorMessage() const;
|
||||
|
||||
/// @brief stringify a cluster comm status
|
||||
static char const* stringifyStatus(ClusterCommOpStatus status);
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -757,11 +757,16 @@ std::string Transaction::extractIdString(CollectionNameResolver const* resolver,
|
|||
|
||||
if (*p == basics::VelocyPackHelper::IdAttribute) {
|
||||
id = VPackSlice(p + 1);
|
||||
if (id.isCustom()) {
|
||||
// we should be pointing to a custom value now
|
||||
TRI_ASSERT(id.isCustom() && id.head() == 0xf3);
|
||||
TRI_ASSERT(id.head() == 0xf3);
|
||||
|
||||
return makeIdFromCustom(resolver, id, key);
|
||||
}
|
||||
if (id.isString()) {
|
||||
return id.copyString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// in case the quick access above did not work out, use the slow path...
|
||||
|
|
|
@ -138,19 +138,24 @@ void TraverserExpression::toVelocyPack(VPackBuilder& builder) const {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
bool TraverserExpression::recursiveCheck(arangodb::aql::AstNode const* node,
|
||||
arangodb::velocypack::Slice& element) const {
|
||||
arangodb::velocypack::Slice& element,
|
||||
arangodb::velocypack::Slice& base) const {
|
||||
|
||||
base = arangodb::basics::VelocyPackHelper::EmptyObjectValue();
|
||||
|
||||
switch (node->type) {
|
||||
case arangodb::aql::NODE_TYPE_REFERENCE:
|
||||
// We are on the variable access
|
||||
return true;
|
||||
case arangodb::aql::NODE_TYPE_ATTRIBUTE_ACCESS: {
|
||||
std::string name(node->getString());
|
||||
if (!recursiveCheck(node->getMember(0), element)) {
|
||||
if (!recursiveCheck(node->getMember(0), element, base)) {
|
||||
return false;
|
||||
}
|
||||
if (!element.isObject() || !element.hasKey(name)) {
|
||||
return false;
|
||||
}
|
||||
base = element; // set base object
|
||||
element = element.get(name);
|
||||
break;
|
||||
}
|
||||
|
@ -159,7 +164,7 @@ bool TraverserExpression::recursiveCheck(arangodb::aql::AstNode const* node,
|
|||
if (!index->isIntValue()) {
|
||||
return false;
|
||||
}
|
||||
if (!recursiveCheck(node->getMember(0), element)) {
|
||||
if (!recursiveCheck(node->getMember(0), element, base)) {
|
||||
return false;
|
||||
}
|
||||
auto idx = index->getIntValue();
|
||||
|
@ -182,16 +187,24 @@ bool TraverserExpression::recursiveCheck(arangodb::aql::AstNode const* node,
|
|||
bool TraverserExpression::matchesCheck(arangodb::Transaction* trx,
|
||||
VPackSlice const& element) const {
|
||||
TRI_ASSERT(trx != nullptr);
|
||||
VPackSlice base = arangodb::basics::VelocyPackHelper::EmptyObjectValue();
|
||||
|
||||
VPackSlice value = element.resolveExternal();
|
||||
|
||||
// initialize compare value to Null
|
||||
VPackSlice result = arangodb::basics::VelocyPackHelper::NullValue();
|
||||
// perform recursive check. this may modify value
|
||||
if (recursiveCheck(varAccess, value)) {
|
||||
if (recursiveCheck(varAccess, value, base)) {
|
||||
result = value;
|
||||
}
|
||||
|
||||
// hack for _id attribute
|
||||
TransactionBuilderLeaser builder(trx);
|
||||
if (result.isCustom() && base.isObject()) {
|
||||
builder->add(VPackValue(trx->extractIdString(base)));
|
||||
result = builder->slice();
|
||||
}
|
||||
|
||||
TRI_ASSERT(compareTo != nullptr);
|
||||
VPackOptions* options = trx->transactionContext()->getVPackOptions();
|
||||
|
||||
|
|
|
@ -91,7 +91,8 @@ class TraverserExpression {
|
|||
|
||||
private:
|
||||
bool recursiveCheck(arangodb::aql::AstNode const*,
|
||||
arangodb::velocypack::Slice&) const;
|
||||
arangodb::velocypack::Slice& value,
|
||||
arangodb::velocypack::Slice& base) const;
|
||||
|
||||
// Required when creating this expression without AST
|
||||
std::vector<std::unique_ptr<arangodb::aql::AstNode const>> _nodeRegister;
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
# -*- mode: CMAKE; -*-
|
||||
# these are the install targets for the client package.
|
||||
# we can't use RUNTIME DESTINATION here.
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGOBENCH}
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
install_config(arangobench)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGODUMP}
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
install_config(arangodump)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGOIMP}
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
install_config(arangoimp)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGORESTORE}
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
install_config(arangorestore)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGOSH}
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
install_config(arangosh)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGOVPACK}
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
|
||||
install_command_alias(${BIN_ARANGOSH}
|
||||
${CMAKE_INSTALL_FULL_BINDIR}
|
||||
foxx-manager)
|
||||
install_config(foxx-manager)
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
include(GNUInstallDirs)
|
||||
|
||||
set(ARANGODB_SOURCE_DIR ${CMAKE_SOURCE_DIR})
|
||||
|
||||
if (MSVC OR DARWIN)
|
||||
set(ENABLE_UID_CFG false)
|
||||
else ()
|
||||
|
@ -22,7 +24,7 @@ FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/lib/arangodb3-apps")
|
|||
# logs
|
||||
FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/log/arangodb3")
|
||||
|
||||
include(ArangoDBinstallCfg)
|
||||
include(InstallMacros)
|
||||
|
||||
# install ----------------------------------------------------------------------
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/Documentation/man/
|
||||
|
@ -33,44 +35,6 @@ install_readme(README.md README.md)
|
|||
install_readme(LICENSE LICENSE.txt)
|
||||
install_readme(LICENSES-OTHER-COMPONENTS.md LICENSES-OTHER-COMPONENTS.md)
|
||||
|
||||
|
||||
# Build package ----------------------------------------------------------------
|
||||
|
||||
if (NOT(MSVC))
|
||||
set(CPACK_SET_DESTDIR ON)
|
||||
endif()
|
||||
|
||||
set(CPACK_PACKAGE_VENDOR "ArangoDB GmbH")
|
||||
set(CPACK_PACKAGE_CONTACT "info@arangodb.com")
|
||||
set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
|
||||
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
|
||||
|
||||
set(CPACK_STRIP_FILES "ON")
|
||||
|
||||
set(CPACK_PACKAGE_NAME "arangodb3")
|
||||
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_PACKAGE_RELEASE}.${CMAKE_SYSTEM_PROCESSOR}")
|
||||
|
||||
|
||||
if ("${PACKAGING}" STREQUAL "DEB")
|
||||
include(packaging_deb)
|
||||
elseif ("${PACKAGING}" STREQUAL "RPM")
|
||||
include(packaging_rpm)
|
||||
elseif ("${PACKAGING}" STREQUAL "Bundle")
|
||||
include(packaging_bundle)
|
||||
elseif (MSVC)
|
||||
include(packaging_nsis)
|
||||
endif ()
|
||||
|
||||
configure_file(
|
||||
"${CMAKE_SOURCE_DIR}/Installation/cmake/CMakeCPackOptions.cmake.in"
|
||||
"${CMAKE_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY)
|
||||
set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_BINARY_DIR}/CMakeCPackOptions.cmake")
|
||||
|
||||
# Finally: user cpack
|
||||
include(CPack)
|
||||
|
||||
# Custom targets ----------------------------------------------------------------
|
||||
# love
|
||||
add_custom_target (love
|
||||
|
@ -78,18 +42,7 @@ add_custom_target (love
|
|||
COMMAND ""
|
||||
)
|
||||
|
||||
|
||||
################################################################################
|
||||
### @brief install client-side JavaScript files
|
||||
################################################################################
|
||||
|
||||
install(
|
||||
DIRECTORY ${PROJECT_SOURCE_DIR}/js/common ${PROJECT_SOURCE_DIR}/js/client
|
||||
DESTINATION share/arangodb3/js
|
||||
FILES_MATCHING PATTERN "*.js"
|
||||
REGEX "^.*/common/test-data$" EXCLUDE
|
||||
REGEX "^.*/common/tests$" EXCLUDE
|
||||
REGEX "^.*/client/tests$" EXCLUDE)
|
||||
include(InstallArangoDBJSClient)
|
||||
|
||||
################################################################################
|
||||
### @brief install server-side JavaScript files
|
|
@ -0,0 +1,11 @@
|
|||
################################################################################
|
||||
### @brief install client-side JavaScript files
|
||||
################################################################################
|
||||
|
||||
install(
|
||||
DIRECTORY ${ARANGODB_SOURCE_DIR}/js/common ${ARANGODB_SOURCE_DIR}/js/client
|
||||
DESTINATION share/arangodb3/js
|
||||
FILES_MATCHING PATTERN "*.js"
|
||||
REGEX "^.*/common/test-data$" EXCLUDE
|
||||
REGEX "^.*/common/tests$" EXCLUDE
|
||||
REGEX "^.*/client/tests$" EXCLUDE)
|
|
@ -0,0 +1,78 @@
|
|||
################################################################################
|
||||
# the client package is a complete cmake sub package.
|
||||
################################################################################
|
||||
project(PACKAGE-CLIENT)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
################################################################################
|
||||
# variables from the main build have to be explicitely forwarded:
|
||||
################################################################################
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "@PROJECT_BINARY_DIR@/bin/")
|
||||
|
||||
################################################################################
|
||||
# Substitute the install binaries:
|
||||
################################################################################
|
||||
set(BIN_ARANGOBENCH @BIN_ARANGOBENCH@)
|
||||
set(BIN_ARANGODUMP @BIN_ARANGODUMP@)
|
||||
set(BIN_ARANGOIMP @BIN_ARANGOIMP@)
|
||||
set(BIN_ARANGORESTORE @BIN_ARANGORESTORE@)
|
||||
set(BIN_ARANGOSH @BIN_ARANGOSH@)
|
||||
set(BIN_ARANGOVPACK @BIN_ARANGOVPACK@)
|
||||
|
||||
################################################################################
|
||||
# build specific variables:
|
||||
################################################################################
|
||||
set(ARANGODB_URL_INFO_ABOUT @ARANGODB_URL_INFO_ABOUT@)
|
||||
set(ARANGODB_SOURCE_DIR @ARANGODB_SOURCE_DIR@)
|
||||
set(ARANGODB_VERSION @ARANGODB_VERSION@)
|
||||
set(ARANGODB_PACKAGE_CONTACT @ARANGODB_PACKAGE_CONTACT@)
|
||||
set(ARANGODB_PACKAGE_REVISION @ARANGODB_PACKAGE_REVISION@)
|
||||
|
||||
set(CMAKE_INSTALL_FULL_BINDIR @CMAKE_INSTALL_FULL_BINDIR@)
|
||||
set(CMAKE_TARGET_ARCHITECTURES @CMAKE_TARGET_ARCHITECTURES@)
|
||||
|
||||
set(CMAKE_INSTALL_SYSCONFDIR_ARANGO @CMAKE_INSTALL_SYSCONFDIR_ARANGO@)
|
||||
set(CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO @CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO@)
|
||||
|
||||
set(ORIGINAL_SOURCE_DIR @PROJECT_SOURCE_DIR@)
|
||||
set(PROJECT_SOURCE_DIR @PROJECT_SOURCE_DIR@)
|
||||
|
||||
################################################################################
|
||||
# Get the final values for cpack:
|
||||
################################################################################
|
||||
set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
|
||||
set(CPACK_PACKAGE_NAME "arangodb3-client")
|
||||
set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT})
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
|
||||
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${ARANGODB_URL_INFO_ABOUT})
|
||||
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
|
||||
set(CPACK_DEBIAN_PACKAGE_CONFLICTS "arangodb, arangodb3")
|
||||
set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")
|
||||
set(CPACK_COMPONENTS_ALL debian-extras)
|
||||
|
||||
file(READ "${PROJECT_SOURCE_DIR}/Installation/debian/client_packagedesc.txt"
|
||||
CPACK_DEBIAN_PACKAGE_DESCRIPTION)
|
||||
|
||||
################################################################################
|
||||
# specify which target archcitecture the package is going to be:
|
||||
################################################################################
|
||||
if(CMAKE_TARGET_ARCHITECTURES MATCHES ".*x86_64.*")
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "amd64")
|
||||
elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "aarch64")
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "arm64")
|
||||
elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "armv7")
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "arm7")
|
||||
else()
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "i386")
|
||||
endif()
|
||||
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}")
|
||||
|
||||
################################################################################
|
||||
# Install the external files into the package directory:
|
||||
################################################################################
|
||||
include(${ORIGINAL_SOURCE_DIR}/cmake/InstallMacros.cmake)
|
||||
include(${ORIGINAL_SOURCE_DIR}/cmake/InstallArangoDBJSClient.cmake)
|
||||
include(${ORIGINAL_SOURCE_DIR}/arangosh/install.cmake)
|
||||
|
||||
include(CPack)
|
|
@ -0,0 +1,79 @@
|
|||
################################################################################
|
||||
# the client package is a complete cmake sub package.
|
||||
################################################################################
|
||||
project(PACKAGE-CLIENT)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
################################################################################
|
||||
# variables from the main build have to be explicitely forwarded:
|
||||
################################################################################
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "@PROJECT_BINARY_DIR@/bin/")
|
||||
|
||||
################################################################################
|
||||
# Substitute the install binaries:
|
||||
################################################################################
|
||||
set(BIN_ARANGOBENCH @BIN_ARANGOBENCH@)
|
||||
set(BIN_ARANGODUMP @BIN_ARANGODUMP@)
|
||||
set(BIN_ARANGOIMP @BIN_ARANGOIMP@)
|
||||
set(BIN_ARANGORESTORE @BIN_ARANGORESTORE@)
|
||||
set(BIN_ARANGOSH @BIN_ARANGOSH@)
|
||||
set(BIN_ARANGOVPACK @BIN_ARANGOVPACK@)
|
||||
|
||||
################################################################################
|
||||
# build specific variables:
|
||||
################################################################################
|
||||
set(ARANGODB_URL_INFO_ABOUT @ARANGODB_URL_INFO_ABOUT@)
|
||||
set(ARANGODB_SOURCE_DIR @ARANGODB_SOURCE_DIR@)
|
||||
set(ARANGODB_VERSION @ARANGODB_VERSION@)
|
||||
set(ARANGODB_PACKAGE_CONTACT @ARANGODB_PACKAGE_CONTACT@)
|
||||
set(ARANGODB_PACKAGE_REVISION @ARANGODB_PACKAGE_REVISION@)
|
||||
|
||||
set(CMAKE_INSTALL_FULL_BINDIR @CMAKE_INSTALL_FULL_BINDIR@)
|
||||
set(CMAKE_TARGET_ARCHITECTURES @CMAKE_TARGET_ARCHITECTURES@)
|
||||
|
||||
set(CMAKE_INSTALL_SYSCONFDIR_ARANGO @CMAKE_INSTALL_SYSCONFDIR_ARANGO@)
|
||||
set(CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO @CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO@)
|
||||
|
||||
set(ORIGINAL_SOURCE_DIR @PROJECT_SOURCE_DIR@)
|
||||
set(PROJECT_SOURCE_DIR @PROJECT_SOURCE_DIR@)
|
||||
|
||||
################################################################################
|
||||
# Get the final values for cpack:
|
||||
################################################################################
|
||||
set(CPACK_GENERATOR "DEB")
|
||||
set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
|
||||
set(CPACK_PACKAGE_NAME "arangodb3-client")
|
||||
set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT})
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
|
||||
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${ARANGODB_URL_INFO_ABOUT})
|
||||
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
|
||||
set(CPACK_DEBIAN_PACKAGE_CONFLICTS "arangodb, arangodb3")
|
||||
set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")
|
||||
set(CPACK_COMPONENTS_ALL debian-extras)
|
||||
|
||||
file(READ "${PROJECT_SOURCE_DIR}/Installation/debian/client_packagedesc.txt"
|
||||
CPACK_DEBIAN_PACKAGE_DESCRIPTION)
|
||||
|
||||
################################################################################
|
||||
# specify which target archcitecture the package is going to be:
|
||||
################################################################################
|
||||
if(CMAKE_TARGET_ARCHITECTURES MATCHES ".*x86_64.*")
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "amd64")
|
||||
elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "aarch64")
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "arm64")
|
||||
elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "armv7")
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "arm7")
|
||||
else()
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "i386")
|
||||
endif()
|
||||
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}")
|
||||
|
||||
################################################################################
|
||||
# Install the external files into the package directory:
|
||||
################################################################################
|
||||
include(${ORIGINAL_SOURCE_DIR}/cmake/InstallMacros.cmake)
|
||||
include(${ORIGINAL_SOURCE_DIR}/cmake/InstallArangoDBJSClient.cmake)
|
||||
include(${ORIGINAL_SOURCE_DIR}/arangosh/install.cmake)
|
||||
|
||||
include(CPack)
|
|
@ -0,0 +1,65 @@
|
|||
# -*- mode: CMAKE; -*-
|
||||
################################################################################
|
||||
# This produces the debian packages, using client/deb.txt for the second package.
|
||||
################################################################################
|
||||
FILE(READ "${PROJECT_SOURCE_DIR}/Installation/debian/packagedesc.txt" CPACK_DEBIAN_PACKAGE_DESCRIPTION)
|
||||
set(CPACK_DEBIAN_PACKAGE_SECTION "database")
|
||||
set(CPACK_DEBIAN_PACKAGE_CONFLICTS "arangodb")
|
||||
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
|
||||
set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")
|
||||
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${ARANGODB_URL_INFO_ABOUT})
|
||||
set(CPACK_COMPONENTS_ALL debian-extras)
|
||||
set(CPACK_GENERATOR "DEB")
|
||||
|
||||
list(APPEND CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
|
||||
"${PROJECT_SOURCE_DIR}/Installation/debian/templates"
|
||||
"${PROJECT_SOURCE_DIR}/Installation/debian/config"
|
||||
"${PROJECT_SOURCE_DIR}/Installation/debian/postinst"
|
||||
"${PROJECT_SOURCE_DIR}/Installation/debian/preinst"
|
||||
"${PROJECT_SOURCE_DIR}/Installation/debian/postrm"
|
||||
"${PROJECT_SOURCE_DIR}/Installation/debian/prerm;")
|
||||
|
||||
if(CMAKE_TARGET_ARCHITECTURES MATCHES ".*x86_64.*")
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "amd64")
|
||||
elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "aarch64")
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "arm64")
|
||||
elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "armv7")
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "arm7")
|
||||
else()
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "i386")
|
||||
endif()
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}")
|
||||
|
||||
|
||||
# deploy the Init script:
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/Installation/debian/arangodb.init
|
||||
PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/init.d
|
||||
RENAME arangodb3
|
||||
COMPONENT debian-extras
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# hook to build the server package
|
||||
################################################################################
|
||||
add_custom_target(package-arongodb-server
|
||||
COMMAND ${CMAKE_COMMAND} .
|
||||
COMMAND ${CMAKE_CPACK_COMMAND} -G DEB
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
|
||||
|
||||
list(APPEND PACKAGES_LIST package-arongodb-server)
|
||||
|
||||
################################################################################
|
||||
# hook to build the client package
|
||||
################################################################################
|
||||
set(CLIENT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/arangodb-client)
|
||||
configure_file(cmake/packages/client/deb.txt ${CLIENT_BUILD_DIR}/CMakeLists.txt @ONLY)
|
||||
add_custom_target(package-arongodb-client
|
||||
COMMAND ${CMAKE_COMMAND} .
|
||||
COMMAND ${CMAKE_CPACK_COMMAND} -G DEB
|
||||
COMMAND cp *.deb ${PROJECT_BINARY_DIR}
|
||||
WORKING_DIRECTORY ${CLIENT_BUILD_DIR})
|
||||
|
||||
|
||||
list(APPEND PACKAGES_LIST package-arongodb-client)
|
|
@ -1,73 +0,0 @@
|
|||
# the client package is a complete cmake sub package.
|
||||
project(PACKAGE-CLIENT)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
# variables from the main build have to be explicitely forwarded:
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "@PROJECT_BINARY_DIR@/bin/")
|
||||
set(BIN_ARANGOBENCH @BIN_ARANGOBENCH@)
|
||||
set(BIN_ARANGODUMP @BIN_ARANGODUMP@)
|
||||
set(BIN_ARANGOIMP @BIN_ARANGOIMP@)
|
||||
set(BIN_ARANGORESTORE @BIN_ARANGORESTORE@)
|
||||
set(BIN_ARANGOSH @BIN_ARANGOSH@)
|
||||
set(BIN_ARANGOVPACK @BIN_ARANGOVPACK@)
|
||||
set(CMAKE_INSTALL_FULL_BINDIR @CMAKE_INSTALL_FULL_BINDIR@)
|
||||
|
||||
set(CMAKE_INSTALL_SYSCONFDIR_ARANGO @CMAKE_INSTALL_SYSCONFDIR_ARANGO@)
|
||||
set(CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO @CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO@)
|
||||
|
||||
set(ORIGINAL_SOURCE_DIR @PROJECT_SOURCE_DIR@)
|
||||
set(PROJECT_SOURCE_DIR @PROJECT_SOURCE_DIR@)
|
||||
|
||||
include(${ORIGINAL_SOURCE_DIR}/cmake/ArangoDBinstallCfg.cmake)
|
||||
|
||||
# Start installing the client components:
|
||||
install(
|
||||
DIRECTORY ${ORIGINAL_SOURCE_DIR}/js/common ${ORIGINAL_SOURCE_DIR}/js/client
|
||||
DESTINATION share/arangodb3/js
|
||||
FILES_MATCHING PATTERN "*.js"
|
||||
REGEX "^.*/common/test-data$" EXCLUDE
|
||||
REGEX "^.*/common/tests$" EXCLUDE
|
||||
REGEX "^.*/client/tests$" EXCLUDE)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGOBENCH}
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
install_config(arangobench)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGODUMP}
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
install_config(arangodump)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGOIMP}
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
install_config(arangoimp)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGORESTORE}
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
install_config(arangorestore)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGOSH}
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
install_config(arangosh)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGOVPACK}
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
|
||||
install_command_alias(${BIN_ARANGOSH}
|
||||
${CMAKE_INSTALL_FULL_BINDIR}
|
||||
foxx-manager)
|
||||
install_config(foxx-manager)
|
||||
|
||||
|
||||
# client packaging starts here:
|
||||
|
||||
set(CPACK_PACKAGE_NAME "arangodb3-client")
|
||||
set(CPACK_PACKAGE_CONTACT "info@arangodb.com")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "ArangoDB Client Package")
|
||||
|
||||
include(CPack)
|
|
@ -0,0 +1,35 @@
|
|||
if (NOT(MSVC))
|
||||
set(CPACK_SET_DESTDIR ON)
|
||||
endif()
|
||||
|
||||
set(CPACK_PACKAGE_VENDOR ${ARANGODB_PACKAGE_VENDOR})
|
||||
set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT})
|
||||
set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
|
||||
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
|
||||
|
||||
set(CPACK_STRIP_FILES "ON")
|
||||
|
||||
set(CPACK_PACKAGE_NAME "arangodb3")
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR})
|
||||
# eventually the package string will be modified later on:
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}.${ARANGODB_PACKAGE_ARCHITECTURE}")
|
||||
|
||||
if ("${PACKAGING}" STREQUAL "DEB")
|
||||
include(packages/deb)
|
||||
elseif ("${PACKAGING}" STREQUAL "RPM")
|
||||
include(packages/rpm)
|
||||
elseif ("${PACKAGING}" STREQUAL "Bundle")
|
||||
include(packages/bundle)
|
||||
elseif (MSVC)
|
||||
include(packages/nsis)
|
||||
endif ()
|
||||
|
||||
configure_file(
|
||||
"${CMAKE_SOURCE_DIR}/Installation/cmake/CMakeCPackOptions.cmake.in"
|
||||
"${CMAKE_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY)
|
||||
set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_BINARY_DIR}/CMakeCPackOptions.cmake")
|
||||
|
||||
|
||||
# Finally: user cpack
|
||||
include(CPack)
|
|
@ -0,0 +1,46 @@
|
|||
# -*- mode: CMAKE; -*-
|
||||
|
||||
set(CPACK_GENERATOR "RPM")
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Installation/rpm/arangodb.spec.in" "${CMAKE_CURRENT_BINARY_DIR}/arangodb.spec" @ONLY IMMEDIATE)
|
||||
set(CPACK_RPM_USER_BINARY_SPECFILE "${CMAKE_CURRENT_BINARY_DIR}/arangodb.spec")
|
||||
|
||||
|
||||
################################################################################
|
||||
# This produces the RPM packages, using client/rpm.txt for the second package.
|
||||
################################################################################
|
||||
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}")
|
||||
|
||||
|
||||
# deploy the Init script:
|
||||
#install(
|
||||
# FILES ${PROJECT_SOURCE_DIR}/Installation/debian/arangodb.init
|
||||
# PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
# DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/init.d
|
||||
# RENAME arangodb3
|
||||
# COMPONENT debian-extras
|
||||
# )
|
||||
|
||||
################################################################################
|
||||
# hook to build the server package
|
||||
################################################################################
|
||||
add_custom_target(package-arongodb-server
|
||||
COMMAND ${CMAKE_COMMAND} .
|
||||
COMMAND ${CMAKE_CPACK_COMMAND} -G RPM
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
|
||||
|
||||
list(APPEND PACKAGES_LIST package-arongodb-server)
|
||||
|
||||
################################################################################
|
||||
# hook to build the client package
|
||||
################################################################################
|
||||
set(CLIENT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/arangodb-client)
|
||||
configure_file(cmake/packages/client/rpm.txt ${CLIENT_BUILD_DIR}/CMakeLists.txt @ONLY)
|
||||
add_custom_target(package-arongodb-client
|
||||
COMMAND ${CMAKE_COMMAND} .
|
||||
COMMAND ${CMAKE_CPACK_COMMAND} -G RPM
|
||||
COMMAND cp *.rpm ${PROJECT_BINARY_DIR}
|
||||
WORKING_DIRECTORY ${CLIENT_BUILD_DIR})
|
||||
|
||||
|
||||
list(APPEND PACKAGES_LIST package-arongodb-client)
|
|
@ -1,36 +0,0 @@
|
|||
set(CPACK_DEBIAN_PACKAGE_SECTION "database")
|
||||
FILE(READ "${PROJECT_SOURCE_DIR}/Installation/debian/packagedesc.txt" CPACK_DEBIAN_PACKAGE_DESCRIPTION)
|
||||
SET(CPACK_DEBIAN_PACKAGE_CONFLICTS "arangodb")
|
||||
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
|
||||
set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")
|
||||
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${ARANGODB_URL_INFO_ABOUT})
|
||||
list(APPEND CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
|
||||
"${PROJECT_SOURCE_DIR}/Installation/debian/templates"
|
||||
"${PROJECT_SOURCE_DIR}/Installation/debian/config"
|
||||
"${PROJECT_SOURCE_DIR}/Installation/debian/postinst"
|
||||
"${PROJECT_SOURCE_DIR}/Installation/debian/preinst"
|
||||
"${PROJECT_SOURCE_DIR}/Installation/debian/postrm"
|
||||
"${PROJECT_SOURCE_DIR}/Installation/debian/prerm;")
|
||||
|
||||
if(CMAKE_TARGET_ARCHITECTURES MATCHES ".*x86_64.*")
|
||||
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
|
||||
elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "aarch64")
|
||||
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "arm64")
|
||||
elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "armv7")
|
||||
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "arm7")
|
||||
else()
|
||||
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "i386")
|
||||
endif()
|
||||
|
||||
|
||||
# components
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/Installation/debian/arangodb.init
|
||||
PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/init.d
|
||||
RENAME arangodb3
|
||||
COMPONENT debian-extras
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
set(CPACK_GENERATOR "RPM")
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Installation/rpm/arangodb.spec.in" "${CMAKE_CURRENT_BINARY_DIR}/arangodb.spec" @ONLY IMMEDIATE)
|
||||
set(CPACK_RPM_USER_BINARY_SPECFILE "${CMAKE_CURRENT_BINARY_DIR}/my_project.spec")
|
|
@ -94,6 +94,14 @@ function agencyTestSuite () {
|
|||
tearDown : function () {
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief startup timing
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
testStartup : function () {
|
||||
assertEqual(readAndCheck([["/x"]]), [{}]);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test to write a single top level key
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -1473,7 +1473,7 @@ global.DEFINE_MODULE('internal', (function () {
|
|||
if (typeof src !== 'function' || (
|
||||
key !== 'arguments' && key !== 'caller' && key !== 'callee'
|
||||
)) {
|
||||
if (key.charAt(0) !== '_' && !hasOwnProperty(result, key)) {
|
||||
if (key.charAt(0) !== '_' && !hasOwnProperty.call(result, key)) {
|
||||
val = obj[key];
|
||||
if (seen.indexOf(val) !== -1 && (
|
||||
typeof val === 'object' || typeof val === 'function'
|
||||
|
@ -1491,7 +1491,7 @@ global.DEFINE_MODULE('internal', (function () {
|
|||
if (obj.constructor && obj.constructor.name) {
|
||||
if (obj instanceof Error && obj.name === Error.name) {
|
||||
result.name = obj.constructor.name;
|
||||
} else if (!hasOwnProperty(result, 'constructor')) {
|
||||
} else if (!hasOwnProperty.call(result, 'constructor')) {
|
||||
result.constructor = {
|
||||
name: obj.constructor.name
|
||||
};
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
.AppleDouble
|
||||
.DS_Store
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Abidjan":["z",{"wallclock":-1830384000000,"format":"GMT","abbrev":"GMT","offset":0,"posix":-1830383032000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-968000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Accra":["z",{"wallclock":-1640995200000,"format":"%s","abbrev":"GMT","offset":0,"posix":-1640995148000,"save":0,"rules":"Ghana"},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-52000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{"Ghana":[{"from":1920,"to":1942,"month":8,"day":[7,1],"time":0,"clock":"wallclock","save":20,"letter":"GHST","saved":0},{"from":1920,"to":1942,"month":11,"day":[7,31],"time":0,"clock":"wallclock","save":0,"letter":"GMT","saved":1200000}]}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Addis_Ababa":["z",{"wallclock":-315619200000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-315629100000,"save":0},{"wallclock":-946771200000,"format":"BEAUT","abbrev":"BEAUT","offset":9900000,"posix":-946780200000,"save":0},{"wallclock":-1262304000000,"format":"BEAT","abbrev":"BEAT","offset":9000000,"posix":-1262314800000,"save":0},{"wallclock":-1309737600000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-1309746436000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":8836000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Algiers":["z",{"wallclock":357523200000,"format":"CET","abbrev":"CET","offset":3600000,"posix":357523200000,"save":0},{"wallclock":309744000000,"format":"WE%sT","abbrev":"WET","offset":0,"posix":309740400000,"save":0,"rules":"Algeria"},{"wallclock":246240000000,"format":"CE%sT","abbrev":"CET","offset":3600000,"posix":246236400000,"save":0,"rules":"Algeria"},{"wallclock":-212025600000,"format":"WE%sT","abbrev":"WET","offset":0,"posix":-212029200000,"save":0,"rules":"Algeria"},{"wallclock":-439430400000,"format":"CET","abbrev":"CET","offset":3600000,"posix":-439430400000,"save":0},{"wallclock":-733276800000,"format":"WET","abbrev":"WET","offset":0,"posix":-733280400000,"save":0},{"wallclock":-942012000000,"format":"CE%sT","abbrev":"CET","offset":3600000,"posix":-942012000000,"save":0,"rules":"Algeria"},{"wallclock":-1855958400000,"format":"WE%sT","abbrev":"WET","offset":0,"posix":-1855958961000,"save":0,"rules":"Algeria"},{"wallclock":-2486678340000,"format":"PMT","abbrev":"PMT","offset":561000,"posix":-2486679072000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":732000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{"Algeria":[{"from":1980,"to":1980,"month":9,"day":[7,31],"time":120,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1980,"to":1980,"month":3,"day":[7,25],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1978,"to":1978,"month":8,"day":[7,22],"time":180,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1978,"to":1978,"month":2,"day":[7,24],"time":60,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1977,"to":1977,"month":9,"day":[7,21],"time":0,"clock":"wallclock","save":0,"letter":"","saved":0},{"from":1977,"to":1977,"month":4,"day":[7,6],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1971,"to":1971,"month":8,"day":[7,26],"time":1440,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1971,"to":1971,"month":3,"day":[7,25],"time":1380,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1944,"to":1945,"month":3,"day":[1,1],"time":120,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1945,"to":1945,"month":8,"day":[7,16],"time":60,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1944,"to":1944,"month":9,"day":[7,8],"time":120,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1939,"to":1939,"month":10,"day":[7,19],"time":60,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1939,"to":1939,"month":8,"day":[7,11],"time":1380,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1921,"to":1921,"month":5,"day":[7,21],"time":1440,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1921,"to":1921,"month":2,"day":[7,14],"time":1380,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1920,"to":1920,"month":9,"day":[7,23],"time":1440,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1920,"to":1920,"month":1,"day":[7,14],"time":1380,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1916,"to":1919,"month":9,"day":[0,1],"time":1440,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1919,"to":1919,"month":2,"day":[7,1],"time":1380,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1918,"to":1918,"month":2,"day":[7,9],"time":1380,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1917,"to":1917,"month":2,"day":[7,24],"time":1380,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1916,"to":1916,"month":5,"day":[7,14],"time":1380,"clock":"wallclock","save":60,"letter":"S","saved":0}]}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Asmara":["z",{"wallclock":-315619200000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-315629100000,"save":0},{"wallclock":-946771200000,"format":"BEAUT","abbrev":"BEAUT","offset":9900000,"posix":-946780200000,"save":0},{"wallclock":-1262304000000,"format":"BEAT","abbrev":"BEAT","offset":9000000,"posix":-1262314800000,"save":0},{"wallclock":-1309737600000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-1309746436000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":8836000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Asmera":["z",{"wallclock":-315619200000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-315629100000,"save":0},{"wallclock":-946771200000,"format":"BEAUT","abbrev":"BEAUT","offset":9900000,"posix":-946780200000,"save":0},{"wallclock":-1262304000000,"format":"BEAT","abbrev":"BEAT","offset":9000000,"posix":-1262314800000,"save":0},{"wallclock":-1309737600000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-1309746436000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":8836000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Bamako":["z",{"wallclock":-1830384000000,"format":"GMT","abbrev":"GMT","offset":0,"posix":-1830383032000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-968000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Bangui":["z",{"wallclock":-1588464000000,"format":"WAT","abbrev":"WAT","offset":3600000,"posix":-1588464816000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":816000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Banjul":["z",{"wallclock":-1830384000000,"format":"GMT","abbrev":"GMT","offset":0,"posix":-1830383032000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-968000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Bissau":["z",{"wallclock":157766400000,"format":"GMT","abbrev":"GMT","offset":0,"posix":157770000000,"save":0},{"wallclock":-1830384000000,"format":"WAT","abbrev":"WAT","offset":-3600000,"posix":-1830380260000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-3740000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Blantyre":["z",{"wallclock":-2109283200000,"format":"CAT","abbrev":"CAT","offset":7200000,"posix":-2109291020000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":7820000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Brazzaville":["z",{"wallclock":-1588464000000,"format":"WAT","abbrev":"WAT","offset":3600000,"posix":-1588464816000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":816000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Bujumbura":["z",{"wallclock":-2109283200000,"format":"CAT","abbrev":"CAT","offset":7200000,"posix":-2109291020000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":7820000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Cairo":["z",{"wallclock":-2185401600000,"format":"EE%sT","abbrev":"EET","offset":7200000,"posix":-2185409109000,"save":0,"rules":"Egypt"},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":7509000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{"Egypt":[{"from":2014,"to":2014,"month":8,"day":[4,-30],"time":1440,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":2014,"to":2014,"month":5,"day":[7,26],"time":1440,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":2014,"to":2014,"month":4,"day":[7,15],"time":1440,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":2014,"to":2014,"month":6,"day":[7,31],"time":1440,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":2010,"to":2010,"month":8,"day":[4,-30],"time":1440,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":2010,"to":2010,"month":8,"day":[7,9],"time":1440,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":2010,"to":2010,"month":7,"day":[7,10],"time":1440,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1995,"to":2010,"month":3,"day":[5,-30],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":2009,"to":2009,"month":7,"day":[7,20],"time":1440,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":2008,"to":2008,"month":7,"day":[4,-31],"time":1440,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":2007,"to":2007,"month":8,"day":[4,1],"time":1440,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":2006,"to":2006,"month":8,"day":[7,21],"time":1440,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1995,"to":2005,"month":8,"day":[4,-30],"time":1440,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1966,"to":1994,"month":9,"day":[7,1],"time":180,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1990,"to":1994,"month":4,"day":[7,1],"time":60,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1989,"to":1989,"month":4,"day":[7,6],"time":60,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1984,"to":1988,"month":4,"day":[7,1],"time":60,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1983,"to":1983,"month":6,"day":[7,12],"time":60,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1982,"to":1982,"month":6,"day":[7,25],"time":60,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1959,"to":1981,"month":4,"day":[7,1],"time":60,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1959,"to":1965,"month":8,"day":[7,30],"time":180,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1958,"to":1958,"month":4,"day":[7,1],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1957,"to":1958,"month":9,"day":[7,1],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1957,"to":1957,"month":4,"day":[7,10],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1945,"to":1945,"month":3,"day":[7,16],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1943,"to":1945,"month":10,"day":[7,1],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1942,"to":1944,"month":3,"day":[7,1],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1942,"to":1942,"month":9,"day":[7,27],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1941,"to":1941,"month":8,"day":[7,16],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1941,"to":1941,"month":3,"day":[7,15],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1940,"to":1940,"month":9,"day":[7,1],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1940,"to":1940,"month":6,"day":[7,15],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0}]}}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Conakry":["z",{"wallclock":-1830384000000,"format":"GMT","abbrev":"GMT","offset":0,"posix":-1830383032000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-968000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Dakar":["z",{"wallclock":-1830384000000,"format":"GMT","abbrev":"GMT","offset":0,"posix":-1830383032000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-968000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Dar_es_Salaam":["z",{"wallclock":-315619200000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-315629100000,"save":0},{"wallclock":-946771200000,"format":"BEAUT","abbrev":"BEAUT","offset":9900000,"posix":-946780200000,"save":0},{"wallclock":-1262304000000,"format":"BEAT","abbrev":"BEAT","offset":9000000,"posix":-1262314800000,"save":0},{"wallclock":-1309737600000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-1309746436000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":8836000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Djibouti":["z",{"wallclock":-315619200000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-315629100000,"save":0},{"wallclock":-946771200000,"format":"BEAUT","abbrev":"BEAUT","offset":9900000,"posix":-946780200000,"save":0},{"wallclock":-1262304000000,"format":"BEAT","abbrev":"BEAT","offset":9000000,"posix":-1262314800000,"save":0},{"wallclock":-1309737600000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-1309746436000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":8836000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Douala":["z",{"wallclock":-1588464000000,"format":"WAT","abbrev":"WAT","offset":3600000,"posix":-1588464816000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":816000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Freetown":["z",{"wallclock":-1830384000000,"format":"GMT","abbrev":"GMT","offset":0,"posix":-1830383032000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-968000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Gaborone":["z",{"wallclock":-2109283200000,"format":"CAT","abbrev":"CAT","offset":7200000,"posix":-2109291020000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":7820000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Harare":["z",{"wallclock":-2109283200000,"format":"CAT","abbrev":"CAT","offset":7200000,"posix":-2109291020000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":7820000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Johannesburg":["z",{"wallclock":-2109283200000,"format":"SAST","abbrev":"SAST","offset":7200000,"posix":-2109288600000,"save":0,"rules":"SA"},{"wallclock":-2458166400000,"format":"SAST","abbrev":"SAST","offset":5400000,"posix":-2458173120000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":6720000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{"SA":[{"from":1943,"to":1944,"month":2,"day":[0,15],"time":120,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1942,"to":1943,"month":8,"day":[0,15],"time":120,"clock":"wallclock","save":60,"letter":"","saved":0}]}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Juba":["z",{"wallclock":947937600000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":947930400000,"save":0},{"wallclock":-1230768000000,"format":"CA%sT","abbrev":"CAT","offset":7200000,"posix":-1230775808000,"save":0,"rules":"Sudan"},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":7808000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{"Sudan":[{"from":1970,"to":1985,"month":9,"day":[7,15],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1972,"to":1985,"month":3,"day":[0,-30],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1971,"to":1971,"month":3,"day":[7,30],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1970,"to":1970,"month":4,"day":[7,1],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0}]}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Kampala":["z",{"wallclock":-315619200000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-315629100000,"save":0},{"wallclock":-946771200000,"format":"BEAUT","abbrev":"BEAUT","offset":9900000,"posix":-946780200000,"save":0},{"wallclock":-1262304000000,"format":"BEAT","abbrev":"BEAT","offset":9000000,"posix":-1262314800000,"save":0},{"wallclock":-1309737600000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-1309746436000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":8836000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Khartoum":["z",{"wallclock":947937600000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":947930400000,"save":0},{"wallclock":-1230768000000,"format":"CA%sT","abbrev":"CAT","offset":7200000,"posix":-1230775808000,"save":0,"rules":"Sudan"},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":7808000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{"Sudan":[{"from":1970,"to":1985,"month":9,"day":[7,15],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1972,"to":1985,"month":3,"day":[0,-30],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1971,"to":1971,"month":3,"day":[7,30],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1970,"to":1970,"month":4,"day":[7,1],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0}]}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Kigali":["z",{"wallclock":-2109283200000,"format":"CAT","abbrev":"CAT","offset":7200000,"posix":-2109291020000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":7820000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Kinshasa":["z",{"wallclock":-1588464000000,"format":"WAT","abbrev":"WAT","offset":3600000,"posix":-1588464816000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":816000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Lagos":["z",{"wallclock":-1588464000000,"format":"WAT","abbrev":"WAT","offset":3600000,"posix":-1588464816000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":816000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Libreville":["z",{"wallclock":-1588464000000,"format":"WAT","abbrev":"WAT","offset":3600000,"posix":-1588464816000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":816000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Lome":["z",{"wallclock":-1830384000000,"format":"GMT","abbrev":"GMT","offset":0,"posix":-1830383032000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-968000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Luanda":["z",{"wallclock":-1588464000000,"format":"WAT","abbrev":"WAT","offset":3600000,"posix":-1588464816000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":816000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Lubumbashi":["z",{"wallclock":-2109283200000,"format":"CAT","abbrev":"CAT","offset":7200000,"posix":-2109291020000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":7820000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Lusaka":["z",{"wallclock":-2109283200000,"format":"CAT","abbrev":"CAT","offset":7200000,"posix":-2109291020000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":7820000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Malabo":["z",{"wallclock":-1588464000000,"format":"WAT","abbrev":"WAT","offset":3600000,"posix":-1588464816000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":816000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Maputo":["z",{"wallclock":-2109283200000,"format":"CAT","abbrev":"CAT","offset":7200000,"posix":-2109291020000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":7820000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Maseru":["z",{"wallclock":-2109283200000,"format":"SAST","abbrev":"SAST","offset":7200000,"posix":-2109288600000,"save":0,"rules":"SA"},{"wallclock":-2458166400000,"format":"SAST","abbrev":"SAST","offset":5400000,"posix":-2458173120000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":6720000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{"SA":[{"from":1943,"to":1944,"month":2,"day":[0,15],"time":120,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1942,"to":1943,"month":8,"day":[0,15],"time":120,"clock":"wallclock","save":60,"letter":"","saved":0}]}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Mbabane":["z",{"wallclock":-2109283200000,"format":"SAST","abbrev":"SAST","offset":7200000,"posix":-2109288600000,"save":0,"rules":"SA"},{"wallclock":-2458166400000,"format":"SAST","abbrev":"SAST","offset":5400000,"posix":-2458173120000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":6720000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{"SA":[{"from":1943,"to":1944,"month":2,"day":[0,15],"time":120,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1942,"to":1943,"month":8,"day":[0,15],"time":120,"clock":"wallclock","save":60,"letter":"","saved":0}]}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Mogadishu":["z",{"wallclock":-315619200000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-315629100000,"save":0},{"wallclock":-946771200000,"format":"BEAUT","abbrev":"BEAUT","offset":9900000,"posix":-946780200000,"save":0},{"wallclock":-1262304000000,"format":"BEAT","abbrev":"BEAT","offset":9000000,"posix":-1262314800000,"save":0},{"wallclock":-1309737600000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-1309746436000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":8836000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Monrovia":["z",{"wallclock":73526400000,"format":"GMT","abbrev":"GMT","offset":0,"posix":73529070000,"save":0},{"wallclock":-1604361600000,"format":"LRT","abbrev":"LRT","offset":-2670000,"posix":-1604359012000,"save":0},{"wallclock":-2776982400000,"format":"MMT","abbrev":"MMT","offset":-2588000,"posix":-2776979812000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-2588000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Nairobi":["z",{"wallclock":-315619200000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-315629100000,"save":0},{"wallclock":-946771200000,"format":"BEAUT","abbrev":"BEAUT","offset":9900000,"posix":-946780200000,"save":0},{"wallclock":-1262304000000,"format":"BEAT","abbrev":"BEAT","offset":9000000,"posix":-1262314800000,"save":0},{"wallclock":-1309737600000,"format":"EAT","abbrev":"EAT","offset":10800000,"posix":-1309746436000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":8836000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Ndjamena":["z",{"wallclock":321321600000,"format":"WAT","abbrev":"WAT","offset":3600000,"posix":321314400000,"save":0},{"wallclock":308707200000,"format":"WAST","abbrev":"WAST","offset":3600000,"posix":308703600000,"save":3600000},{"wallclock":-1830384000000,"format":"WAT","abbrev":"WAT","offset":3600000,"posix":-1830387612000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":3612000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Niamey":["z",{"wallclock":-1588464000000,"format":"WAT","abbrev":"WAT","offset":3600000,"posix":-1588464816000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":816000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Nouakchott":["z",{"wallclock":-1830384000000,"format":"GMT","abbrev":"GMT","offset":0,"posix":-1830383032000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-968000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Ouagadougou":["z",{"wallclock":-1830384000000,"format":"GMT","abbrev":"GMT","offset":0,"posix":-1830383032000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-968000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Porto-Novo":["z",{"wallclock":-1588464000000,"format":"WAT","abbrev":"WAT","offset":3600000,"posix":-1588464816000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":816000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Sao_Tome":["z",{"wallclock":-1830384000000,"format":"GMT","abbrev":"GMT","offset":0,"posix":-1830383032000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-968000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Timbuktu":["z",{"wallclock":-1830384000000,"format":"GMT","abbrev":"GMT","offset":0,"posix":-1830383032000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-968000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Tripoli":["z",{"wallclock":1382666400000,"format":"EET","abbrev":"EET","offset":7200000,"posix":1382659200000,"save":0},{"wallclock":1352512800000,"format":"CE%sT","abbrev":"CET","offset":3600000,"posix":1352505600000,"save":0,"rules":"Libya"},{"wallclock":875923200000,"format":"EET","abbrev":"EET","offset":7200000,"posix":875916000000,"save":0},{"wallclock":844041600000,"format":"CE%sT","abbrev":"CET","offset":3600000,"posix":844034400000,"save":0,"rules":"Libya"},{"wallclock":641779200000,"format":"EET","abbrev":"EET","offset":7200000,"posix":641775600000,"save":0},{"wallclock":378691200000,"format":"CE%sT","abbrev":"CET","offset":3600000,"posix":378684000000,"save":0,"rules":"Libya"},{"wallclock":-347155200000,"format":"EET","abbrev":"EET","offset":7200000,"posix":-347158800000,"save":0},{"wallclock":-1577923200000,"format":"CE%sT","abbrev":"CET","offset":3600000,"posix":-1577926364000,"save":0,"rules":"Libya"},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":3164000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{"Libya":[{"from":2013,"to":2013,"month":9,"day":[5,-31],"time":120,"clock":"wallclock","save":0,"letter":"","saved":0},{"from":2013,"to":2013,"month":2,"day":[5,-31],"time":60,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1997,"to":1997,"month":9,"day":[7,4],"time":0,"clock":"wallclock","save":0,"letter":"","saved":0},{"from":1997,"to":1997,"month":3,"day":[7,4],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1987,"to":1989,"month":9,"day":[7,1],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1987,"to":1989,"month":3,"day":[7,1],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1986,"to":1986,"month":9,"day":[7,3],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1986,"to":1986,"month":3,"day":[7,4],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1985,"to":1985,"month":3,"day":[7,6],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1982,"to":1985,"month":9,"day":[7,1],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1982,"to":1984,"month":3,"day":[7,1],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1956,"to":1956,"month":0,"day":[7,1],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1955,"to":1955,"month":8,"day":[7,30],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1954,"to":1954,"month":0,"day":[7,1],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1953,"to":1953,"month":9,"day":[7,9],"time":120,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1952,"to":1952,"month":0,"day":[7,1],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1951,"to":1951,"month":9,"day":[7,14],"time":120,"clock":"wallclock","save":60,"letter":"S","saved":0}]}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Tunis":["z",{"wallclock":-1855958400000,"format":"CE%sT","abbrev":"CET","offset":3600000,"posix":-1855958961000,"save":0,"rules":"Tunisia"},{"wallclock":-2797200000000,"format":"PMT","abbrev":"PMT","offset":561000,"posix":-2797202444000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":2444000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{"Tunisia":[{"from":2006,"to":2008,"month":9,"day":[0,-31],"time":180,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":2006,"to":2008,"month":2,"day":[0,-31],"time":120,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":2005,"to":2005,"month":8,"day":[7,30],"time":120,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":2005,"to":2005,"month":4,"day":[7,1],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1990,"to":1990,"month":4,"day":[7,1],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1988,"to":1990,"month":8,"day":[0,-30],"time":60,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1989,"to":1989,"month":2,"day":[7,26],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1988,"to":1988,"month":5,"day":[7,1],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1978,"to":1978,"month":9,"day":[7,1],"time":60,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1978,"to":1978,"month":4,"day":[7,1],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1977,"to":1977,"month":8,"day":[7,24],"time":60,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1977,"to":1977,"month":3,"day":[7,30],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1944,"to":1945,"month":3,"day":[1,1],"time":120,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1945,"to":1945,"month":8,"day":[7,16],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1944,"to":1944,"month":9,"day":[7,8],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1943,"to":1943,"month":2,"day":[7,29],"time":120,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1943,"to":1943,"month":9,"day":[7,4],"time":120,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1943,"to":1943,"month":3,"day":[7,25],"time":120,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1943,"to":1943,"month":3,"day":[7,17],"time":120,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1942,"to":1942,"month":10,"day":[7,2],"time":180,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1942,"to":1942,"month":2,"day":[7,9],"time":0,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1941,"to":1941,"month":9,"day":[7,6],"time":0,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1940,"to":1940,"month":1,"day":[7,25],"time":1380,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1939,"to":1939,"month":10,"day":[7,18],"time":1440,"clock":"wallclock","save":0,"letter":"","saved":3600000},{"from":1939,"to":1939,"month":3,"day":[7,15],"time":1380,"clock":"wallclock","save":60,"letter":"S","saved":0}]}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"Africa/Windhoek":["z",{"wallclock":765331200000,"format":"WA%sT","abbrev":"WAT","offset":3600000,"posix":765324000000,"save":0,"rules":"Namibia"},{"wallclock":637977600000,"format":"CAT","abbrev":"CAT","offset":7200000,"posix":637970400000,"save":0},{"wallclock":-845244000000,"format":"SAST","abbrev":"SAST","offset":7200000,"posix":-845254800000,"save":0},{"wallclock":-860968800000,"format":"SAST","abbrev":"SAST","offset":7200000,"posix":-860976000000,"save":3600000},{"wallclock":-2109283200000,"format":"SAST","abbrev":"SAST","offset":7200000,"posix":-2109288600000,"save":0},{"wallclock":-2458166400000,"format":"SWAT","abbrev":"SWAT","offset":5400000,"posix":-2458170504000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":4104000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{"Namibia":[{"from":1994,"to":1.7976931348623157e+308,"month":8,"day":[0,1],"time":120,"clock":"wallclock","save":60,"letter":"S","saved":0},{"from":1995,"to":1.7976931348623157e+308,"month":3,"day":[0,1],"time":120,"clock":"wallclock","save":0,"letter":"","saved":3600000}]}}
|
|
@ -0,0 +1 @@
|
|||
module.exports = [require("./Abidjan.js"),require("./Accra.js"),require("./Addis_Ababa.js"),require("./Algiers.js"),require("./Asmara.js"),require("./Asmera.js"),require("./Bamako.js"),require("./Bangui.js"),require("./Banjul.js"),require("./Bissau.js"),require("./Blantyre.js"),require("./Brazzaville.js"),require("./Bujumbura.js"),require("./Cairo.js"),require("./Casablanca.js"),require("./Ceuta.js"),require("./Conakry.js"),require("./Dakar.js"),require("./Dar_es_Salaam.js"),require("./Djibouti.js"),require("./Douala.js"),require("./El_Aaiun.js"),require("./Freetown.js"),require("./Gaborone.js"),require("./Harare.js"),require("./Johannesburg.js"),require("./Juba.js"),require("./Kampala.js"),require("./Khartoum.js"),require("./Kigali.js"),require("./Kinshasa.js"),require("./Lagos.js"),require("./Libreville.js"),require("./Lome.js"),require("./Luanda.js"),require("./Lubumbashi.js"),require("./Lusaka.js"),require("./Malabo.js"),require("./Maputo.js"),require("./Maseru.js"),require("./Mbabane.js"),require("./Mogadishu.js"),require("./Monrovia.js"),require("./Nairobi.js"),require("./Ndjamena.js"),require("./Niamey.js"),require("./Nouakchott.js"),require("./Ouagadougou.js"),require("./Porto-Novo.js"),require("./Sao_Tome.js"),require("./Timbuktu.js"),require("./Tripoli.js"),require("./Tunis.js"),require("./Windhoek.js")]
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"America/Adak":["z",{"wallclock":438998400000,"format":"H%sT","abbrev":"HST","offset":-36000000,"posix":439034400000,"save":0,"rules":"US"},{"wallclock":436327200000,"format":"AH%sT","abbrev":"AHST","offset":-36000000,"posix":436363200000,"save":0,"rules":"US"},{"wallclock":-31536000000,"format":"B%sT","abbrev":"BST","offset":-39600000,"posix":-31496400000,"save":0,"rules":"US"},{"wallclock":-86918400000,"format":"BST","abbrev":"BST","offset":-39600000,"posix":-86878800000,"save":0},{"wallclock":-757382400000,"format":"NST","abbrev":"NST","offset":-39600000,"posix":-757342800000,"save":0},{"wallclock":-883612800000,"format":"N%sT","abbrev":"NST","offset":-39600000,"posix":-883573200000,"save":0,"rules":"US"},{"wallclock":-2188987200000,"format":"NST","abbrev":"NST","offset":-39600000,"posix":-2188944802000,"save":0},{"wallclock":-3225312000000,"format":"LMT","abbrev":"LMT","offset":-42398000,"posix":-3225356001000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":44001000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{"US":[{"from":2007,"to":1.7976931348623157e+308,"month":10,"day":[0,1],"time":120,"clock":"wallclock","save":0,"letter":"S","saved":3600000},{"from":2007,"to":1.7976931348623157e+308,"month":2,"day":[0,8],"time":120,"clock":"wallclock","save":60,"letter":"D","saved":0},{"from":1987,"to":2006,"month":3,"day":[0,1],"time":120,"clock":"wallclock","save":60,"letter":"D","saved":0},{"from":1967,"to":2006,"month":9,"day":[0,-31],"time":120,"clock":"wallclock","save":0,"letter":"S","saved":3600000},{"from":1976,"to":1986,"month":3,"day":[0,-30],"time":120,"clock":"wallclock","save":60,"letter":"D","saved":0},{"from":1975,"to":1975,"month":1,"day":[7,23],"time":120,"clock":"wallclock","save":60,"letter":"D","saved":0},{"from":1974,"to":1974,"month":0,"day":[7,6],"time":120,"clock":"wallclock","save":60,"letter":"D","saved":0},{"from":1967,"to":1973,"month":3,"day":[0,-30],"time":120,"clock":"wallclock","save":60,"letter":"D","saved":0},{"from":1945,"to":1945,"month":8,"day":[0,-30],"time":120,"clock":"wallclock","save":0,"letter":"S","saved":3600000},{"from":1945,"to":1945,"month":7,"day":[7,14],"time":1380,"clock":"posix","save":60,"letter":"P","saved":3600000},{"from":1942,"to":1942,"month":1,"day":[7,9],"time":120,"clock":"wallclock","save":60,"letter":"W","saved":0},{"from":1918,"to":1919,"month":9,"day":[0,-31],"time":120,"clock":"wallclock","save":0,"letter":"S","saved":3600000},{"from":1918,"to":1919,"month":2,"day":[0,-31],"time":120,"clock":"wallclock","save":60,"letter":"D","saved":0}]}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"America/Anchorage":["z",{"wallclock":438998400000,"format":"AK%sT","abbrev":"AKST","offset":-32400000,"posix":439030800000,"save":0,"rules":"US"},{"wallclock":436327200000,"format":"Y%sT","abbrev":"YST","offset":-32400000,"posix":436359600000,"save":0,"rules":"US"},{"wallclock":-31536000000,"format":"AH%sT","abbrev":"AHST","offset":-36000000,"posix":-31500000000,"save":0,"rules":"US"},{"wallclock":-86918400000,"format":"AHST","abbrev":"AHST","offset":-36000000,"posix":-86882400000,"save":0},{"wallclock":-757382400000,"format":"CAT","abbrev":"CAT","offset":-36000000,"posix":-757346400000,"save":0},{"wallclock":-769428000000,"format":"CAT/CAPT","abbrev":"CAPT","offset":-36000000,"posix":-769395600000,"save":3600000,"rules":"US"},{"wallclock":-883612800000,"format":"CAT/CAWT","abbrev":"CAT","offset":-36000000,"posix":-883576800000,"save":0,"rules":"US"},{"wallclock":-2188987200000,"format":"CAT","abbrev":"CAT","offset":-36000000,"posix":-2188951224000,"save":0},{"wallclock":-3225312000000,"format":"LMT","abbrev":"LMT","offset":-35976000,"posix":-3225362424000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":50424000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{"US":[{"from":2007,"to":1.7976931348623157e+308,"month":10,"day":[0,1],"time":120,"clock":"wallclock","save":0,"letter":"S","saved":3600000},{"from":2007,"to":1.7976931348623157e+308,"month":2,"day":[0,8],"time":120,"clock":"wallclock","save":60,"letter":"D","saved":0},{"from":1987,"to":2006,"month":3,"day":[0,1],"time":120,"clock":"wallclock","save":60,"letter":"D","saved":0},{"from":1967,"to":2006,"month":9,"day":[0,-31],"time":120,"clock":"wallclock","save":0,"letter":"S","saved":3600000},{"from":1976,"to":1986,"month":3,"day":[0,-30],"time":120,"clock":"wallclock","save":60,"letter":"D","saved":0},{"from":1975,"to":1975,"month":1,"day":[7,23],"time":120,"clock":"wallclock","save":60,"letter":"D","saved":0},{"from":1974,"to":1974,"month":0,"day":[7,6],"time":120,"clock":"wallclock","save":60,"letter":"D","saved":0},{"from":1967,"to":1973,"month":3,"day":[0,-30],"time":120,"clock":"wallclock","save":60,"letter":"D","saved":0},{"from":1945,"to":1945,"month":8,"day":[0,-30],"time":120,"clock":"wallclock","save":0,"letter":"S","saved":3600000},{"from":1945,"to":1945,"month":7,"day":[7,14],"time":1380,"clock":"posix","save":60,"letter":"P","saved":3600000},{"from":1942,"to":1942,"month":1,"day":[7,9],"time":120,"clock":"wallclock","save":60,"letter":"W","saved":0},{"from":1918,"to":1919,"month":9,"day":[0,-31],"time":120,"clock":"wallclock","save":0,"letter":"S","saved":3600000},{"from":1918,"to":1919,"month":2,"day":[0,-31],"time":120,"clock":"wallclock","save":60,"letter":"D","saved":0}]}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"America/Anguilla":["z",{"wallclock":-1825113600000,"format":"AST","abbrev":"AST","offset":-14400000,"posix":-1825098836000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-14764000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
|
@ -0,0 +1 @@
|
|||
module.exports={"zones":{"America/Antigua":["z",{"wallclock":-1825113600000,"format":"AST","abbrev":"AST","offset":-14400000,"posix":-1825098836000,"save":0},{"wallclock":-1.7976931348623157e+308,"format":"LMT","abbrev":"LMT","offset":-14764000,"posix":-1.7976931348623157e+308,"save":0}]},"rules":{}}
|
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue