Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
0c9f321
Compile with C++17
Aug 12, 2022
999a59d
Prepare to replace C_ASSERT with static_assert
Aug 15, 2022
6f0bbf2
Added simulation of subsampling of cache traces in resmgrreplay
Aug 16, 2022
7f7ca2c
OSSBUILD: Uninit variable defense is stronger in github test code.
Aug 16, 2022
c9f4f30
Replace buggy .NET Framework event log reader with our own implementa…
Aug 17, 2022
c60f4b2
Log extent freed when an allocated extent is rolled back to help reco…
Aug 24, 2022
4e9750e
Improve detection of whether transaction is actually holding back ver…
Aug 25, 2022
ac5fc2f
Adjust loose truncation threshold for RBS and add max RBS space thres…
Aug 25, 2022
61c15af
Improve conflict resolution logic in Leak Report.
Aug 27, 2022
37a3a1d
Sync Windows/ESENT changes to Exchange/ESE
Sep 1, 2022
d06df73
Adding subsampling of cache traces in ESE
Sep 1, 2022
1f51196
Modify ECC correction code to detect and repair bit flips on the chec…
Sep 2, 2022
4428d96
Change jethdr.W to wrap base types
Sep 7, 2022
eb45d9a
Remove bad assert in ErrCATIBuildFIELDArray(), fix bad printf format …
Sep 8, 2022
8261ead
ESE Block Cache: add more bits to the Presence Filter
Sep 8, 2022
ad8d3ce
ESE Block Cache: try to reduce slab access overhead in RequestFinali…
Sep 8, 2022
28fd93e
Shrink should succeed with sdrNoLowAvailSpace when it can't grow the …
Sep 9, 2022
192cd7b
ESE Block Cache: allow uncached file access to succeed if the underl…
Sep 9, 2022
16550e4
ESE Block Cache: fix Cuckoo Filter issue with standby list
Sep 9, 2022
d7b3cec
Turn Shrink archiving off
Sep 9, 2022
19ded4d
Fix bug when pvpage is null due to some flags being set but not compr…
Sep 9, 2022
a18f45e
Add dbtime to RBS root page records and remove duplicates from being …
Sep 10, 2022
ff456cc
Add additional validation to make sure reverted table being redelete …
Sep 10, 2022
604e340
ESE Block Cache: fix lost write caused by incorrect update of presen…
Sep 15, 2022
cf64cac
Fix RBS delete flag check failing due to the check using an int inste…
Sep 15, 2022
e291678
ESE Block Cache: avoid corruption if we ever access cached file offs…
Sep 16, 2022
92515e8
ESE Block Cache: don't emit telemetry for invalid path when attachin…
Sep 16, 2022
d744184
ESE: add optional type check to read shadowed header
Sep 20, 2022
7a1385f
Slight normalization of ESENT vs ESE
Sep 20, 2022
a508f6d
ESE: simplify hung io detection in BF to avoid accessing invalid IO …
Sep 22, 2022
b06d945
Some re-org of our types
Sep 23, 2022
3432f69
Hybrid Shrink Phase 0.1: remove fully-flighted configuration options.
Sep 23, 2022
c8bbdc7
ESE Block Cache: copy status
Sep 24, 2022
88479c3
ESE Block Cache: Perf: copy ctor for CCachedBlockSlot
Sep 24, 2022
fa005c1
ESE Block Cache: Copy Status fixes
Sep 27, 2022
2982148
ESE Block Cache: Perf: flush all state on a clean dismount to preve…
Sep 28, 2022
1eed330
Do not crash on cache-bypass lost flushes in the test pass if it heal…
Sep 28, 2022
79abae8
Miscellaneous test fixes
Sep 29, 2022
cc53cd5
Break up the RECIRetrieveTaggedColumnsRecTooBig14.1 FireWall so we ca…
Sep 29, 2022
8d23f0f
ESE Block Cache: add alloc pool for CThreadLocalStorage::CRequest (redo)
Sep 29, 2022
31215a4
ESE: JetRenameColumn errata
Sep 29, 2022
894afd3
Hybrid Shrink Phase 0.2: permanently enable lgposLastResize-based DB …
Sep 29, 2022
ed857b4
Hybrid Shrink Phase 0.3: improve DB Shrink optics.
Sep 30, 2022
db3072e
ESE Block Cache: fix IFileIdentification::ErrGetFileId to ignore all…
Sep 30, 2022
013cd6b
Use OBJID to match FCB obtained by hashing pgnoFDP during leak report
Oct 4, 2022
2d5b575
Merge LR should skip adding page for reconciliation if macro begin is…
Oct 5, 2022
0a9f15e
Pull strsafe.h out of mainline code
Oct 6, 2022
da7d97c
Fixed missed removal of tchar.h
Oct 6, 2022
f3ab959
Block Trim from running during Shrink (+ fix rank violation)
Oct 6, 2022
be2dcb7
ESE Block Cache: fix cache failure under high load (such as eseutil /r)
Oct 7, 2022
d2b0c02
ESE Block Cache: Write Caching Percentage fixes
Oct 10, 2022
8db8c4a
Fix bad deref in non-revertable deleted table error event while tryin…
Oct 11, 2022
023d15a
A slew of JetInit and Failure Item diagnostic enhancements
Oct 11, 2022
bb456a9
ESE Block Cache: Stability: FlushAllState on dismount crashes due t…
Oct 11, 2022
d55136d
Disable Assert FaultItem type 2 with no inst
Oct 12, 2022
a105eed
ESE Block Cache: Perf: attach shouldn't consult cached file configu…
Oct 12, 2022
cbaa96a
ESE Block Cache: Perf: compress journal entries with LZ4
Oct 12, 2022
0cfec2a
ESE Block Cache: Perf: Extend IFileAPI::ErrFlushFileBuffers with Fi…
Oct 12, 2022
08ff700
This is a fast revert. The justification for the revert is: This set …
Oct 12, 2022
e8ff72d
This is a fast revert. The justification for the revert is: This set…
Oct 12, 2022
f5dab9b
ESE Block Cache: Perf: reduce ICacheConfiguration::PctWrite calls
Oct 13, 2022
b9e8fda
ESE: fix RFS for COSFile::ErrFlushFileBuffers
Oct 14, 2022
dd57d9c
Fix various failures in ValidateTraceContextInEtwEvents test.
Oct 16, 2022
c46f7fe
ESE Block Cache: TVS fixes for Windows
Oct 18, 2022
2875a41
Added control of ESE's cache trace subsampling
Oct 18, 2022
0cb7cd5
ESE: Stability: fix hang during sync scavenge
Oct 18, 2022
db00947
BCrypt/CNG based implementation of AES256 compatible with the current…
Oct 19, 2022
ff2fc33
Raise corruption on hitting RBSFDPToBeDeleted based on variant
Oct 19, 2022
c2add90
Do not use -501 (JET_errLogFileCorrupt) error for logical corruption …
Oct 20, 2022
41c8994
ESE Block Cache: Async IO Worker hang
Oct 20, 2022
628b215
Variant config setting to use new CNG AES256 implementation
Oct 21, 2022
2e23878
This is a fast revert. The justification for the revert is: This cha…
Oct 21, 2022
14c0110
ESE Block Cache: fix the durability of IFileAPI::ErrFlushFileBuffers
Oct 21, 2022
b66944a
Couple OACR fixes
Oct 21, 2022
074cdf5
[Redo] A slew of JetInit and Failure Item diagnostic enhancement
Oct 24, 2022
0208975
ESE Block Cache: Async IO Worker hang (redo)
Oct 24, 2022
3279bf7
Restructuring missed protecting the UlParam call against NULL pinst f…
Oct 26, 2022
ea819cf
ESE Block Cache: Perf: enable LZ4 compression for Journal Entries
Oct 27, 2022
17f3ad3
Delete RCE in logical rather than allocation order
Oct 28, 2022
effbe46
ESE Block Cache: improve IO efficiency and general cleanup of CRequest
Oct 31, 2022
0ee9d1f
When doing fCleanOneDb, skip RCE for another database if already skip…
Nov 3, 2022
eddcb50
Perf: fix OSTraceEmit to use file append mode
Nov 4, 2022
d133f71
Refactor FCB creation, initialization and open 1/2
Nov 4, 2022
5d2a38d
Fix eacr violation
Nov 4, 2022
a3c051d
This is a fast revert due to inner ring stability issue.
Nov 4, 2022
8fd0048
Fix some asserts that hit in dbmaintstress.
Nov 5, 2022
b419d00
ESE Block Cache: Stability: fix deadlock between write back and Regis…
Nov 8, 2022
23cb6f1
Move cbFree >= cbShrinkage enforce to PageEnforce so we get a page du…
Nov 8, 2022
a994255
ESE: fix ancient problem where we don't EnterDML during schema upgraders
Nov 8, 2022
b9cbce2
ESE Block Cache: Perf: optimize use of Journal Slabs
Nov 8, 2022
2b96fc3
Rolled back RCEs can appear out of order because Rollback does not al…
Nov 9, 2022
84ad4e3
JetDupSession2 to copy trxBegin0 for readonly transactions
Nov 9, 2022
8579ba8
Revert: Change is causing test failures. This change had prev passed…
Nov 9, 2022
311627b
ESE: Removing EBC tracing calls.
Nov 10, 2022
0ba0df1
Add casts and some #defines preliminary to running GCR2
Nov 10, 2022
7bf3f5f
ESE Block Cache: Perf: Combine slab updates for evict and cache
Nov 10, 2022
1d84735
Do not do dirty cache keep alive if we are close to checkpoint too de…
Nov 11, 2022
382c553
Implement BBT buffer and associated data structures.
Nov 11, 2022
a8a6602
Refactor uses of CArray to use ErrAppendEntry(), FRemoveLastEntry() a…
Nov 12, 2022
be082a9
Fix the crash for pinst contextless memory failure tags.
Nov 15, 2022
005c264
Do not try to delete preceding RCEs when the current RCE is a Delta R…
Nov 16, 2022
a184d5d
Hybrid Shrink phase 1: avoid breaking up contiguous leaf-page runs wh…
Nov 18, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,13 @@ else()
message(FATAL_ERROR "NOTE: NOT setting 64-bit OR 32-bit symbols")
endif()

