Update diagram

This commit is contained in:
Kacper Madej 2024-12-12 17:22:03 +01:00
parent ffede00531
commit 52b94f7181

View file

@ -6,32 +6,32 @@ sequenceDiagram
participant main as cli/main
participant Database as core/lib/Database
participant Connection as core/lib/Connection
participant Statement as core/lib/Statement
participant Parser as sql/mod/Parser
participant Scanner as sql/mod/Scanner
participant translate as translate/mod
participant Statement as core/lib/Statement
participant Program as vdbe/mod/Program
main->>Database: open_file
Database->>main: Connection
main->>Connection: query(sql)
Note right of Parser: Uses vendored sqlite3-parser
Note left of Parser: Parser uses vendored sqlite3-parser
Connection->>Parser: next()
Note left of Parser: Passes the SQL query to Parser
Parser->>Scanner: scan()
Scanner->>Parser: returns tokens
Parser->>Connection: Cmd::Stmt (ast/mod.rs)
Note right of translate: Translates SQL statement into bytecode
Connection->>translate:translate(stmt)
Parser->>Connection: Cmd::Stmt
Connection->>translate:translate()
Note left of translate: Translates SQL statement into bytecode
translate->>Connection: Program
Connection->>main: Ok(Some(Rows { Statement }))
note right of main: a Statement with <br />a reference to Program is returned
main->>Statement: step()
Statement->>Program: step()
Note left of Program: Executes bytecode instructions<br />See https://www.sqlite.org/opcode.html
Note left of Program: Program executes bytecode instructions<br />See https://www.sqlite.org/opcode.html
Program->>Statement: StepResult
Statement->>main: StepResult
```