MCPcopy Create free account
hub / github.com/apache/datafusion / build

Method build

datafusion/execution/src/disk_manager.rs:74–101  ·  view source on GitHub ↗

Create a DiskManager given the builder

(self)

Source from the content-addressed store, hash-verified

72
73 /// Create a DiskManager given the builder
74 pub fn build(self) -> Result<DiskManager> {
75 match self.mode {
76 DiskManagerMode::OsTmpDirectory => Ok(DiskManager {
77 local_dirs: Mutex::new(Some(vec![])),
78 max_temp_directory_size: self.max_temp_directory_size,
79 used_disk_space: Arc::new(AtomicU64::new(0)),
80 active_files_count: Arc::new(AtomicUsize::new(0)),
81 }),
82 DiskManagerMode::Directories(conf_dirs) => {
83 let local_dirs = create_local_dirs(&conf_dirs)?;
84 debug!(
85 "Created local dirs {local_dirs:?} as DataFusion working directory"
86 );
87 Ok(DiskManager {
88 local_dirs: Mutex::new(Some(local_dirs)),
89 max_temp_directory_size: self.max_temp_directory_size,
90 used_disk_space: Arc::new(AtomicU64::new(0)),
91 active_files_count: Arc::new(AtomicUsize::new(0)),
92 })
93 }
94 DiskManagerMode::Disabled => Ok(DiskManager {
95 local_dirs: Mutex::new(None),
96 max_temp_directory_size: self.max_temp_directory_size,
97 used_disk_space: Arc::new(AtomicU64::new(0)),
98 active_files_count: Arc::new(AtomicUsize::new(0)),
99 }),
100 }
101 }
102}
103
104#[derive(Clone, Debug, Default)]

Calls 2

newFunction · 0.85
create_local_dirsFunction · 0.85