# Set the C++ standard to C++17
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF) # Optional: disables compiler-specific extensions like MSVC's /TP
# Alternative, is this other way to do it, that is MSVC specific (so would need to be in if MSVC clause of some kind)
# add_compile_options(/std:c++17)

# CMake chooses reasonable prefixes and suffixes for Unix-like platforms,
# but we'd rather keep them the same for now. May revisit this decision later.
set(CMAKE_STATIC_LIBRARY_PREFIX)
Expand Down Expand Up @@ -140,8 +147,21 @@ link_libraries(
${ESE_RELEASE_LIBRARIES}
)

# Global ESE project defines
add_compile_definitions(
OS_LAYER_USE_NEW_OVERRIDE
)

if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# Using Microsoft Visual C++

# The _HAS_STD_BYTE=0 came in along with the CMAKE_CXX_STANDARD 17 (and was <LanguageStandard>stdcpp17</LanguageStandard> change
# from the .vcxproj project file world) to make ESE code not conflict. Research suggested this is only need for MSVC, so it is
# set in here.
add_compile_definitions(
_HAS_STD_BYTE=0
)

add_compile_options(
/Oi # generate intrinsic functions
/Ot
Expand All @@ -158,6 +178,7 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
/Gy # function-level linking
/Zc:wchar_t-
/Zc:forScope
/Zc:externConstexpr
/Zc:inline-
/GR-
/TP
Expand Down
Loading
Loading