ClickHouse/src/Storages/MergeTree
2022-11-04 17:22:38 +08:00
..
examples Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
tests Consolidate config_core.h into config.h 2022-09-28 13:31:57 +00:00
ActiveDataPartSet.cpp base should not depend on Common 2022-04-29 10:26:35 +08:00
ActiveDataPartSet.h
AllMergeSelector.cpp
AllMergeSelector.h
AlterConversions.h Refactor 2022-09-05 20:08:22 +02:00
BackgroundJobsAssignee.cpp abort instead of __builtin_unreachable in debug builds 2022-10-07 21:49:08 +02:00
BackgroundJobsAssignee.h Fix TTL merge scheduling bug (#36387) 2022-06-01 21:09:53 +02:00
BackgroundProcessList.h
BoolMask.cpp
BoolMask.h
checkDataPart.cpp better code with projections 2022-10-29 14:39:59 +00:00
checkDataPart.h
CMakeLists.txt
ColumnSizeEstimator.h
CommonANNIndexes.cpp Correct work with negative distance 2022-09-20 09:48:33 +03:00
CommonANNIndexes.h Revert "Revert "Add Annoy index"" 2022-08-30 15:26:56 +00:00
DataPartsExchange.cpp better code with projections 2022-10-29 14:39:59 +00:00
DataPartsExchange.h better code with projections 2022-10-29 14:39:59 +00:00
DataPartStorageOnDisk.cpp better interface 2022-10-25 22:14:06 +00:00
DataPartStorageOnDisk.h better interface 2022-10-25 22:14:06 +00:00
DropPartsRanges.cpp
DropPartsRanges.h
EphemeralLockInZooKeeper.cpp Avoid 'Node exists' errors when creating Ephemeral Locks 2022-07-07 16:10:04 +02:00
EphemeralLockInZooKeeper.h Avoid 'Node exists' errors when creating Ephemeral Locks 2022-07-07 16:10:04 +02:00
extractZkPathFromCreateQuery.cpp Improve gathering metadata for backup - part 6. 2022-06-30 08:37:17 +02:00
extractZkPathFromCreateQuery.h Improve gathering metadata for backup - part 6. 2022-06-30 08:37:17 +02:00
FutureMergedMutatedPart.cpp
FutureMergedMutatedPart.h Leave only _row_exists-based implementation of lightweight delete 2022-07-21 11:26:13 +02:00
IDataPartStorage.h fix style check 2022-10-25 23:03:37 +00:00
IExecutableTask.h ExecutableLambdaAdapter forward job and callback (#37830) 2022-06-03 15:54:47 +02:00
IMergedBlockOutputStream.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
IMergedBlockOutputStream.h remove DataPartStorageBuilder 2022-10-23 00:23:15 +00:00
IMergeTreeDataPart.cpp better interface 2022-10-25 22:14:06 +00:00
IMergeTreeDataPart.h better interface 2022-10-23 22:29:24 +00:00
IMergeTreeDataPartInfoForReader.h remove DataPartStorageBuilder 2022-10-23 00:23:15 +00:00
IMergeTreeDataPartWriter.cpp remove DataPartStorageBuilder 2022-10-23 00:23:15 +00:00
IMergeTreeDataPartWriter.h remove DataPartStorageBuilder 2022-10-23 00:23:15 +00:00
IMergeTreeReader.cpp Merge remote-tracking branch 'upstream/master' into HEAD 2022-09-08 01:52:52 +00:00
IMergeTreeReader.h Merge remote-tracking branch 'upstream/master' into HEAD 2022-09-08 01:52:52 +00:00
IntersectionsIndexes.h
IPartMetadataManager.cpp Fix error 2022-09-05 07:31:29 +02:00
IPartMetadataManager.h Merge branch 'compress_marks_and_primary_key' of github.com:zhongyuankai/ClickHouse into compress-marks 2022-08-28 04:19:14 +02:00
KeyCondition.cpp Merge pull request #42681 from kitaisreal/merge-tree-indexes-use-actions-dag 2022-11-01 13:55:17 +03:00
KeyCondition.h MergeTree indexes use ActionsDAG 2022-10-26 12:44:37 +02:00
LeaderElection.h base should not depend on Common 2022-04-29 10:26:35 +08:00
LevelMergeSelector.cpp Fix half of trash 2022-09-10 04:08:16 +02:00
LevelMergeSelector.h
LoadedMergeTreeDataPartInfoForReader.h better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
localBackup.cpp Fix order of arguments 2022-09-27 15:50:25 +02:00
localBackup.h Fix order of arguments 2022-09-27 15:50:25 +02:00
MarkRange.cpp Refactor 2022-09-05 20:08:22 +02:00
MarkRange.h Refactor 2022-09-05 20:08:22 +02:00
MergeAlgorithm.h
MergedBlockOutputStream.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergedBlockOutputStream.h better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergedColumnOnlyOutputStream.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergedColumnOnlyOutputStream.h remove DataPartStorageBuilder 2022-10-23 00:23:15 +00:00
MergeFromLogEntryTask.cpp Optimize TTL merge, completely expired parts can be removed in time 2022-11-01 22:58:15 +08:00
MergeFromLogEntryTask.h Improve logging around replicated merges 2022-07-15 15:48:35 +02:00
MergeList.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeList.h Fix destructor order 2022-07-15 15:48:35 +02:00
MergeMutateSelectedEntry.h
MergePlainMergeTreeTask.cpp remove DataPartStorageBuilder 2022-10-23 00:23:15 +00:00
MergePlainMergeTreeTask.h Use alias for std::shared_ptr<MergeMutateSelectedEntry> (#42211) 2022-10-18 13:35:34 +02:00
MergeProgress.h
MergeSelector.h
MergeTask.cpp Merge branch 'master' into dynamic-columns-14 2022-10-31 16:15:19 +01:00
MergeTask.h better interface 2022-10-24 14:44:22 +00:00
MergeTreeBackgroundExecutor.cpp Fix possible UB in MergeTreeBackgroundExecutor 2022-07-18 19:01:41 +03:00
MergeTreeBackgroundExecutor.h Fix typos with new codespell 2022-09-02 08:54:48 +00:00
MergeTreeBaseSelectProcessor.cpp Merge pull request #42576 from ClickHouse/table-function-merge-invalid-where-type 2022-10-27 13:03:27 +02:00
MergeTreeBaseSelectProcessor.h Refactor 2022-09-05 20:08:22 +02:00
MergeTreeBlockReadUtils.cpp Refactor 2022-09-05 20:08:22 +02:00
MergeTreeBlockReadUtils.h Fix 5/6 of trash 2022-09-19 08:50:53 +02:00
MergeTreeData.cpp Merge branch 'master' into dynamic-columns-14 2022-10-31 16:15:19 +01:00
MergeTreeData.h Merge branch 'master' into dynamic-columns-14 2022-10-31 16:15:19 +01:00
MergeTreeDataFormatVersion.h
MergeTreeDataMergerMutator.cpp batter 2022-11-04 17:19:34 +08:00
MergeTreeDataMergerMutator.h better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeDataPartChecksum.cpp
MergeTreeDataPartChecksum.h
MergeTreeDataPartCompact.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeDataPartCompact.h better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeDataPartInMemory.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeDataPartInMemory.h better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeDataPartState.h fix build 2022-08-12 13:03:57 +02:00
MergeTreeDataPartTTLInfo.cpp Fix build 2022-06-07 13:56:03 +02:00
MergeTreeDataPartTTLInfo.h Fix typos with new codespell 2022-09-02 08:54:48 +00:00
MergeTreeDataPartType.cpp
MergeTreeDataPartType.h Merge branch 'master' into minor-renames 2022-05-07 14:18:50 +03:00
MergeTreeDataPartUUID.cpp
MergeTreeDataPartUUID.h
MergeTreeDataPartWide.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeDataPartWide.h better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeDataPartWriterCompact.cpp Merge branch 'master' into dynamic-columns-14 2022-10-31 16:15:19 +01:00
MergeTreeDataPartWriterCompact.h remove DataPartStorageBuilder 2022-10-23 00:23:15 +00:00
MergeTreeDataPartWriterInMemory.cpp remove DataPartStorageBuilder 2022-10-23 00:23:15 +00:00
MergeTreeDataPartWriterInMemory.h remove DataPartStorageBuilder 2022-10-23 00:23:15 +00:00
MergeTreeDataPartWriterOnDisk.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeDataPartWriterOnDisk.h remove DataPartStorageBuilder 2022-10-23 00:23:15 +00:00
MergeTreeDataPartWriterWide.cpp Merge branch 'master' into dynamic-columns-14 2022-10-31 16:15:19 +01:00
MergeTreeDataPartWriterWide.h remove DataPartStorageBuilder 2022-10-23 00:23:15 +00:00
MergeTreeDataSelectExecutor.cpp Merge branch 'master' into refactor-data-part 2022-10-26 17:49:20 +02:00
MergeTreeDataSelectExecutor.h Added SAMPLE BY support. Added SAMPLE BY, FINAL support for JOINS. 2022-10-24 10:22:20 +02:00
MergeTreeDataWriter.cpp Merge pull request #42794 from CurtizJ/better-code-in-check-part 2022-11-01 16:05:27 +01:00
MergeTreeDataWriter.h better code with projections 2022-10-29 14:39:59 +00:00
MergeTreeDeduplicationLog.cpp Extract diff from PR 36171 2022-06-15 16:40:18 +02:00
MergeTreeDeduplicationLog.h Fix some trash 2022-05-27 16:08:49 +02:00
MergeTreeIndexAggregatorBloomFilter.cpp
MergeTreeIndexAggregatorBloomFilter.h
MergeTreeIndexAnnoy.cpp Fixes for -Wshorten-64-to-32 2022-10-21 13:25:19 +02:00
MergeTreeIndexAnnoy.h Fix bad_cast in Annoy index 2022-10-19 13:40:39 +00:00
MergeTreeIndexBloomFilter.cpp
MergeTreeIndexBloomFilter.h
MergeTreeIndexConditionBloomFilter.cpp Fixed code review issues 2022-10-31 12:30:00 +01:00
MergeTreeIndexConditionBloomFilter.h MergeTree indexes use ActionsDAG 2022-10-26 12:44:37 +02:00
MergeTreeIndexFullText.cpp Fixed code review issues 2022-10-31 12:30:00 +01:00
MergeTreeIndexFullText.h MergeTree indexes use ActionsDAG 2022-10-26 12:44:37 +02:00
MergeTreeIndexGranularity.cpp Remove unused constructor 2022-07-22 12:21:10 +02:00
MergeTreeIndexGranularity.h Remove unused constructor 2022-07-22 12:21:10 +02:00
MergeTreeIndexGranularityInfo.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeIndexGranularityInfo.h better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeIndexGranuleBloomFilter.cpp
MergeTreeIndexGranuleBloomFilter.h
MergeTreeIndexHypothesis.cpp
MergeTreeIndexHypothesis.h
MergeTreeIndexHypothesisMergedCondition.cpp
MergeTreeIndexHypothesisMergedCondition.h
MergeTreeIndexMinMax.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeIndexMinMax.h better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeIndexReader.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeIndexReader.h
MergeTreeIndexSet.cpp fix serilization of Object inside other types 2022-09-08 15:16:39 +00:00
MergeTreeIndexSet.h
MergeTreeIndexUtils.cpp MergeTree indexes use ActionsDAG 2022-10-26 12:44:37 +02:00
MergeTreeIndexUtils.h Fixed code review issues 2022-10-31 12:30:00 +01:00
MergeTreeIndices.cpp Revert "Revert "Add Annoy index"" 2022-08-30 15:26:56 +00:00
MergeTreeIndices.h better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeInOrderSelectProcessor.cpp do not enqueue uneeded parts for check 2022-07-18 23:37:07 +02:00
MergeTreeInOrderSelectProcessor.h
MergeTreeIOSettings.h fix test 2022-08-30 08:50:27 +08:00
MergeTreeMarksLoader.cpp Merge branch 'master' into compress_marks_and_primary_key 2022-09-13 20:05:39 +08:00
MergeTreeMarksLoader.h Merge branch 'master' into compress_marks_and_primary_key 2022-09-13 20:05:39 +08:00
MergeTreeMetadataCache.cpp base should not depend on Common 2022-04-29 10:26:35 +08:00
MergeTreeMetadataCache.h Consolidate config_core.h into config.h 2022-09-28 13:31:57 +00:00
MergeTreeMutationEntry.cpp Leave only _row_exists-based implementation of lightweight delete 2022-07-21 11:26:13 +02:00
MergeTreeMutationEntry.h Leave only _row_exists-based implementation of lightweight delete 2022-07-21 11:26:13 +02:00
MergeTreeMutationStatus.cpp
MergeTreeMutationStatus.h Leave only _row_exists-based implementation of lightweight delete 2022-07-21 11:26:13 +02:00
MergeTreePartInfo.cpp
MergeTreePartInfo.h Review fixes 2022-06-12 01:15:10 +02:00
MergeTreePartition.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreePartition.h better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreePartsMover.cpp better interface 2022-10-25 22:14:06 +00:00
MergeTreePartsMover.h better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeRangeReader.cpp Refactor 2022-09-05 20:08:22 +02:00
MergeTreeRangeReader.h Leave only _row_exists-based implementation of lightweight delete 2022-07-21 11:26:13 +02:00
MergeTreeReaderCompact.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeReaderCompact.h Merge remote-tracking branch 'upstream/master' into improve-marks-cache-loading 2022-09-11 13:23:30 +02:00
MergeTreeReaderInMemory.cpp Merge remote-tracking branch 'upstream/master' into HEAD 2022-09-08 01:52:52 +00:00
MergeTreeReaderInMemory.h Refactor 2022-09-05 20:08:22 +02:00
MergeTreeReaderStream.cpp Revert "Fix" 2022-09-05 20:12:40 +02:00
MergeTreeReaderStream.h Revert "Fix" 2022-09-05 20:12:40 +02:00
MergeTreeReaderWide.cpp Merge remote-tracking branch 'upstream/master' into improve-marks-cache-loading 2022-09-11 13:23:30 +02:00
MergeTreeReaderWide.h Refactor 2022-09-05 20:08:22 +02:00
MergeTreeReadPool.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MergeTreeReadPool.h Refactor 2022-09-05 20:08:22 +02:00
MergeTreeReverseSelectProcessor.cpp Cleanups 2022-07-18 20:07:22 +02:00
MergeTreeReverseSelectProcessor.h Cleanups 2022-07-18 20:07:22 +02:00
MergeTreeSelectProcessor.cpp fix behaviour of max_rows_to_read for trival limit queries 2022-10-22 18:27:24 +02:00
MergeTreeSelectProcessor.h
MergeTreeSequentialSource.cpp Refactor 2022-09-05 20:08:22 +02:00
MergeTreeSequentialSource.h Fix vertical merge of parts with lightweight deleted rows 2022-08-24 15:18:33 +02:00
MergeTreeSettings.cpp Fix LOGICAL_ERROR in getMaxSourcePartsSizeForMerge during merges (#37413) 2022-05-26 14:14:58 +02:00
MergeTreeSettings.h Polishing 2022-10-19 12:59:28 +00:00
MergeTreeSink.cpp Merge branch 'master' into dynamic-columns-14 2022-10-31 16:15:19 +01:00
MergeTreeSink.h Do not obtain storage snapshot for each INSERT block (improves performance) 2022-08-25 21:02:27 +02:00
MergeTreeThreadSelectProcessor.cpp Cleanups 2022-07-18 20:07:22 +02:00
MergeTreeThreadSelectProcessor.h
MergeTreeWhereOptimizer.cpp Follow-up to PR #37300: semicolon warnings 2022-05-20 15:06:34 +02:00
MergeTreeWhereOptimizer.h
MergeTreeWriteAheadLog.cpp better code with projections 2022-10-29 14:39:59 +00:00
MergeTreeWriteAheadLog.h Drop all WALs 2022-09-20 18:28:15 +02:00
MergeType.cpp Optimize TTL merge, completely expired parts can be removed in time 2022-11-01 22:58:15 +08:00
MergeType.h Optimize TTL merge, completely expired parts can be removed in time 2022-11-01 22:58:15 +08:00
MutateFromLogEntryTask.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MutateFromLogEntryTask.h Fix data duplication in zero copy replication 2022-09-15 18:54:27 +02:00
MutatePlainMergeTreeTask.cpp remove DataPartStorageBuilder 2022-10-23 00:23:15 +00:00
MutatePlainMergeTreeTask.h Improve logging around replicated merges 2022-07-15 15:48:35 +02:00
MutateTask.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
MutateTask.h remove DataPartStorageBuilder 2022-10-23 00:23:15 +00:00
ParallelReplicasReadingCoordinator.cpp abort instead of __builtin_unreachable in debug builds 2022-10-07 21:49:08 +02:00
ParallelReplicasReadingCoordinator.h Support for simultaneous read from local and remote parallel replica (#37204) 2022-06-02 11:46:33 +02:00
PartitionPruner.cpp Nullable partition pruning fix 2022-07-07 16:02:38 +08:00
PartitionPruner.h Fix KeyCondition with other filters 2022-08-11 19:20:44 +08:00
PartMetadataManagerOrdinary.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
PartMetadataManagerOrdinary.h better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
PartMetadataManagerWithCache.cpp better semantic of constsness of DataPartStorage 2022-10-23 15:24:20 +00:00
PartMetadataManagerWithCache.h Consolidate config_core.h into config.h 2022-09-28 13:31:57 +00:00
PartMovesBetweenShardsOrchestrator.cpp abort instead of __builtin_unreachable in debug builds 2022-10-07 21:49:08 +02:00
PartMovesBetweenShardsOrchestrator.h base should not depend on Common 2022-04-29 10:26:35 +08:00
PinnedPartUUIDs.cpp
PinnedPartUUIDs.h
RangesInDataPart.h
registerStorageMergeTree.cpp avoid more useless errors 2022-09-28 15:55:39 +00:00
ReplicatedFetchList.cpp
ReplicatedFetchList.h
ReplicatedMergeMutateTaskBase.cpp
ReplicatedMergeMutateTaskBase.h Improve logging around replicated merges 2022-07-15 15:48:35 +02:00
ReplicatedMergeTreeAddress.cpp
ReplicatedMergeTreeAddress.h
ReplicatedMergeTreeAltersSequence.cpp maybe fix livelock on queue processing 2022-06-15 22:22:27 +02:00
ReplicatedMergeTreeAltersSequence.h maybe fix livelock on queue processing 2022-06-15 22:22:27 +02:00
ReplicatedMergeTreeAttachThread.cpp Update src/Storages/MergeTree/ReplicatedMergeTreeAttachThread.cpp 2022-09-27 14:26:45 +03:00
ReplicatedMergeTreeAttachThread.h do not try to strartup dropped replica 2022-08-25 22:14:39 +02:00
ReplicatedMergeTreeCleanupThread.cpp Use multiread where possible 2022-10-11 09:27:46 +00:00
ReplicatedMergeTreeCleanupThread.h base should not depend on Common 2022-04-29 10:26:35 +08:00
ReplicatedMergeTreeLogEntry.cpp Fixes for -Wshorten-64-to-32 2022-10-21 13:25:19 +02:00
ReplicatedMergeTreeLogEntry.h Merge branch 'master' into minor-renames 2022-05-07 14:18:50 +03:00
ReplicatedMergeTreeMergeStrategyPicker.cpp Fixes for -Wshorten-64-to-32 2022-10-21 13:25:19 +02:00
ReplicatedMergeTreeMergeStrategyPicker.h
ReplicatedMergeTreeMutationEntry.cpp Write unfinished mutations to backup. 2022-07-05 14:51:09 +02:00
ReplicatedMergeTreeMutationEntry.h Write unfinished mutations to backup. 2022-07-05 14:51:09 +02:00
ReplicatedMergeTreePartCheckThread.cpp Fix potential race condition with broken parts 2022-09-30 19:01:06 +02:00
ReplicatedMergeTreePartCheckThread.h base should not depend on Common 2022-04-29 10:26:35 +08:00
ReplicatedMergeTreePartHeader.cpp Revert "Fix errors of CheckTriviallyCopyableMove type" 2022-06-07 13:53:10 +02:00
ReplicatedMergeTreePartHeader.h
ReplicatedMergeTreeQueue.cpp Fixes for -Wshorten-64-to-32 2022-10-21 13:25:19 +02:00
ReplicatedMergeTreeQueue.h Fixes for -Wshorten-64-to-32 2022-10-21 13:25:19 +02:00
ReplicatedMergeTreeQuorumAddedParts.h
ReplicatedMergeTreeQuorumEntry.h
ReplicatedMergeTreeRestartingThread.cpp Improve the time to recover keeper connections (#42541) 2022-10-25 13:26:29 +02:00
ReplicatedMergeTreeRestartingThread.h Improve the time to recover keeper connections (#42541) 2022-10-25 13:26:29 +02:00
ReplicatedMergeTreeSink.cpp Merge branch 'master' into dynamic-columns-14 2022-10-31 16:15:19 +01:00
ReplicatedMergeTreeSink.h remove DataPartStorageBuilder 2022-10-23 00:23:15 +00:00
ReplicatedMergeTreeTableMetadata.cpp normalize ast for replicated metadata 2022-09-19 22:06:41 +08:00
ReplicatedMergeTreeTableMetadata.h Move most code from setTableStructure() to a separate function. 2022-06-30 08:37:17 +02:00
RequestResponse.cpp
RequestResponse.h
RPNBuilder.cpp Fixed code review issues 2022-10-31 12:30:00 +01:00
RPNBuilder.h Fixed code review issues 2022-10-31 12:30:00 +01:00
SimpleMergeSelector.cpp Simplify logic 2022-10-19 12:34:20 +00:00
SimpleMergeSelector.h Polishing 2022-10-19 12:59:28 +00:00
StorageFromMergeTreeDataPart.h Merge branch 'master' into dynamic-columns-14 2022-10-31 16:15:19 +01:00
TemporaryParts.cpp fix 2022-08-10 15:48:56 +02:00
TemporaryParts.h fix 2022-08-10 15:48:56 +02:00
TTLMergeSelector.cpp
TTLMergeSelector.h
ZeroCopyLock.cpp
ZeroCopyLock.h