Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/YZhao-prog/SharkDB
/ functions
Functions
213 in github.com/YZhao-prog/SharkDB
⨍
Functions
213
◇
Types & classes
43
↓ 90 callers
Method
set
• self.engine 是一个 Mutex 类型的变量,这意味着它包含一个被锁保护的资源。 • self.engine.lock() 获取这个锁。通过 ? 操作符,若获取锁失败,会将错误向上返回。 • 成功获取锁后,eng 是 MutexGuard 类型,拥有对 self.engine 内部数据
src/storage/mvcc.rs:183
↓ 37 callers
Method
begin
start transaction(MvccTransaction)
src/storage/mvcc.rs:42
↓ 35 callers
Method
clone
(&self)
src/storage/mvcc.rs:27
↓ 20 callers
Method
commit
(&self)
src/storage/mvcc.rs:134
↓ 19 callers
Method
clone
(&self)
src/sql/engine/kv.rs:13
↓ 16 callers
Method
encode
(&self)
src/storage/mvcc.rs:84
↓ 13 callers
Method
scan_prefix
check data start by table name as prefix
src/storage/mvcc.rs:274
↓ 12 callers
Method
parse
parse and get ast tree
src/sql/parser/mod.rs:25
↓ 11 callers
Method
delete
(&self, key: Vec<u8>)
src/storage/mvcc.rs:187
↓ 11 callers
Method
map
(&mut self, item: (&Vec<u8>, &(u64, u32)))
src/storage/disk.rs:116
↓ 11 callers
Method
next
(&mut self)
src/storage/disk.rs:130
↓ 11 callers
Method
next_expect
(&mut self, expect: Token)
src/sql/parser/mod.rs:209
↓ 9 callers
Method
next
(&mut self)
src/sql/parser/mod.rs:196
↓ 8 callers
Method
set
+----------------+------------------+--------------------+---------------------+ | Key Length (4) | Value Length (4) | Key (Variable) | Value (Var
src/storage/disk.rs:70
↓ 7 callers
Method
peek
(&mut self)
src/sql/parser/mod.rs:191
↓ 7 callers
Method
scan
(&mut self, range: impl std::ops::RangeBounds<Vec<u8>>)
src/storage/disk.rs:102
↓ 6 callers
Method
next_if
(&mut self, predicate: F)
src/sql/parser/lexer.rs:157
↓ 5 callers
Method
execute
Session -> execute -> Parser -> AST -> PLAN
src/sql/engine/mod.rs:44
↓ 5 callers
Method
next_indent
(&mut self)
src/sql/parser/mod.rs:202
↓ 4 callers
Function
serialize_key
(key: &T)
src/storage/keycode.rs:8
↓ 3 callers
Method
get
(&self, key: Vec<u8>)
src/storage/mvcc.rs:191
↓ 3 callers
Method
is_visible
(&self, version: Version)
src/storage/mvcc.rs:60
↓ 3 callers
Method
must_get_table
must get table info, otherwise return error (such as table not exist)
src/sql/engine/mod.rs:29
↓ 3 callers
Method
next
(&mut self)
src/sql/parser/lexer.rs:137
↓ 3 callers
Method
next_back
(&mut self)
src/storage/disk.rs:136
↓ 3 callers
Method
next_if_token
(&mut self, token: Token)
src/sql/parser/mod.rs:227
↓ 3 callers
Method
read_value
(&mut self, offset: u64, value_size: u32)
src/storage/disk.rs:225
↓ 3 callers
Method
write_entry
+----------------+------------------+--------------------+---------------------+ | Key Length (4) | Value Length (4) | Key (Variable) | Value (Var
src/storage/disk.rs:173
↓ 2 callers
Function
delete
7. delete
src/storage/mvcc.rs:652
↓ 2 callers
Method
delete
(&mut self, key: Vec<u8>)
src/storage/disk.rs:96
↓ 2 callers
Function
delete_conflict
8. delete conflict
src/storage/mvcc.rs:693
↓ 2 callers
Function
deserialize_key
(input: &'a [u8])
src/storage/keycode.rs:14
↓ 2 callers
Function
dirty_read
9. dirty read
src/storage/mvcc.rs:727
↓ 2 callers
Function
get
1. Get
src/storage/mvcc.rs:349
↓ 2 callers
Function
get_isolation
2. Get Isolation
src/storage/mvcc.rs:378
↓ 2 callers
Method
get_table
(&self, table_name: String)
src/sql/engine/kv.rs:102
↓ 2 callers
Method
map
(item: (&Vec<u8>, &Vec<u8>))
src/storage/memory.rs:49
↓ 2 callers
Method
next_bytes
- 如果这个 0 之后的值是 255,说明是原始字符串中的 0,则继续解析 - 如果这个 0 之后的值是 0,说明是字符串的结尾
src/storage/keycode.rs:300
↓ 2 callers
Method
next_if
(&mut self, predicate: F)
src/sql/parser/mod.rs:217
↓ 2 callers
Method
next_while
(&mut self, predicate: F)
src/sql/parser/lexer.rs:169
↓ 2 callers
Method
parse_expression
(&mut self)
src/sql/parser/mod.rs:172
↓ 2 callers
Function
phantom_read
11. phantom read
src/storage/mvcc.rs:783
↓ 2 callers
Function
rollback
12. rollback
src/storage/mvcc.rs:848
↓ 2 callers
Function
scan_isolation
4. scan isolation
src/storage/mvcc.rs:486
↓ 2 callers
Function
scan_prefix
3. scan prefix
src/storage/mvcc.rs:414
↓ 2 callers
Method
serialize_unit_variant
eg: MvccKey::NextVersion
src/storage/keycode.rs:137
↓ 2 callers
Function
set
5. set
src/storage/mvcc.rs:567
↓ 2 callers
Function
set_conflict
6. set conflict
src/storage/mvcc.rs:608
↓ 2 callers
Method
take_bytes
(&mut self, len: usize)
src/storage/keycode.rs:290
↓ 2 callers
Function
test_point_opt
测试点读的情况
src/storage/engine.rs:47
↓ 2 callers
Function
test_scan
测试扫描
src/storage/engine.rs:74
↓ 2 callers
Function
test_scan_prefix
测试前缀扫描
src/storage/engine.rs:109
↓ 2 callers
Method
to_str
(&self)
src/sql/parser/lexer.rs:61
↓ 2 callers
Function
unrepeatable_read
10. unrepeatable read
src/storage/mvcc.rs:754
↓ 2 callers
Method
write_inner
modify/delete data
src/storage/mvcc.rs:219
↓ 1 callers
Method
begin
(&self)
src/sql/engine/kv.rs:29
↓ 1 callers
Method
build_keydir
traverse disk file, and get all the log, build new memory index
src/storage/disk.rs:195
↓ 1 callers
Method
build_statement
(&self, stmt: ast::Statement)
src/sql/plan/planner.rs:16
↓ 1 callers
Method
commit
(&self)
src/sql/engine/kv.rs:45
↓ 1 callers
Method
compact
when we delete or set new value to a key, we will update keydir and append info to log what we need to do here is to rewrite log by keydir
src/storage/disk.rs:36
↓ 1 callers
Method
create_row
(&mut self, table_name: String, row: Row)
src/sql/engine/kv.rs:53
↓ 1 callers
Method
create_table
(&mut self, table: Table)
src/sql/engine/kv.rs:87
↓ 1 callers
Method
datatype
(&self)
src/sql/types/mod.rs:33
↓ 1 callers
Method
erase_whitespace
eg. select * from t;
src/sql/parser/lexer.rs:153
↓ 1 callers
Function
make_row
insert into tbl(d, c) values(1, 2); a b c d default default 2 1
src/sql/executor/mutation.rs:39
↓ 1 callers
Method
next_if_keyword
if this is a keyword, go next and return
src/sql/parser/mod.rs:223
↓ 1 callers
Method
next_if_token
if token, go next and return that token
src/sql/parser/lexer.rs:163
↓ 1 callers
Function
pad_row
complete row, fill default value insert into tbl values(1, 2, 3); a b c d 1 2 3 default value
src/sql/executor/mutation.rs:24
↓ 1 callers
Method
parse_ddl
parse ddl type,create xxx, drop xxx
src/sql/parser/mod.rs:109
↓ 1 callers
Method
parse_ddl_column
(&mut self)
src/sql/parser/mod.rs:143
↓ 1 callers
Method
parse_ddl_create_table
CREATE TABLE table_name ( id INT NOT NULL DEFAULT 0 ... );
src/sql/parser/mod.rs:124
↓ 1 callers
Method
parse_insert
INSERT INTO employees (id, name, salary) VALUES (1, 'Alice', 50000); OR INSERT INTO employees VALUES (1, 'Alice', 50000);
src/sql/parser/mod.rs:53
↓ 1 callers
Method
parse_select
(&mut self)
src/sql/parser/mod.rs:98
↓ 1 callers
Method
parse_statement
(&mut self)
src/sql/parser/mod.rs:36
↓ 1 callers
Method
rollback
(&self)
src/sql/engine/kv.rs:49
↓ 1 callers
Method
rollback
(&self)
src/storage/mvcc.rs:151
↓ 1 callers
Method
scan
(&mut self)
src/sql/parser/lexer.rs:177
↓ 1 callers
Method
scan_ident
scan table/column name, true/false, Keyword
src/sql/parser/lexer.rs:220
↓ 1 callers
Method
scan_number
(&mut self)
src/sql/parser/lexer.rs:206
↓ 1 callers
Method
scan_prefix
scan prefix
src/storage/engine.rs:18
↓ 1 callers
Method
scan_string
(&mut self)
src/sql/parser/lexer.rs:190
↓ 1 callers
Method
scan_symbol
(&mut self)
src/sql/parser/lexer.rs:231
↓ 1 callers
Method
scan_table
(&self, table_name: String)
src/sql/engine/kv.rs:74
↓ 1 callers
Method
session
(&self)
src/sql/engine/mod.rs:14
Method
build
(stmt: ast::Statement)
src/sql/plan/mod.rs:27
Method
build
(&mut self, stmt: ast::Statement)
src/sql/plan/planner.rs:12
Method
build
convert plan node to executor struct
src/sql/executor/mod.rs:24
Method
custom
(msg: T)
src/error.rs:54
Method
decode
(data: Vec<u8>)
src/storage/mvcc.rs:88
Method
delete
(&mut self, key: Vec<u8>)
src/storage/memory.rs:28
Method
deserialize_any
(self, visitor: V)
src/storage/keycode.rs:323
Method
deserialize_bool
(self, visitor: V)
src/storage/keycode.rs:330
Method
deserialize_byte_buf
(self, visitor: V)
src/storage/keycode.rs:441
Method
deserialize_bytes
(self, visitor: V)
src/storage/keycode.rs:434
Method
deserialize_char
(self, visitor: V)
src/storage/keycode.rs:413
Method
deserialize_enum
( self, name: &'static str, variants: &'static [&'static str], visitor: V,
src/storage/keycode.rs:521
Method
deserialize_f32
(self, visitor: V)
src/storage/keycode.rs:399
Method
deserialize_f64
(self, visitor: V)
src/storage/keycode.rs:406
Method
deserialize_i16
(self, visitor: V)
src/storage/keycode.rs:344
Method
deserialize_i32
(self, visitor: V)
src/storage/keycode.rs:351
next →
1–100 of 213, ranked by callers