mirror of
https://github.com/facebook/rocksdb.git
synced 2024-11-27 02:44:18 +00:00
Merge branch 'master' into columnfamilies
This commit is contained in:
commit
fff5c7e817
47
.clang-format
Normal file
47
.clang-format
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
# Complete list of style options can be found at:
|
||||||
|
# http://clang.llvm.org/docs/ClangFormatStyleOptions.html
|
||||||
|
---
|
||||||
|
BasedOnStyle: Google
|
||||||
|
AccessModifierOffset: -1
|
||||||
|
ConstructorInitializerIndentWidth: 4
|
||||||
|
AlignEscapedNewlinesLeft: true
|
||||||
|
AlignTrailingComments: true
|
||||||
|
AllowAllParametersOfDeclarationOnNextLine: true
|
||||||
|
AllowShortIfStatementsOnASingleLine: false
|
||||||
|
AllowShortLoopsOnASingleLine: false
|
||||||
|
AlwaysBreakTemplateDeclarations: true
|
||||||
|
AlwaysBreakBeforeMultilineStrings: true
|
||||||
|
BreakBeforeBinaryOperators: false
|
||||||
|
BreakConstructorInitializersBeforeComma: false
|
||||||
|
BinPackParameters: false
|
||||||
|
ColumnLimit: 80
|
||||||
|
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
||||||
|
DerivePointerBinding: true
|
||||||
|
ExperimentalAutoDetectBinPacking: true
|
||||||
|
IndentCaseLabels: false
|
||||||
|
MaxEmptyLinesToKeep: 1
|
||||||
|
NamespaceIndentation: None
|
||||||
|
ObjCSpaceBeforeProtocolList: false
|
||||||
|
PenaltyBreakBeforeFirstCallParameter: 10
|
||||||
|
PenaltyBreakComment: 60
|
||||||
|
PenaltyBreakString: 1000
|
||||||
|
PenaltyBreakFirstLessLess: 20
|
||||||
|
PenaltyExcessCharacter: 1000000
|
||||||
|
PenaltyReturnTypeOnItsOwnLine: 200
|
||||||
|
PointerBindsToType: true
|
||||||
|
SpacesBeforeTrailingComments: 2
|
||||||
|
Cpp11BracedListStyle: true
|
||||||
|
Standard: Cpp11
|
||||||
|
IndentWidth: 2
|
||||||
|
TabWidth: 8
|
||||||
|
UseTab: Never
|
||||||
|
BreakBeforeBraces: Attach
|
||||||
|
IndentFunctionDeclarationAfterType: false
|
||||||
|
SpacesInParentheses: false
|
||||||
|
SpacesInAngles: false
|
||||||
|
SpaceInEmptyParentheses: false
|
||||||
|
SpacesInCStyleCastParentheses: false
|
||||||
|
SpaceAfterControlStatementKeyword: true
|
||||||
|
SpaceBeforeAssignmentOperators: true
|
||||||
|
ContinuationIndentWidth: 4
|
||||||
|
...
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -19,5 +19,4 @@ sst_dump
|
||||||
util/build_version.cc
|
util/build_version.cc
|
||||||
build_tools/VALGRIND_LOGS/
|
build_tools/VALGRIND_LOGS/
|
||||||
coverage/COVERAGE_REPORT
|
coverage/COVERAGE_REPORT
|
||||||
util/build_version.cc.tmp
|
|
||||||
.gdbhistory
|
.gdbhistory
|
||||||
|
|
|
@ -5,38 +5,18 @@
|
||||||
# is then built as a regular source file as part of the compilation process.
|
# is then built as a regular source file as part of the compilation process.
|
||||||
# One can run "strings executable_filename | grep _build_" to find the version of
|
# One can run "strings executable_filename | grep _build_" to find the version of
|
||||||
# the source that we used to build the executable file.
|
# the source that we used to build the executable file.
|
||||||
#
|
|
||||||
|
|
||||||
# create git version file
|
OUTFILE="$PWD/util/build_version.cc"
|
||||||
VFILE=$PWD/util/build_version.cc.tmp
|
|
||||||
trap "rm $VFILE" EXIT
|
|
||||||
|
|
||||||
# check to see if git is in the path
|
GIT_SHA=""
|
||||||
which git > /dev/null
|
if command -v git >/dev/null 2>&1; then
|
||||||
|
GIT_SHA=$(git rev-parse HEAD 2>/dev/null)
|
||||||
if [ "$?" = 0 ]; then
|
|
||||||
env -i git rev-parse HEAD 2>&1 |
|
|
||||||
awk '
|
|
||||||
BEGIN {
|
|
||||||
print "#include \"build_version.h\"\n"
|
|
||||||
}
|
|
||||||
{ print "const char* rocksdb_build_git_sha = \"rocksdb_build_git_sha:" $0"\";" }
|
|
||||||
' > ${VFILE}
|
|
||||||
else
|
|
||||||
echo "git not found" |
|
|
||||||
awk '
|
|
||||||
BEGIN {
|
|
||||||
print "#include \"build_version.h\""
|
|
||||||
}
|
|
||||||
{ print "const char* rocksdb_build_git_sha = \"rocksdb_build_git_sha:git not found\";" }
|
|
||||||
' > ${VFILE}
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "const char* rocksdb_build_git_datetime = \"rocksdb_build_git_datetime:$(date)\";" >> ${VFILE}
|
cat > "${OUTFILE}" <<EOF
|
||||||
echo "const char* rocksdb_build_compile_date = __DATE__;" >> ${VFILE}
|
#include "build_version.h"
|
||||||
echo "const char* rocksdb_build_compile_time = __TIME__;" >> ${VFILE}
|
const char* rocksdb_build_git_sha = "rocksdb_build_git_sha:${GIT_SHA}";
|
||||||
|
const char* rocksdb_build_git_datetime = "rocksdb_build_git_datetime:$(date)";
|
||||||
OUTFILE=$PWD/util/build_version.cc
|
const char* rocksdb_build_compile_date = __DATE__;
|
||||||
if [ ! -e $OUTFILE ] || ! cmp -s $VFILE $OUTFILE; then
|
const char* rocksdb_build_compile_time = __TIME__;
|
||||||
cp $VFILE $OUTFILE
|
EOF
|
||||||
fi
|
|
||||||
|
|
61
build_tools/make_new_version.sh
Executable file
61
build_tools/make_new_version.sh
Executable file
|
@ -0,0 +1,61 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Copyright (c) 2013, Facebook, Inc. All rights reserved.
|
||||||
|
# This source code is licensed under the BSD-style license found in the
|
||||||
|
# LICENSE file in the root directory of this source tree. An additional grant
|
||||||
|
# of patent rights can be found in the PATENTS file in the same directory.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
# Print out the colored progress info so that it can be brainlessly
|
||||||
|
# distinguished by users.
|
||||||
|
function title() {
|
||||||
|
echo -e "\033[1;32m$*\033[0m"
|
||||||
|
}
|
||||||
|
|
||||||
|
usage="Create new rocksdb version and prepare it for the release process\n"
|
||||||
|
usage+="USAGE: ./make_new_version.sh <version>"
|
||||||
|
|
||||||
|
# -- Pre-check
|
||||||
|
if [[ $# < 1 ]]; then
|
||||||
|
echo -e $usage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
ROCKSDB_VERSION=$1
|
||||||
|
|
||||||
|
GIT_BRANCH=`git rev-parse --abbrev-ref HEAD`
|
||||||
|
if [ $GIT_BRANCH != "master" ]; then
|
||||||
|
echo "Error: Current branch is '$GIT_BRANCH', Please switch to master branch."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --Step 1: cutting new tag
|
||||||
|
title "Adding new tag for this release ..."
|
||||||
|
git tag -a "$ROCKSDB_VERSION.fb" -m "Rocksdb $ROCKSDB_VERSION"
|
||||||
|
|
||||||
|
# Setting up the proxy for remote repo access
|
||||||
|
export http_proxy=http://172.31.255.99:8080
|
||||||
|
export https_proxy="$http_proxy";
|
||||||
|
|
||||||
|
title "Pushing new tag to remote repo ..."
|
||||||
|
proxycmd.sh git push origin --tags
|
||||||
|
|
||||||
|
# --Step 2: Update README.fb
|
||||||
|
title "Updating the latest version info in README.fb ..."
|
||||||
|
sed -i "s/Latest release is [0-9]\+.[0-9]\+.fb/Latest release is $ROCKSDB_VERSION.fb/" README.fb
|
||||||
|
git commit README.fb -m "update the latest version in README.fb to $ROCKSDB_VERSION"
|
||||||
|
proxycmd.sh git push
|
||||||
|
|
||||||
|
# --Step 3: Prepare this repo for 3rd release
|
||||||
|
title "Cleaning up repo ..."
|
||||||
|
make clean
|
||||||
|
git clean -fxd
|
||||||
|
|
||||||
|
title "Generating the build info ..."
|
||||||
|
# Comment out the call of `build_detection_version` so that the SHA number and build date of this
|
||||||
|
# release will remain constant. Otherwise everytime we run "make" util/build_version.cc will be
|
||||||
|
# overridden.
|
||||||
|
sed -i 's/^\$PWD\/build_tools\/build_detect_version$//' build_tools/build_detect_platform
|
||||||
|
|
||||||
|
# Generate util/build_version.cc
|
||||||
|
build_tools/build_detect_version
|
||||||
|
|
||||||
|
title "Done!"
|
|
@ -29,9 +29,9 @@ static void UnrefEntry(void* arg1, void* arg2) {
|
||||||
cache->Release(h);
|
cache->Release(h);
|
||||||
}
|
}
|
||||||
|
|
||||||
static Slice GetSliceForFileNumber(uint64_t file_number) {
|
static Slice GetSliceForFileNumber(uint64_t* file_number) {
|
||||||
return Slice(reinterpret_cast<const char*>(&file_number),
|
return Slice(reinterpret_cast<const char*>(file_number),
|
||||||
sizeof(file_number));
|
sizeof(*file_number));
|
||||||
}
|
}
|
||||||
|
|
||||||
TableCache::TableCache(const std::string& dbname,
|
TableCache::TableCache(const std::string& dbname,
|
||||||
|
@ -55,7 +55,7 @@ Status TableCache::FindTable(const EnvOptions& toptions,
|
||||||
Cache::Handle** handle, bool* table_io,
|
Cache::Handle** handle, bool* table_io,
|
||||||
const bool no_io) {
|
const bool no_io) {
|
||||||
Status s;
|
Status s;
|
||||||
Slice key = GetSliceForFileNumber(file_number);
|
Slice key = GetSliceForFileNumber(&file_number);
|
||||||
*handle = cache_->Lookup(key);
|
*handle = cache_->Lookup(key);
|
||||||
if (*handle == nullptr) {
|
if (*handle == nullptr) {
|
||||||
if (no_io) { // Dont do IO and return a not-found status
|
if (no_io) { // Dont do IO and return a not-found status
|
||||||
|
@ -168,7 +168,7 @@ bool TableCache::PrefixMayMatch(const ReadOptions& options,
|
||||||
}
|
}
|
||||||
|
|
||||||
void TableCache::Evict(uint64_t file_number) {
|
void TableCache::Evict(uint64_t file_number) {
|
||||||
cache_->Erase(GetSliceForFileNumber(file_number));
|
cache_->Erase(GetSliceForFileNumber(&file_number));
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace rocksdb
|
} // namespace rocksdb
|
||||||
|
|
|
@ -17,7 +17,7 @@ using namespace std;
|
||||||
|
|
||||||
class AutoVectorTest { };
|
class AutoVectorTest { };
|
||||||
|
|
||||||
const size_t kSize = 8;
|
const unsigned long kSize = 8;
|
||||||
TEST(AutoVectorTest, PushBackAndPopBack) {
|
TEST(AutoVectorTest, PushBackAndPopBack) {
|
||||||
autovector<size_t, kSize> vec;
|
autovector<size_t, kSize> vec;
|
||||||
ASSERT_TRUE(vec.empty());
|
ASSERT_TRUE(vec.empty());
|
||||||
|
|
Loading…
Reference in a new issue