MCPcopy Create free account

hub / github.com/YZhao-prog/SharkDB / functions

Functions213 in github.com/YZhao-prog/SharkDB

↓ 90 callersMethodset
• self.engine 是一个 Mutex 类型的变量,这意味着它包含一个被锁保护的资源。 • self.engine.lock() 获取这个锁。通过 ? 操作符,若获取锁失败,会将错误向上返回。 • 成功获取锁后,eng 是 MutexGuard 类型,拥有对 self.engine 内部数据
src/storage/mvcc.rs:183
↓ 37 callersMethodbegin
start transaction(MvccTransaction)
src/storage/mvcc.rs:42
↓ 35 callersMethodclone
(&self)
src/storage/mvcc.rs:27
↓ 20 callersMethodcommit
(&self)
src/storage/mvcc.rs:134
↓ 19 callersMethodclone
(&self)
src/sql/engine/kv.rs:13
↓ 16 callersMethodencode
(&self)
src/storage/mvcc.rs:84
↓ 13 callersMethodscan_prefix
check data start by table name as prefix
src/storage/mvcc.rs:274
↓ 12 callersMethodparse
parse and get ast tree
src/sql/parser/mod.rs:25
↓ 11 callersMethoddelete
(&self, key: Vec<u8>)
src/storage/mvcc.rs:187
↓ 11 callersMethodmap
(&mut self, item: (&Vec<u8>, &(u64, u32)))
src/storage/disk.rs:116
↓ 11 callersMethodnext
(&mut self)
src/storage/disk.rs:130
↓ 11 callersMethodnext_expect
(&mut self, expect: Token)
src/sql/parser/mod.rs:209
↓ 9 callersMethodnext
(&mut self)
src/sql/parser/mod.rs:196
↓ 8 callersMethodset
+----------------+------------------+--------------------+---------------------+ | Key Length (4) | Value Length (4) | Key (Variable) | Value (Var
src/storage/disk.rs:70
↓ 7 callersMethodpeek
(&mut self)
src/sql/parser/mod.rs:191
↓ 7 callersMethodscan
(&mut self, range: impl std::ops::RangeBounds<Vec<u8>>)
src/storage/disk.rs:102
↓ 6 callersMethodnext_if
(&mut self, predicate: F)
src/sql/parser/lexer.rs:157
↓ 5 callersMethodexecute
Session -> execute -> Parser -> AST -> PLAN
src/sql/engine/mod.rs:44
↓ 5 callersMethodnext_indent
(&mut self)
src/sql/parser/mod.rs:202
↓ 4 callersFunctionserialize_key
(key: &T)
src/storage/keycode.rs:8
↓ 3 callersMethodget
(&self, key: Vec<u8>)
src/storage/mvcc.rs:191
↓ 3 callersMethodis_visible
(&self, version: Version)
src/storage/mvcc.rs:60
↓ 3 callersMethodmust_get_table
must get table info, otherwise return error (such as table not exist)
src/sql/engine/mod.rs:29
↓ 3 callersMethodnext
(&mut self)
src/sql/parser/lexer.rs:137
↓ 3 callersMethodnext_back
(&mut self)
src/storage/disk.rs:136
↓ 3 callersMethodnext_if_token
(&mut self, token: Token)
src/sql/parser/mod.rs:227
↓ 3 callersMethodread_value
(&mut self, offset: u64, value_size: u32)
src/storage/disk.rs:225
↓ 3 callersMethodwrite_entry
+----------------+------------------+--------------------+---------------------+ | Key Length (4) | Value Length (4) | Key (Variable) | Value (Var
src/storage/disk.rs:173
↓ 2 callersFunctiondelete
7. delete
src/storage/mvcc.rs:652
↓ 2 callersMethoddelete
(&mut self, key: Vec<u8>)
src/storage/disk.rs:96
↓ 2 callersFunctiondelete_conflict
8. delete conflict
src/storage/mvcc.rs:693
↓ 2 callersFunctiondeserialize_key
(input: &'a [u8])
src/storage/keycode.rs:14
↓ 2 callersFunctiondirty_read
9. dirty read
src/storage/mvcc.rs:727
↓ 2 callersFunctionget
1. Get
src/storage/mvcc.rs:349
↓ 2 callersFunctionget_isolation
2. Get Isolation
src/storage/mvcc.rs:378
↓ 2 callersMethodget_table
(&self, table_name: String)
src/sql/engine/kv.rs:102
↓ 2 callersMethodmap
(item: (&Vec<u8>, &Vec<u8>))
src/storage/memory.rs:49
↓ 2 callersMethodnext_bytes
- 如果这个 0 之后的值是 255,说明是原始字符串中的 0,则继续解析 - 如果这个 0 之后的值是 0,说明是字符串的结尾
src/storage/keycode.rs:300
↓ 2 callersMethodnext_if
(&mut self, predicate: F)
src/sql/parser/mod.rs:217
↓ 2 callersMethodnext_while
(&mut self, predicate: F)
src/sql/parser/lexer.rs:169
↓ 2 callersMethodparse_expression
(&mut self)
src/sql/parser/mod.rs:172
↓ 2 callersFunctionphantom_read
11. phantom read
src/storage/mvcc.rs:783
↓ 2 callersFunctionrollback
12. rollback
src/storage/mvcc.rs:848
↓ 2 callersFunctionscan_isolation
4. scan isolation
src/storage/mvcc.rs:486
↓ 2 callersFunctionscan_prefix
3. scan prefix
src/storage/mvcc.rs:414
↓ 2 callersMethodserialize_unit_variant
eg: MvccKey::NextVersion
src/storage/keycode.rs:137
↓ 2 callersFunctionset
5. set
src/storage/mvcc.rs:567
↓ 2 callersFunctionset_conflict
6. set conflict
src/storage/mvcc.rs:608
↓ 2 callersMethodtake_bytes
(&mut self, len: usize)
src/storage/keycode.rs:290
↓ 2 callersFunctiontest_point_opt
测试点读的情况
src/storage/engine.rs:47
↓ 2 callersFunctiontest_scan
测试扫描
src/storage/engine.rs:74
↓ 2 callersFunctiontest_scan_prefix
测试前缀扫描
src/storage/engine.rs:109
↓ 2 callersMethodto_str
(&self)
src/sql/parser/lexer.rs:61
↓ 2 callersFunctionunrepeatable_read
10. unrepeatable read
src/storage/mvcc.rs:754
↓ 2 callersMethodwrite_inner
modify/delete data
src/storage/mvcc.rs:219
↓ 1 callersMethodbegin
(&self)
src/sql/engine/kv.rs:29
↓ 1 callersMethodbuild_keydir
traverse disk file, and get all the log, build new memory index
src/storage/disk.rs:195
↓ 1 callersMethodbuild_statement
(&self, stmt: ast::Statement)
src/sql/plan/planner.rs:16
↓ 1 callersMethodcommit
(&self)
src/sql/engine/kv.rs:45
↓ 1 callersMethodcompact
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 callersMethodcreate_row
(&mut self, table_name: String, row: Row)
src/sql/engine/kv.rs:53
↓ 1 callersMethodcreate_table
(&mut self, table: Table)
src/sql/engine/kv.rs:87
↓ 1 callersMethoddatatype
(&self)
src/sql/types/mod.rs:33
↓ 1 callersMethoderase_whitespace
eg. select * from t;
src/sql/parser/lexer.rs:153
↓ 1 callersFunctionmake_row
insert into tbl(d, c) values(1, 2); a b c d default default 2 1
src/sql/executor/mutation.rs:39
↓ 1 callersMethodnext_if_keyword
if this is a keyword, go next and return
src/sql/parser/mod.rs:223
↓ 1 callersMethodnext_if_token
if token, go next and return that token
src/sql/parser/lexer.rs:163
↓ 1 callersFunctionpad_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 callersMethodparse_ddl
parse ddl type,create xxx, drop xxx
src/sql/parser/mod.rs:109
↓ 1 callersMethodparse_ddl_column
(&mut self)
src/sql/parser/mod.rs:143
↓ 1 callersMethodparse_ddl_create_table
CREATE TABLE table_name ( id INT NOT NULL DEFAULT 0 ... );
src/sql/parser/mod.rs:124
↓ 1 callersMethodparse_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 callersMethodparse_select
(&mut self)
src/sql/parser/mod.rs:98
↓ 1 callersMethodparse_statement
(&mut self)
src/sql/parser/mod.rs:36
↓ 1 callersMethodrollback
(&self)
src/sql/engine/kv.rs:49
↓ 1 callersMethodrollback
(&self)
src/storage/mvcc.rs:151
↓ 1 callersMethodscan
(&mut self)
src/sql/parser/lexer.rs:177
↓ 1 callersMethodscan_ident
scan table/column name, true/false, Keyword
src/sql/parser/lexer.rs:220
↓ 1 callersMethodscan_number
(&mut self)
src/sql/parser/lexer.rs:206
↓ 1 callersMethodscan_prefix
scan prefix
src/storage/engine.rs:18
↓ 1 callersMethodscan_string
(&mut self)
src/sql/parser/lexer.rs:190
↓ 1 callersMethodscan_symbol
(&mut self)
src/sql/parser/lexer.rs:231
↓ 1 callersMethodscan_table
(&self, table_name: String)
src/sql/engine/kv.rs:74
↓ 1 callersMethodsession
(&self)
src/sql/engine/mod.rs:14
Methodbuild
(stmt: ast::Statement)
src/sql/plan/mod.rs:27
Methodbuild
(&mut self, stmt: ast::Statement)
src/sql/plan/planner.rs:12
Methodbuild
convert plan node to executor struct
src/sql/executor/mod.rs:24
Methodcustom
(msg: T)
src/error.rs:54
Methoddecode
(data: Vec<u8>)
src/storage/mvcc.rs:88
Methoddelete
(&mut self, key: Vec<u8>)
src/storage/memory.rs:28
Methoddeserialize_any
(self, visitor: V)
src/storage/keycode.rs:323
Methoddeserialize_bool
(self, visitor: V)
src/storage/keycode.rs:330
Methoddeserialize_byte_buf
(self, visitor: V)
src/storage/keycode.rs:441
Methoddeserialize_bytes
(self, visitor: V)
src/storage/keycode.rs:434
Methoddeserialize_char
(self, visitor: V)
src/storage/keycode.rs:413
Methoddeserialize_enum
( self, name: &'static str, variants: &'static [&'static str], visitor: V,
src/storage/keycode.rs:521
Methoddeserialize_f32
(self, visitor: V)
src/storage/keycode.rs:399
Methoddeserialize_f64
(self, visitor: V)
src/storage/keycode.rs:406
Methoddeserialize_i16
(self, visitor: V)
src/storage/keycode.rs:344
Methoddeserialize_i32
(self, visitor: V)
src/storage/keycode.rs:351
next →1–100 of 213, ranked by callers