pub struct SqliteHeader { /* private fields */ }
Expand description
§Database File Format
Offset | Size | Description |
---|---|---|
0 | 16 | The header string: “Sqlite format 3\000” |
16 | 2 | The database page size in bytes. Must be a power of two between 512 and 32768 inclusive, or the bytes 1 representing a page size of 65536. |
18 | 1 | File format write version. 1 for legacy; 2 for WAL. |
19 | 1 | File format read version. 1 for legacy; 2 for WAL. |
20 | 1 | Bytes of unused “reserved” space at the end of each page. Usually 0. |
21 | 1 | Maximum embedded payload fraction. Must be 64. |
22 | 1 | Minimum embedded payload fraction. Must be 32. |
23 | 1 | Leaf payload fraction. Must be 32. |
24 | 4 | File change counter. |
28 | 4 | Size of the database file in pages. The “in-header database size”. |
32 | 4 | Page number of the first freelist trunk page. |
36 | 4 | Total number of freelist pages. |
40 | 4 | The schema cookie. |
44 | 4 | The schema format number. Supported schema formats are 1, 2, 3, and 4. |
48 | 4 | Default page cache size. |
52 | 4 | The page number of the largest root b-tree page when in auto-vacuum or incremental-vacuum modes, or zero otherwise. |
56 | 4 | The database text encoding. A bytes of 1 means UTF-8. A bytes of 2 means UTF-16le. A bytes of 3 means UTF-16be. |
60 | 4 | The “user version” as read and set by the user_version pragma. |
64 | 4 | True (non-zero) for incremental-vacuum mode. False (zero) otherwise. |
68 | 4 | The “Application ID” set by PRAGMA application_id. |
72 | 20 | Reserved for expansion. Must be zero. |
92 | 4 | The version-valid-for number. |
96 | 4 | SQLITE_VERSION_NUMBER |
Implementations§
Source§impl SqliteHeader
impl SqliteHeader
pub const LENGTH_BYTES: usize = 100usize
pub fn magic_header_string(&self) -> &MagicHeaderString
Sourcepub fn page_size(&self) -> &PageSize
pub fn page_size(&self) -> &PageSize
Examples found in repository?
examples/sqlite_info.rs (line 48)
36 fn print_sqlite_info(conn: &SqliteConnection) -> AppResult<()> {
37 const LABEL_WIDTH: usize = 21;
38
39 // TODO:
40 let sqlite_header = conn.runtime().header();
41
42 let mut output = "".to_owned();
43
44 output.push_str(&format!(
45 "{label: <w$}{value}\n",
46 w = LABEL_WIDTH,
47 label = "database page size:",
48 value = u32::from(sqlite_header.page_size())
49 ));
50 output.push_str(&format!(
51 "{label: <w$}{value}\n",
52 w = LABEL_WIDTH,
53 label = "write format:",
54 value =
55 u8::from(sqlite_header.file_format_version_numbers().write_version())
56 ));
57 output.push_str(&format!(
58 "{label: <w$}{value}\n",
59 w = LABEL_WIDTH,
60 label = "read format:",
61 value =
62 u8::from(sqlite_header.file_format_version_numbers().read_version())
63 ));
64 output.push_str(&format!(
65 "{label: <w$}{value}\n",
66 w = LABEL_WIDTH,
67 label = "reserved bytes:",
68 value = **sqlite_header.reserved_bytes_per_page()
69 ));
70 output.push_str(&format!(
71 "{label: <w$}{value}\n",
72 w = LABEL_WIDTH,
73 label = "file change counter:",
74 value = **sqlite_header.file_change_counter()
75 ));
76
77 output.push_str(&format!(
78 "{label: <w$}{value}\n",
79 w = LABEL_WIDTH,
80 label = "database page count:",
81 value = **sqlite_header.db_filesize_in_pages()
82 ));
83
84 output.push_str(&format!(
85 "{label: <w$}{value}\n",
86 w = LABEL_WIDTH,
87 label = "freelist page count:",
88 value = **sqlite_header.freelist_pages().total()
89 ));
90
91 output.push_str(&format!(
92 "{label: <w$}{value}\n",
93 w = LABEL_WIDTH,
94 label = "schema cookie:",
95 value = **sqlite_header.schema_cookie()
96 ));
97
98 output.push_str(&format!(
99 "{label: <w$}{value}\n",
100 w = LABEL_WIDTH,
101 label = "schema format:",
102 value = u32::from(sqlite_header.schema_format())
103 ));
104
105 output.push_str(&format!(
106 "{label: <w$}{value}\n",
107 w = LABEL_WIDTH,
108 label = "default cache size:",
109 value = **sqlite_header.suggested_cache_size()
110 ));
111
112 output.push_str(&format!(
113 "{label: <w$}{value}\n",
114 w = LABEL_WIDTH,
115 label = "autovacuum top root:",
116 value = **sqlite_header
117 .incremental_vacuum_settings()
118 .largest_root_btree_page()
119 ));
120
121 output.push_str(&format!(
122 "{label: <w$}{value}\n",
123 w = LABEL_WIDTH,
124 label = "incremental vacuum:",
125 value = u32::from(
126 sqlite_header
127 .incremental_vacuum_settings()
128 .incremental_vacuum_mode()
129 )
130 ));
131
132 output.push_str(&format!(
133 "{label: <w$}{value}\n",
134 w = LABEL_WIDTH,
135 label = "text encoding:",
136 value = sqlite_header.database_text_encoding()
137 ));
138
139 output.push_str(&format!(
140 "{label: <w$}{value}\n",
141 w = LABEL_WIDTH,
142 label = "user version:",
143 value = **sqlite_header.user_version()
144 ));
145
146 output.push_str(&format!(
147 "{label: <w$}{value}\n",
148 w = LABEL_WIDTH,
149 label = "application id:",
150 value = **sqlite_header.application_id()
151 ));
152
153 output.push_str(&format!(
154 "{label: <w$}{value}\n",
155 w = LABEL_WIDTH,
156 label = "software version:",
157 value = **sqlite_header.write_library_version()
158 ));
159
160 println!("{output}");
161 Ok(())
162 }
Sourcepub fn file_format_version_numbers(&self) -> &FileFormatVersionNumbers
pub fn file_format_version_numbers(&self) -> &FileFormatVersionNumbers
Examples found in repository?
examples/sqlite_info.rs (line 55)
36 fn print_sqlite_info(conn: &SqliteConnection) -> AppResult<()> {
37 const LABEL_WIDTH: usize = 21;
38
39 // TODO:
40 let sqlite_header = conn.runtime().header();
41
42 let mut output = "".to_owned();
43
44 output.push_str(&format!(
45 "{label: <w$}{value}\n",
46 w = LABEL_WIDTH,
47 label = "database page size:",
48 value = u32::from(sqlite_header.page_size())
49 ));
50 output.push_str(&format!(
51 "{label: <w$}{value}\n",
52 w = LABEL_WIDTH,
53 label = "write format:",
54 value =
55 u8::from(sqlite_header.file_format_version_numbers().write_version())
56 ));
57 output.push_str(&format!(
58 "{label: <w$}{value}\n",
59 w = LABEL_WIDTH,
60 label = "read format:",
61 value =
62 u8::from(sqlite_header.file_format_version_numbers().read_version())
63 ));
64 output.push_str(&format!(
65 "{label: <w$}{value}\n",
66 w = LABEL_WIDTH,
67 label = "reserved bytes:",
68 value = **sqlite_header.reserved_bytes_per_page()
69 ));
70 output.push_str(&format!(
71 "{label: <w$}{value}\n",
72 w = LABEL_WIDTH,
73 label = "file change counter:",
74 value = **sqlite_header.file_change_counter()
75 ));
76
77 output.push_str(&format!(
78 "{label: <w$}{value}\n",
79 w = LABEL_WIDTH,
80 label = "database page count:",
81 value = **sqlite_header.db_filesize_in_pages()
82 ));
83
84 output.push_str(&format!(
85 "{label: <w$}{value}\n",
86 w = LABEL_WIDTH,
87 label = "freelist page count:",
88 value = **sqlite_header.freelist_pages().total()
89 ));
90
91 output.push_str(&format!(
92 "{label: <w$}{value}\n",
93 w = LABEL_WIDTH,
94 label = "schema cookie:",
95 value = **sqlite_header.schema_cookie()
96 ));
97
98 output.push_str(&format!(
99 "{label: <w$}{value}\n",
100 w = LABEL_WIDTH,
101 label = "schema format:",
102 value = u32::from(sqlite_header.schema_format())
103 ));
104
105 output.push_str(&format!(
106 "{label: <w$}{value}\n",
107 w = LABEL_WIDTH,
108 label = "default cache size:",
109 value = **sqlite_header.suggested_cache_size()
110 ));
111
112 output.push_str(&format!(
113 "{label: <w$}{value}\n",
114 w = LABEL_WIDTH,
115 label = "autovacuum top root:",
116 value = **sqlite_header
117 .incremental_vacuum_settings()
118 .largest_root_btree_page()
119 ));
120
121 output.push_str(&format!(
122 "{label: <w$}{value}\n",
123 w = LABEL_WIDTH,
124 label = "incremental vacuum:",
125 value = u32::from(
126 sqlite_header
127 .incremental_vacuum_settings()
128 .incremental_vacuum_mode()
129 )
130 ));
131
132 output.push_str(&format!(
133 "{label: <w$}{value}\n",
134 w = LABEL_WIDTH,
135 label = "text encoding:",
136 value = sqlite_header.database_text_encoding()
137 ));
138
139 output.push_str(&format!(
140 "{label: <w$}{value}\n",
141 w = LABEL_WIDTH,
142 label = "user version:",
143 value = **sqlite_header.user_version()
144 ));
145
146 output.push_str(&format!(
147 "{label: <w$}{value}\n",
148 w = LABEL_WIDTH,
149 label = "application id:",
150 value = **sqlite_header.application_id()
151 ));
152
153 output.push_str(&format!(
154 "{label: <w$}{value}\n",
155 w = LABEL_WIDTH,
156 label = "software version:",
157 value = **sqlite_header.write_library_version()
158 ));
159
160 println!("{output}");
161 Ok(())
162 }
Sourcepub fn reserved_bytes_per_page(&self) -> &ReservedBytesPerPage
pub fn reserved_bytes_per_page(&self) -> &ReservedBytesPerPage
Examples found in repository?
examples/sqlite_info.rs (line 68)
36 fn print_sqlite_info(conn: &SqliteConnection) -> AppResult<()> {
37 const LABEL_WIDTH: usize = 21;
38
39 // TODO:
40 let sqlite_header = conn.runtime().header();
41
42 let mut output = "".to_owned();
43
44 output.push_str(&format!(
45 "{label: <w$}{value}\n",
46 w = LABEL_WIDTH,
47 label = "database page size:",
48 value = u32::from(sqlite_header.page_size())
49 ));
50 output.push_str(&format!(
51 "{label: <w$}{value}\n",
52 w = LABEL_WIDTH,
53 label = "write format:",
54 value =
55 u8::from(sqlite_header.file_format_version_numbers().write_version())
56 ));
57 output.push_str(&format!(
58 "{label: <w$}{value}\n",
59 w = LABEL_WIDTH,
60 label = "read format:",
61 value =
62 u8::from(sqlite_header.file_format_version_numbers().read_version())
63 ));
64 output.push_str(&format!(
65 "{label: <w$}{value}\n",
66 w = LABEL_WIDTH,
67 label = "reserved bytes:",
68 value = **sqlite_header.reserved_bytes_per_page()
69 ));
70 output.push_str(&format!(
71 "{label: <w$}{value}\n",
72 w = LABEL_WIDTH,
73 label = "file change counter:",
74 value = **sqlite_header.file_change_counter()
75 ));
76
77 output.push_str(&format!(
78 "{label: <w$}{value}\n",
79 w = LABEL_WIDTH,
80 label = "database page count:",
81 value = **sqlite_header.db_filesize_in_pages()
82 ));
83
84 output.push_str(&format!(
85 "{label: <w$}{value}\n",
86 w = LABEL_WIDTH,
87 label = "freelist page count:",
88 value = **sqlite_header.freelist_pages().total()
89 ));
90
91 output.push_str(&format!(
92 "{label: <w$}{value}\n",
93 w = LABEL_WIDTH,
94 label = "schema cookie:",
95 value = **sqlite_header.schema_cookie()
96 ));
97
98 output.push_str(&format!(
99 "{label: <w$}{value}\n",
100 w = LABEL_WIDTH,
101 label = "schema format:",
102 value = u32::from(sqlite_header.schema_format())
103 ));
104
105 output.push_str(&format!(
106 "{label: <w$}{value}\n",
107 w = LABEL_WIDTH,
108 label = "default cache size:",
109 value = **sqlite_header.suggested_cache_size()
110 ));
111
112 output.push_str(&format!(
113 "{label: <w$}{value}\n",
114 w = LABEL_WIDTH,
115 label = "autovacuum top root:",
116 value = **sqlite_header
117 .incremental_vacuum_settings()
118 .largest_root_btree_page()
119 ));
120
121 output.push_str(&format!(
122 "{label: <w$}{value}\n",
123 w = LABEL_WIDTH,
124 label = "incremental vacuum:",
125 value = u32::from(
126 sqlite_header
127 .incremental_vacuum_settings()
128 .incremental_vacuum_mode()
129 )
130 ));
131
132 output.push_str(&format!(
133 "{label: <w$}{value}\n",
134 w = LABEL_WIDTH,
135 label = "text encoding:",
136 value = sqlite_header.database_text_encoding()
137 ));
138
139 output.push_str(&format!(
140 "{label: <w$}{value}\n",
141 w = LABEL_WIDTH,
142 label = "user version:",
143 value = **sqlite_header.user_version()
144 ));
145
146 output.push_str(&format!(
147 "{label: <w$}{value}\n",
148 w = LABEL_WIDTH,
149 label = "application id:",
150 value = **sqlite_header.application_id()
151 ));
152
153 output.push_str(&format!(
154 "{label: <w$}{value}\n",
155 w = LABEL_WIDTH,
156 label = "software version:",
157 value = **sqlite_header.write_library_version()
158 ));
159
160 println!("{output}");
161 Ok(())
162 }
pub fn payload_fractions(&self) -> &PayloadFractions
Sourcepub fn file_change_counter(&self) -> &FileChangeCounter
pub fn file_change_counter(&self) -> &FileChangeCounter
Examples found in repository?
examples/sqlite_info.rs (line 74)
36 fn print_sqlite_info(conn: &SqliteConnection) -> AppResult<()> {
37 const LABEL_WIDTH: usize = 21;
38
39 // TODO:
40 let sqlite_header = conn.runtime().header();
41
42 let mut output = "".to_owned();
43
44 output.push_str(&format!(
45 "{label: <w$}{value}\n",
46 w = LABEL_WIDTH,
47 label = "database page size:",
48 value = u32::from(sqlite_header.page_size())
49 ));
50 output.push_str(&format!(
51 "{label: <w$}{value}\n",
52 w = LABEL_WIDTH,
53 label = "write format:",
54 value =
55 u8::from(sqlite_header.file_format_version_numbers().write_version())
56 ));
57 output.push_str(&format!(
58 "{label: <w$}{value}\n",
59 w = LABEL_WIDTH,
60 label = "read format:",
61 value =
62 u8::from(sqlite_header.file_format_version_numbers().read_version())
63 ));
64 output.push_str(&format!(
65 "{label: <w$}{value}\n",
66 w = LABEL_WIDTH,
67 label = "reserved bytes:",
68 value = **sqlite_header.reserved_bytes_per_page()
69 ));
70 output.push_str(&format!(
71 "{label: <w$}{value}\n",
72 w = LABEL_WIDTH,
73 label = "file change counter:",
74 value = **sqlite_header.file_change_counter()
75 ));
76
77 output.push_str(&format!(
78 "{label: <w$}{value}\n",
79 w = LABEL_WIDTH,
80 label = "database page count:",
81 value = **sqlite_header.db_filesize_in_pages()
82 ));
83
84 output.push_str(&format!(
85 "{label: <w$}{value}\n",
86 w = LABEL_WIDTH,
87 label = "freelist page count:",
88 value = **sqlite_header.freelist_pages().total()
89 ));
90
91 output.push_str(&format!(
92 "{label: <w$}{value}\n",
93 w = LABEL_WIDTH,
94 label = "schema cookie:",
95 value = **sqlite_header.schema_cookie()
96 ));
97
98 output.push_str(&format!(
99 "{label: <w$}{value}\n",
100 w = LABEL_WIDTH,
101 label = "schema format:",
102 value = u32::from(sqlite_header.schema_format())
103 ));
104
105 output.push_str(&format!(
106 "{label: <w$}{value}\n",
107 w = LABEL_WIDTH,
108 label = "default cache size:",
109 value = **sqlite_header.suggested_cache_size()
110 ));
111
112 output.push_str(&format!(
113 "{label: <w$}{value}\n",
114 w = LABEL_WIDTH,
115 label = "autovacuum top root:",
116 value = **sqlite_header
117 .incremental_vacuum_settings()
118 .largest_root_btree_page()
119 ));
120
121 output.push_str(&format!(
122 "{label: <w$}{value}\n",
123 w = LABEL_WIDTH,
124 label = "incremental vacuum:",
125 value = u32::from(
126 sqlite_header
127 .incremental_vacuum_settings()
128 .incremental_vacuum_mode()
129 )
130 ));
131
132 output.push_str(&format!(
133 "{label: <w$}{value}\n",
134 w = LABEL_WIDTH,
135 label = "text encoding:",
136 value = sqlite_header.database_text_encoding()
137 ));
138
139 output.push_str(&format!(
140 "{label: <w$}{value}\n",
141 w = LABEL_WIDTH,
142 label = "user version:",
143 value = **sqlite_header.user_version()
144 ));
145
146 output.push_str(&format!(
147 "{label: <w$}{value}\n",
148 w = LABEL_WIDTH,
149 label = "application id:",
150 value = **sqlite_header.application_id()
151 ));
152
153 output.push_str(&format!(
154 "{label: <w$}{value}\n",
155 w = LABEL_WIDTH,
156 label = "software version:",
157 value = **sqlite_header.write_library_version()
158 ));
159
160 println!("{output}");
161 Ok(())
162 }
Sourcepub fn db_filesize_in_pages(&self) -> &DatabaseFileSizeInPages
pub fn db_filesize_in_pages(&self) -> &DatabaseFileSizeInPages
Examples found in repository?
examples/sqlite_info.rs (line 81)
36 fn print_sqlite_info(conn: &SqliteConnection) -> AppResult<()> {
37 const LABEL_WIDTH: usize = 21;
38
39 // TODO:
40 let sqlite_header = conn.runtime().header();
41
42 let mut output = "".to_owned();
43
44 output.push_str(&format!(
45 "{label: <w$}{value}\n",
46 w = LABEL_WIDTH,
47 label = "database page size:",
48 value = u32::from(sqlite_header.page_size())
49 ));
50 output.push_str(&format!(
51 "{label: <w$}{value}\n",
52 w = LABEL_WIDTH,
53 label = "write format:",
54 value =
55 u8::from(sqlite_header.file_format_version_numbers().write_version())
56 ));
57 output.push_str(&format!(
58 "{label: <w$}{value}\n",
59 w = LABEL_WIDTH,
60 label = "read format:",
61 value =
62 u8::from(sqlite_header.file_format_version_numbers().read_version())
63 ));
64 output.push_str(&format!(
65 "{label: <w$}{value}\n",
66 w = LABEL_WIDTH,
67 label = "reserved bytes:",
68 value = **sqlite_header.reserved_bytes_per_page()
69 ));
70 output.push_str(&format!(
71 "{label: <w$}{value}\n",
72 w = LABEL_WIDTH,
73 label = "file change counter:",
74 value = **sqlite_header.file_change_counter()
75 ));
76
77 output.push_str(&format!(
78 "{label: <w$}{value}\n",
79 w = LABEL_WIDTH,
80 label = "database page count:",
81 value = **sqlite_header.db_filesize_in_pages()
82 ));
83
84 output.push_str(&format!(
85 "{label: <w$}{value}\n",
86 w = LABEL_WIDTH,
87 label = "freelist page count:",
88 value = **sqlite_header.freelist_pages().total()
89 ));
90
91 output.push_str(&format!(
92 "{label: <w$}{value}\n",
93 w = LABEL_WIDTH,
94 label = "schema cookie:",
95 value = **sqlite_header.schema_cookie()
96 ));
97
98 output.push_str(&format!(
99 "{label: <w$}{value}\n",
100 w = LABEL_WIDTH,
101 label = "schema format:",
102 value = u32::from(sqlite_header.schema_format())
103 ));
104
105 output.push_str(&format!(
106 "{label: <w$}{value}\n",
107 w = LABEL_WIDTH,
108 label = "default cache size:",
109 value = **sqlite_header.suggested_cache_size()
110 ));
111
112 output.push_str(&format!(
113 "{label: <w$}{value}\n",
114 w = LABEL_WIDTH,
115 label = "autovacuum top root:",
116 value = **sqlite_header
117 .incremental_vacuum_settings()
118 .largest_root_btree_page()
119 ));
120
121 output.push_str(&format!(
122 "{label: <w$}{value}\n",
123 w = LABEL_WIDTH,
124 label = "incremental vacuum:",
125 value = u32::from(
126 sqlite_header
127 .incremental_vacuum_settings()
128 .incremental_vacuum_mode()
129 )
130 ));
131
132 output.push_str(&format!(
133 "{label: <w$}{value}\n",
134 w = LABEL_WIDTH,
135 label = "text encoding:",
136 value = sqlite_header.database_text_encoding()
137 ));
138
139 output.push_str(&format!(
140 "{label: <w$}{value}\n",
141 w = LABEL_WIDTH,
142 label = "user version:",
143 value = **sqlite_header.user_version()
144 ));
145
146 output.push_str(&format!(
147 "{label: <w$}{value}\n",
148 w = LABEL_WIDTH,
149 label = "application id:",
150 value = **sqlite_header.application_id()
151 ));
152
153 output.push_str(&format!(
154 "{label: <w$}{value}\n",
155 w = LABEL_WIDTH,
156 label = "software version:",
157 value = **sqlite_header.write_library_version()
158 ));
159
160 println!("{output}");
161 Ok(())
162 }
Sourcepub fn freelist_pages(&self) -> &FreeListPages
pub fn freelist_pages(&self) -> &FreeListPages
Examples found in repository?
examples/sqlite_info.rs (line 88)
36 fn print_sqlite_info(conn: &SqliteConnection) -> AppResult<()> {
37 const LABEL_WIDTH: usize = 21;
38
39 // TODO:
40 let sqlite_header = conn.runtime().header();
41
42 let mut output = "".to_owned();
43
44 output.push_str(&format!(
45 "{label: <w$}{value}\n",
46 w = LABEL_WIDTH,
47 label = "database page size:",
48 value = u32::from(sqlite_header.page_size())
49 ));
50 output.push_str(&format!(
51 "{label: <w$}{value}\n",
52 w = LABEL_WIDTH,
53 label = "write format:",
54 value =
55 u8::from(sqlite_header.file_format_version_numbers().write_version())
56 ));
57 output.push_str(&format!(
58 "{label: <w$}{value}\n",
59 w = LABEL_WIDTH,
60 label = "read format:",
61 value =
62 u8::from(sqlite_header.file_format_version_numbers().read_version())
63 ));
64 output.push_str(&format!(
65 "{label: <w$}{value}\n",
66 w = LABEL_WIDTH,
67 label = "reserved bytes:",
68 value = **sqlite_header.reserved_bytes_per_page()
69 ));
70 output.push_str(&format!(
71 "{label: <w$}{value}\n",
72 w = LABEL_WIDTH,
73 label = "file change counter:",
74 value = **sqlite_header.file_change_counter()
75 ));
76
77 output.push_str(&format!(
78 "{label: <w$}{value}\n",
79 w = LABEL_WIDTH,
80 label = "database page count:",
81 value = **sqlite_header.db_filesize_in_pages()
82 ));
83
84 output.push_str(&format!(
85 "{label: <w$}{value}\n",
86 w = LABEL_WIDTH,
87 label = "freelist page count:",
88 value = **sqlite_header.freelist_pages().total()
89 ));
90
91 output.push_str(&format!(
92 "{label: <w$}{value}\n",
93 w = LABEL_WIDTH,
94 label = "schema cookie:",
95 value = **sqlite_header.schema_cookie()
96 ));
97
98 output.push_str(&format!(
99 "{label: <w$}{value}\n",
100 w = LABEL_WIDTH,
101 label = "schema format:",
102 value = u32::from(sqlite_header.schema_format())
103 ));
104
105 output.push_str(&format!(
106 "{label: <w$}{value}\n",
107 w = LABEL_WIDTH,
108 label = "default cache size:",
109 value = **sqlite_header.suggested_cache_size()
110 ));
111
112 output.push_str(&format!(
113 "{label: <w$}{value}\n",
114 w = LABEL_WIDTH,
115 label = "autovacuum top root:",
116 value = **sqlite_header
117 .incremental_vacuum_settings()
118 .largest_root_btree_page()
119 ));
120
121 output.push_str(&format!(
122 "{label: <w$}{value}\n",
123 w = LABEL_WIDTH,
124 label = "incremental vacuum:",
125 value = u32::from(
126 sqlite_header
127 .incremental_vacuum_settings()
128 .incremental_vacuum_mode()
129 )
130 ));
131
132 output.push_str(&format!(
133 "{label: <w$}{value}\n",
134 w = LABEL_WIDTH,
135 label = "text encoding:",
136 value = sqlite_header.database_text_encoding()
137 ));
138
139 output.push_str(&format!(
140 "{label: <w$}{value}\n",
141 w = LABEL_WIDTH,
142 label = "user version:",
143 value = **sqlite_header.user_version()
144 ));
145
146 output.push_str(&format!(
147 "{label: <w$}{value}\n",
148 w = LABEL_WIDTH,
149 label = "application id:",
150 value = **sqlite_header.application_id()
151 ));
152
153 output.push_str(&format!(
154 "{label: <w$}{value}\n",
155 w = LABEL_WIDTH,
156 label = "software version:",
157 value = **sqlite_header.write_library_version()
158 ));
159
160 println!("{output}");
161 Ok(())
162 }
Examples found in repository?
examples/sqlite_info.rs (line 95)
36 fn print_sqlite_info(conn: &SqliteConnection) -> AppResult<()> {
37 const LABEL_WIDTH: usize = 21;
38
39 // TODO:
40 let sqlite_header = conn.runtime().header();
41
42 let mut output = "".to_owned();
43
44 output.push_str(&format!(
45 "{label: <w$}{value}\n",
46 w = LABEL_WIDTH,
47 label = "database page size:",
48 value = u32::from(sqlite_header.page_size())
49 ));
50 output.push_str(&format!(
51 "{label: <w$}{value}\n",
52 w = LABEL_WIDTH,
53 label = "write format:",
54 value =
55 u8::from(sqlite_header.file_format_version_numbers().write_version())
56 ));
57 output.push_str(&format!(
58 "{label: <w$}{value}\n",
59 w = LABEL_WIDTH,
60 label = "read format:",
61 value =
62 u8::from(sqlite_header.file_format_version_numbers().read_version())
63 ));
64 output.push_str(&format!(
65 "{label: <w$}{value}\n",
66 w = LABEL_WIDTH,
67 label = "reserved bytes:",
68 value = **sqlite_header.reserved_bytes_per_page()
69 ));
70 output.push_str(&format!(
71 "{label: <w$}{value}\n",
72 w = LABEL_WIDTH,
73 label = "file change counter:",
74 value = **sqlite_header.file_change_counter()
75 ));
76
77 output.push_str(&format!(
78 "{label: <w$}{value}\n",
79 w = LABEL_WIDTH,
80 label = "database page count:",
81 value = **sqlite_header.db_filesize_in_pages()
82 ));
83
84 output.push_str(&format!(
85 "{label: <w$}{value}\n",
86 w = LABEL_WIDTH,
87 label = "freelist page count:",
88 value = **sqlite_header.freelist_pages().total()
89 ));
90
91 output.push_str(&format!(
92 "{label: <w$}{value}\n",
93 w = LABEL_WIDTH,
94 label = "schema cookie:",
95 value = **sqlite_header.schema_cookie()
96 ));
97
98 output.push_str(&format!(
99 "{label: <w$}{value}\n",
100 w = LABEL_WIDTH,
101 label = "schema format:",
102 value = u32::from(sqlite_header.schema_format())
103 ));
104
105 output.push_str(&format!(
106 "{label: <w$}{value}\n",
107 w = LABEL_WIDTH,
108 label = "default cache size:",
109 value = **sqlite_header.suggested_cache_size()
110 ));
111
112 output.push_str(&format!(
113 "{label: <w$}{value}\n",
114 w = LABEL_WIDTH,
115 label = "autovacuum top root:",
116 value = **sqlite_header
117 .incremental_vacuum_settings()
118 .largest_root_btree_page()
119 ));
120
121 output.push_str(&format!(
122 "{label: <w$}{value}\n",
123 w = LABEL_WIDTH,
124 label = "incremental vacuum:",
125 value = u32::from(
126 sqlite_header
127 .incremental_vacuum_settings()
128 .incremental_vacuum_mode()
129 )
130 ));
131
132 output.push_str(&format!(
133 "{label: <w$}{value}\n",
134 w = LABEL_WIDTH,
135 label = "text encoding:",
136 value = sqlite_header.database_text_encoding()
137 ));
138
139 output.push_str(&format!(
140 "{label: <w$}{value}\n",
141 w = LABEL_WIDTH,
142 label = "user version:",
143 value = **sqlite_header.user_version()
144 ));
145
146 output.push_str(&format!(
147 "{label: <w$}{value}\n",
148 w = LABEL_WIDTH,
149 label = "application id:",
150 value = **sqlite_header.application_id()
151 ));
152
153 output.push_str(&format!(
154 "{label: <w$}{value}\n",
155 w = LABEL_WIDTH,
156 label = "software version:",
157 value = **sqlite_header.write_library_version()
158 ));
159
160 println!("{output}");
161 Ok(())
162 }
Sourcepub fn schema_format(&self) -> &SchemaFormat
pub fn schema_format(&self) -> &SchemaFormat
Examples found in repository?
examples/sqlite_info.rs (line 102)
36 fn print_sqlite_info(conn: &SqliteConnection) -> AppResult<()> {
37 const LABEL_WIDTH: usize = 21;
38
39 // TODO:
40 let sqlite_header = conn.runtime().header();
41
42 let mut output = "".to_owned();
43
44 output.push_str(&format!(
45 "{label: <w$}{value}\n",
46 w = LABEL_WIDTH,
47 label = "database page size:",
48 value = u32::from(sqlite_header.page_size())
49 ));
50 output.push_str(&format!(
51 "{label: <w$}{value}\n",
52 w = LABEL_WIDTH,
53 label = "write format:",
54 value =
55 u8::from(sqlite_header.file_format_version_numbers().write_version())
56 ));
57 output.push_str(&format!(
58 "{label: <w$}{value}\n",
59 w = LABEL_WIDTH,
60 label = "read format:",
61 value =
62 u8::from(sqlite_header.file_format_version_numbers().read_version())
63 ));
64 output.push_str(&format!(
65 "{label: <w$}{value}\n",
66 w = LABEL_WIDTH,
67 label = "reserved bytes:",
68 value = **sqlite_header.reserved_bytes_per_page()
69 ));
70 output.push_str(&format!(
71 "{label: <w$}{value}\n",
72 w = LABEL_WIDTH,
73 label = "file change counter:",
74 value = **sqlite_header.file_change_counter()
75 ));
76
77 output.push_str(&format!(
78 "{label: <w$}{value}\n",
79 w = LABEL_WIDTH,
80 label = "database page count:",
81 value = **sqlite_header.db_filesize_in_pages()
82 ));
83
84 output.push_str(&format!(
85 "{label: <w$}{value}\n",
86 w = LABEL_WIDTH,
87 label = "freelist page count:",
88 value = **sqlite_header.freelist_pages().total()
89 ));
90
91 output.push_str(&format!(
92 "{label: <w$}{value}\n",
93 w = LABEL_WIDTH,
94 label = "schema cookie:",
95 value = **sqlite_header.schema_cookie()
96 ));
97
98 output.push_str(&format!(
99 "{label: <w$}{value}\n",
100 w = LABEL_WIDTH,
101 label = "schema format:",
102 value = u32::from(sqlite_header.schema_format())
103 ));
104
105 output.push_str(&format!(
106 "{label: <w$}{value}\n",
107 w = LABEL_WIDTH,
108 label = "default cache size:",
109 value = **sqlite_header.suggested_cache_size()
110 ));
111
112 output.push_str(&format!(
113 "{label: <w$}{value}\n",
114 w = LABEL_WIDTH,
115 label = "autovacuum top root:",
116 value = **sqlite_header
117 .incremental_vacuum_settings()
118 .largest_root_btree_page()
119 ));
120
121 output.push_str(&format!(
122 "{label: <w$}{value}\n",
123 w = LABEL_WIDTH,
124 label = "incremental vacuum:",
125 value = u32::from(
126 sqlite_header
127 .incremental_vacuum_settings()
128 .incremental_vacuum_mode()
129 )
130 ));
131
132 output.push_str(&format!(
133 "{label: <w$}{value}\n",
134 w = LABEL_WIDTH,
135 label = "text encoding:",
136 value = sqlite_header.database_text_encoding()
137 ));
138
139 output.push_str(&format!(
140 "{label: <w$}{value}\n",
141 w = LABEL_WIDTH,
142 label = "user version:",
143 value = **sqlite_header.user_version()
144 ));
145
146 output.push_str(&format!(
147 "{label: <w$}{value}\n",
148 w = LABEL_WIDTH,
149 label = "application id:",
150 value = **sqlite_header.application_id()
151 ));
152
153 output.push_str(&format!(
154 "{label: <w$}{value}\n",
155 w = LABEL_WIDTH,
156 label = "software version:",
157 value = **sqlite_header.write_library_version()
158 ));
159
160 println!("{output}");
161 Ok(())
162 }
Sourcepub fn suggested_cache_size(&self) -> &SuggestedCacheSize
pub fn suggested_cache_size(&self) -> &SuggestedCacheSize
Examples found in repository?
examples/sqlite_info.rs (line 109)
36 fn print_sqlite_info(conn: &SqliteConnection) -> AppResult<()> {
37 const LABEL_WIDTH: usize = 21;
38
39 // TODO:
40 let sqlite_header = conn.runtime().header();
41
42 let mut output = "".to_owned();
43
44 output.push_str(&format!(
45 "{label: <w$}{value}\n",
46 w = LABEL_WIDTH,
47 label = "database page size:",
48 value = u32::from(sqlite_header.page_size())
49 ));
50 output.push_str(&format!(
51 "{label: <w$}{value}\n",
52 w = LABEL_WIDTH,
53 label = "write format:",
54 value =
55 u8::from(sqlite_header.file_format_version_numbers().write_version())
56 ));
57 output.push_str(&format!(
58 "{label: <w$}{value}\n",
59 w = LABEL_WIDTH,
60 label = "read format:",
61 value =
62 u8::from(sqlite_header.file_format_version_numbers().read_version())
63 ));
64 output.push_str(&format!(
65 "{label: <w$}{value}\n",
66 w = LABEL_WIDTH,
67 label = "reserved bytes:",
68 value = **sqlite_header.reserved_bytes_per_page()
69 ));
70 output.push_str(&format!(
71 "{label: <w$}{value}\n",
72 w = LABEL_WIDTH,
73 label = "file change counter:",
74 value = **sqlite_header.file_change_counter()
75 ));
76
77 output.push_str(&format!(
78 "{label: <w$}{value}\n",
79 w = LABEL_WIDTH,
80 label = "database page count:",
81 value = **sqlite_header.db_filesize_in_pages()
82 ));
83
84 output.push_str(&format!(
85 "{label: <w$}{value}\n",
86 w = LABEL_WIDTH,
87 label = "freelist page count:",
88 value = **sqlite_header.freelist_pages().total()
89 ));
90
91 output.push_str(&format!(
92 "{label: <w$}{value}\n",
93 w = LABEL_WIDTH,
94 label = "schema cookie:",
95 value = **sqlite_header.schema_cookie()
96 ));
97
98 output.push_str(&format!(
99 "{label: <w$}{value}\n",
100 w = LABEL_WIDTH,
101 label = "schema format:",
102 value = u32::from(sqlite_header.schema_format())
103 ));
104
105 output.push_str(&format!(
106 "{label: <w$}{value}\n",
107 w = LABEL_WIDTH,
108 label = "default cache size:",
109 value = **sqlite_header.suggested_cache_size()
110 ));
111
112 output.push_str(&format!(
113 "{label: <w$}{value}\n",
114 w = LABEL_WIDTH,
115 label = "autovacuum top root:",
116 value = **sqlite_header
117 .incremental_vacuum_settings()
118 .largest_root_btree_page()
119 ));
120
121 output.push_str(&format!(
122 "{label: <w$}{value}\n",
123 w = LABEL_WIDTH,
124 label = "incremental vacuum:",
125 value = u32::from(
126 sqlite_header
127 .incremental_vacuum_settings()
128 .incremental_vacuum_mode()
129 )
130 ));
131
132 output.push_str(&format!(
133 "{label: <w$}{value}\n",
134 w = LABEL_WIDTH,
135 label = "text encoding:",
136 value = sqlite_header.database_text_encoding()
137 ));
138
139 output.push_str(&format!(
140 "{label: <w$}{value}\n",
141 w = LABEL_WIDTH,
142 label = "user version:",
143 value = **sqlite_header.user_version()
144 ));
145
146 output.push_str(&format!(
147 "{label: <w$}{value}\n",
148 w = LABEL_WIDTH,
149 label = "application id:",
150 value = **sqlite_header.application_id()
151 ));
152
153 output.push_str(&format!(
154 "{label: <w$}{value}\n",
155 w = LABEL_WIDTH,
156 label = "software version:",
157 value = **sqlite_header.write_library_version()
158 ));
159
160 println!("{output}");
161 Ok(())
162 }
Sourcepub fn incremental_vacuum_settings(&self) -> &IncrementalVacuumSettings
pub fn incremental_vacuum_settings(&self) -> &IncrementalVacuumSettings
Examples found in repository?
examples/sqlite_info.rs (line 117)
36 fn print_sqlite_info(conn: &SqliteConnection) -> AppResult<()> {
37 const LABEL_WIDTH: usize = 21;
38
39 // TODO:
40 let sqlite_header = conn.runtime().header();
41
42 let mut output = "".to_owned();
43
44 output.push_str(&format!(
45 "{label: <w$}{value}\n",
46 w = LABEL_WIDTH,
47 label = "database page size:",
48 value = u32::from(sqlite_header.page_size())
49 ));
50 output.push_str(&format!(
51 "{label: <w$}{value}\n",
52 w = LABEL_WIDTH,
53 label = "write format:",
54 value =
55 u8::from(sqlite_header.file_format_version_numbers().write_version())
56 ));
57 output.push_str(&format!(
58 "{label: <w$}{value}\n",
59 w = LABEL_WIDTH,
60 label = "read format:",
61 value =
62 u8::from(sqlite_header.file_format_version_numbers().read_version())
63 ));
64 output.push_str(&format!(
65 "{label: <w$}{value}\n",
66 w = LABEL_WIDTH,
67 label = "reserved bytes:",
68 value = **sqlite_header.reserved_bytes_per_page()
69 ));
70 output.push_str(&format!(
71 "{label: <w$}{value}\n",
72 w = LABEL_WIDTH,
73 label = "file change counter:",
74 value = **sqlite_header.file_change_counter()
75 ));
76
77 output.push_str(&format!(
78 "{label: <w$}{value}\n",
79 w = LABEL_WIDTH,
80 label = "database page count:",
81 value = **sqlite_header.db_filesize_in_pages()
82 ));
83
84 output.push_str(&format!(
85 "{label: <w$}{value}\n",
86 w = LABEL_WIDTH,
87 label = "freelist page count:",
88 value = **sqlite_header.freelist_pages().total()
89 ));
90
91 output.push_str(&format!(
92 "{label: <w$}{value}\n",
93 w = LABEL_WIDTH,
94 label = "schema cookie:",
95 value = **sqlite_header.schema_cookie()
96 ));
97
98 output.push_str(&format!(
99 "{label: <w$}{value}\n",
100 w = LABEL_WIDTH,
101 label = "schema format:",
102 value = u32::from(sqlite_header.schema_format())
103 ));
104
105 output.push_str(&format!(
106 "{label: <w$}{value}\n",
107 w = LABEL_WIDTH,
108 label = "default cache size:",
109 value = **sqlite_header.suggested_cache_size()
110 ));
111
112 output.push_str(&format!(
113 "{label: <w$}{value}\n",
114 w = LABEL_WIDTH,
115 label = "autovacuum top root:",
116 value = **sqlite_header
117 .incremental_vacuum_settings()
118 .largest_root_btree_page()
119 ));
120
121 output.push_str(&format!(
122 "{label: <w$}{value}\n",
123 w = LABEL_WIDTH,
124 label = "incremental vacuum:",
125 value = u32::from(
126 sqlite_header
127 .incremental_vacuum_settings()
128 .incremental_vacuum_mode()
129 )
130 ));
131
132 output.push_str(&format!(
133 "{label: <w$}{value}\n",
134 w = LABEL_WIDTH,
135 label = "text encoding:",
136 value = sqlite_header.database_text_encoding()
137 ));
138
139 output.push_str(&format!(
140 "{label: <w$}{value}\n",
141 w = LABEL_WIDTH,
142 label = "user version:",
143 value = **sqlite_header.user_version()
144 ));
145
146 output.push_str(&format!(
147 "{label: <w$}{value}\n",
148 w = LABEL_WIDTH,
149 label = "application id:",
150 value = **sqlite_header.application_id()
151 ));
152
153 output.push_str(&format!(
154 "{label: <w$}{value}\n",
155 w = LABEL_WIDTH,
156 label = "software version:",
157 value = **sqlite_header.write_library_version()
158 ));
159
160 println!("{output}");
161 Ok(())
162 }
Sourcepub fn database_text_encoding(&self) -> &DatabaseTextEncoding
pub fn database_text_encoding(&self) -> &DatabaseTextEncoding
Examples found in repository?
examples/sqlite_info.rs (line 136)
36 fn print_sqlite_info(conn: &SqliteConnection) -> AppResult<()> {
37 const LABEL_WIDTH: usize = 21;
38
39 // TODO:
40 let sqlite_header = conn.runtime().header();
41
42 let mut output = "".to_owned();
43
44 output.push_str(&format!(
45 "{label: <w$}{value}\n",
46 w = LABEL_WIDTH,
47 label = "database page size:",
48 value = u32::from(sqlite_header.page_size())
49 ));
50 output.push_str(&format!(
51 "{label: <w$}{value}\n",
52 w = LABEL_WIDTH,
53 label = "write format:",
54 value =
55 u8::from(sqlite_header.file_format_version_numbers().write_version())
56 ));
57 output.push_str(&format!(
58 "{label: <w$}{value}\n",
59 w = LABEL_WIDTH,
60 label = "read format:",
61 value =
62 u8::from(sqlite_header.file_format_version_numbers().read_version())
63 ));
64 output.push_str(&format!(
65 "{label: <w$}{value}\n",
66 w = LABEL_WIDTH,
67 label = "reserved bytes:",
68 value = **sqlite_header.reserved_bytes_per_page()
69 ));
70 output.push_str(&format!(
71 "{label: <w$}{value}\n",
72 w = LABEL_WIDTH,
73 label = "file change counter:",
74 value = **sqlite_header.file_change_counter()
75 ));
76
77 output.push_str(&format!(
78 "{label: <w$}{value}\n",
79 w = LABEL_WIDTH,
80 label = "database page count:",
81 value = **sqlite_header.db_filesize_in_pages()
82 ));
83
84 output.push_str(&format!(
85 "{label: <w$}{value}\n",
86 w = LABEL_WIDTH,
87 label = "freelist page count:",
88 value = **sqlite_header.freelist_pages().total()
89 ));
90
91 output.push_str(&format!(
92 "{label: <w$}{value}\n",
93 w = LABEL_WIDTH,
94 label = "schema cookie:",
95 value = **sqlite_header.schema_cookie()
96 ));
97
98 output.push_str(&format!(
99 "{label: <w$}{value}\n",
100 w = LABEL_WIDTH,
101 label = "schema format:",
102 value = u32::from(sqlite_header.schema_format())
103 ));
104
105 output.push_str(&format!(
106 "{label: <w$}{value}\n",
107 w = LABEL_WIDTH,
108 label = "default cache size:",
109 value = **sqlite_header.suggested_cache_size()
110 ));
111
112 output.push_str(&format!(
113 "{label: <w$}{value}\n",
114 w = LABEL_WIDTH,
115 label = "autovacuum top root:",
116 value = **sqlite_header
117 .incremental_vacuum_settings()
118 .largest_root_btree_page()
119 ));
120
121 output.push_str(&format!(
122 "{label: <w$}{value}\n",
123 w = LABEL_WIDTH,
124 label = "incremental vacuum:",
125 value = u32::from(
126 sqlite_header
127 .incremental_vacuum_settings()
128 .incremental_vacuum_mode()
129 )
130 ));
131
132 output.push_str(&format!(
133 "{label: <w$}{value}\n",
134 w = LABEL_WIDTH,
135 label = "text encoding:",
136 value = sqlite_header.database_text_encoding()
137 ));
138
139 output.push_str(&format!(
140 "{label: <w$}{value}\n",
141 w = LABEL_WIDTH,
142 label = "user version:",
143 value = **sqlite_header.user_version()
144 ));
145
146 output.push_str(&format!(
147 "{label: <w$}{value}\n",
148 w = LABEL_WIDTH,
149 label = "application id:",
150 value = **sqlite_header.application_id()
151 ));
152
153 output.push_str(&format!(
154 "{label: <w$}{value}\n",
155 w = LABEL_WIDTH,
156 label = "software version:",
157 value = **sqlite_header.write_library_version()
158 ));
159
160 println!("{output}");
161 Ok(())
162 }
Sourcepub fn user_version(&self) -> &UserVersion
pub fn user_version(&self) -> &UserVersion
Examples found in repository?
examples/sqlite_info.rs (line 143)
36 fn print_sqlite_info(conn: &SqliteConnection) -> AppResult<()> {
37 const LABEL_WIDTH: usize = 21;
38
39 // TODO:
40 let sqlite_header = conn.runtime().header();
41
42 let mut output = "".to_owned();
43
44 output.push_str(&format!(
45 "{label: <w$}{value}\n",
46 w = LABEL_WIDTH,
47 label = "database page size:",
48 value = u32::from(sqlite_header.page_size())
49 ));
50 output.push_str(&format!(
51 "{label: <w$}{value}\n",
52 w = LABEL_WIDTH,
53 label = "write format:",
54 value =
55 u8::from(sqlite_header.file_format_version_numbers().write_version())
56 ));
57 output.push_str(&format!(
58 "{label: <w$}{value}\n",
59 w = LABEL_WIDTH,
60 label = "read format:",
61 value =
62 u8::from(sqlite_header.file_format_version_numbers().read_version())
63 ));
64 output.push_str(&format!(
65 "{label: <w$}{value}\n",
66 w = LABEL_WIDTH,
67 label = "reserved bytes:",
68 value = **sqlite_header.reserved_bytes_per_page()
69 ));
70 output.push_str(&format!(
71 "{label: <w$}{value}\n",
72 w = LABEL_WIDTH,
73 label = "file change counter:",
74 value = **sqlite_header.file_change_counter()
75 ));
76
77 output.push_str(&format!(
78 "{label: <w$}{value}\n",
79 w = LABEL_WIDTH,
80 label = "database page count:",
81 value = **sqlite_header.db_filesize_in_pages()
82 ));
83
84 output.push_str(&format!(
85 "{label: <w$}{value}\n",
86 w = LABEL_WIDTH,
87 label = "freelist page count:",
88 value = **sqlite_header.freelist_pages().total()
89 ));
90
91 output.push_str(&format!(
92 "{label: <w$}{value}\n",
93 w = LABEL_WIDTH,
94 label = "schema cookie:",
95 value = **sqlite_header.schema_cookie()
96 ));
97
98 output.push_str(&format!(
99 "{label: <w$}{value}\n",
100 w = LABEL_WIDTH,
101 label = "schema format:",
102 value = u32::from(sqlite_header.schema_format())
103 ));
104
105 output.push_str(&format!(
106 "{label: <w$}{value}\n",
107 w = LABEL_WIDTH,
108 label = "default cache size:",
109 value = **sqlite_header.suggested_cache_size()
110 ));
111
112 output.push_str(&format!(
113 "{label: <w$}{value}\n",
114 w = LABEL_WIDTH,
115 label = "autovacuum top root:",
116 value = **sqlite_header
117 .incremental_vacuum_settings()
118 .largest_root_btree_page()
119 ));
120
121 output.push_str(&format!(
122 "{label: <w$}{value}\n",
123 w = LABEL_WIDTH,
124 label = "incremental vacuum:",
125 value = u32::from(
126 sqlite_header
127 .incremental_vacuum_settings()
128 .incremental_vacuum_mode()
129 )
130 ));
131
132 output.push_str(&format!(
133 "{label: <w$}{value}\n",
134 w = LABEL_WIDTH,
135 label = "text encoding:",
136 value = sqlite_header.database_text_encoding()
137 ));
138
139 output.push_str(&format!(
140 "{label: <w$}{value}\n",
141 w = LABEL_WIDTH,
142 label = "user version:",
143 value = **sqlite_header.user_version()
144 ));
145
146 output.push_str(&format!(
147 "{label: <w$}{value}\n",
148 w = LABEL_WIDTH,
149 label = "application id:",
150 value = **sqlite_header.application_id()
151 ));
152
153 output.push_str(&format!(
154 "{label: <w$}{value}\n",
155 w = LABEL_WIDTH,
156 label = "software version:",
157 value = **sqlite_header.write_library_version()
158 ));
159
160 println!("{output}");
161 Ok(())
162 }
Sourcepub fn application_id(&self) -> &ApplicationId
pub fn application_id(&self) -> &ApplicationId
Examples found in repository?
examples/sqlite_info.rs (line 150)
36 fn print_sqlite_info(conn: &SqliteConnection) -> AppResult<()> {
37 const LABEL_WIDTH: usize = 21;
38
39 // TODO:
40 let sqlite_header = conn.runtime().header();
41
42 let mut output = "".to_owned();
43
44 output.push_str(&format!(
45 "{label: <w$}{value}\n",
46 w = LABEL_WIDTH,
47 label = "database page size:",
48 value = u32::from(sqlite_header.page_size())
49 ));
50 output.push_str(&format!(
51 "{label: <w$}{value}\n",
52 w = LABEL_WIDTH,
53 label = "write format:",
54 value =
55 u8::from(sqlite_header.file_format_version_numbers().write_version())
56 ));
57 output.push_str(&format!(
58 "{label: <w$}{value}\n",
59 w = LABEL_WIDTH,
60 label = "read format:",
61 value =
62 u8::from(sqlite_header.file_format_version_numbers().read_version())
63 ));
64 output.push_str(&format!(
65 "{label: <w$}{value}\n",
66 w = LABEL_WIDTH,
67 label = "reserved bytes:",
68 value = **sqlite_header.reserved_bytes_per_page()
69 ));
70 output.push_str(&format!(
71 "{label: <w$}{value}\n",
72 w = LABEL_WIDTH,
73 label = "file change counter:",
74 value = **sqlite_header.file_change_counter()
75 ));
76
77 output.push_str(&format!(
78 "{label: <w$}{value}\n",
79 w = LABEL_WIDTH,
80 label = "database page count:",
81 value = **sqlite_header.db_filesize_in_pages()
82 ));
83
84 output.push_str(&format!(
85 "{label: <w$}{value}\n",
86 w = LABEL_WIDTH,
87 label = "freelist page count:",
88 value = **sqlite_header.freelist_pages().total()
89 ));
90
91 output.push_str(&format!(
92 "{label: <w$}{value}\n",
93 w = LABEL_WIDTH,
94 label = "schema cookie:",
95 value = **sqlite_header.schema_cookie()
96 ));
97
98 output.push_str(&format!(
99 "{label: <w$}{value}\n",
100 w = LABEL_WIDTH,
101 label = "schema format:",
102 value = u32::from(sqlite_header.schema_format())
103 ));
104
105 output.push_str(&format!(
106 "{label: <w$}{value}\n",
107 w = LABEL_WIDTH,
108 label = "default cache size:",
109 value = **sqlite_header.suggested_cache_size()
110 ));
111
112 output.push_str(&format!(
113 "{label: <w$}{value}\n",
114 w = LABEL_WIDTH,
115 label = "autovacuum top root:",
116 value = **sqlite_header
117 .incremental_vacuum_settings()
118 .largest_root_btree_page()
119 ));
120
121 output.push_str(&format!(
122 "{label: <w$}{value}\n",
123 w = LABEL_WIDTH,
124 label = "incremental vacuum:",
125 value = u32::from(
126 sqlite_header
127 .incremental_vacuum_settings()
128 .incremental_vacuum_mode()
129 )
130 ));
131
132 output.push_str(&format!(
133 "{label: <w$}{value}\n",
134 w = LABEL_WIDTH,
135 label = "text encoding:",
136 value = sqlite_header.database_text_encoding()
137 ));
138
139 output.push_str(&format!(
140 "{label: <w$}{value}\n",
141 w = LABEL_WIDTH,
142 label = "user version:",
143 value = **sqlite_header.user_version()
144 ));
145
146 output.push_str(&format!(
147 "{label: <w$}{value}\n",
148 w = LABEL_WIDTH,
149 label = "application id:",
150 value = **sqlite_header.application_id()
151 ));
152
153 output.push_str(&format!(
154 "{label: <w$}{value}\n",
155 w = LABEL_WIDTH,
156 label = "software version:",
157 value = **sqlite_header.write_library_version()
158 ));
159
160 println!("{output}");
161 Ok(())
162 }
pub fn reserved_for_expansion(&self) -> &ReservedForExpansion
pub fn version_valid_for(&self) -> &VersionValidFor
Sourcepub fn write_library_version(&self) -> &WriteLibraryVersion
pub fn write_library_version(&self) -> &WriteLibraryVersion
Examples found in repository?
examples/sqlite_info.rs (line 157)
36 fn print_sqlite_info(conn: &SqliteConnection) -> AppResult<()> {
37 const LABEL_WIDTH: usize = 21;
38
39 // TODO:
40 let sqlite_header = conn.runtime().header();
41
42 let mut output = "".to_owned();
43
44 output.push_str(&format!(
45 "{label: <w$}{value}\n",
46 w = LABEL_WIDTH,
47 label = "database page size:",
48 value = u32::from(sqlite_header.page_size())
49 ));
50 output.push_str(&format!(
51 "{label: <w$}{value}\n",
52 w = LABEL_WIDTH,
53 label = "write format:",
54 value =
55 u8::from(sqlite_header.file_format_version_numbers().write_version())
56 ));
57 output.push_str(&format!(
58 "{label: <w$}{value}\n",
59 w = LABEL_WIDTH,
60 label = "read format:",
61 value =
62 u8::from(sqlite_header.file_format_version_numbers().read_version())
63 ));
64 output.push_str(&format!(
65 "{label: <w$}{value}\n",
66 w = LABEL_WIDTH,
67 label = "reserved bytes:",
68 value = **sqlite_header.reserved_bytes_per_page()
69 ));
70 output.push_str(&format!(
71 "{label: <w$}{value}\n",
72 w = LABEL_WIDTH,
73 label = "file change counter:",
74 value = **sqlite_header.file_change_counter()
75 ));
76
77 output.push_str(&format!(
78 "{label: <w$}{value}\n",
79 w = LABEL_WIDTH,
80 label = "database page count:",
81 value = **sqlite_header.db_filesize_in_pages()
82 ));
83
84 output.push_str(&format!(
85 "{label: <w$}{value}\n",
86 w = LABEL_WIDTH,
87 label = "freelist page count:",
88 value = **sqlite_header.freelist_pages().total()
89 ));
90
91 output.push_str(&format!(
92 "{label: <w$}{value}\n",
93 w = LABEL_WIDTH,
94 label = "schema cookie:",
95 value = **sqlite_header.schema_cookie()
96 ));
97
98 output.push_str(&format!(
99 "{label: <w$}{value}\n",
100 w = LABEL_WIDTH,
101 label = "schema format:",
102 value = u32::from(sqlite_header.schema_format())
103 ));
104
105 output.push_str(&format!(
106 "{label: <w$}{value}\n",
107 w = LABEL_WIDTH,
108 label = "default cache size:",
109 value = **sqlite_header.suggested_cache_size()
110 ));
111
112 output.push_str(&format!(
113 "{label: <w$}{value}\n",
114 w = LABEL_WIDTH,
115 label = "autovacuum top root:",
116 value = **sqlite_header
117 .incremental_vacuum_settings()
118 .largest_root_btree_page()
119 ));
120
121 output.push_str(&format!(
122 "{label: <w$}{value}\n",
123 w = LABEL_WIDTH,
124 label = "incremental vacuum:",
125 value = u32::from(
126 sqlite_header
127 .incremental_vacuum_settings()
128 .incremental_vacuum_mode()
129 )
130 ));
131
132 output.push_str(&format!(
133 "{label: <w$}{value}\n",
134 w = LABEL_WIDTH,
135 label = "text encoding:",
136 value = sqlite_header.database_text_encoding()
137 ));
138
139 output.push_str(&format!(
140 "{label: <w$}{value}\n",
141 w = LABEL_WIDTH,
142 label = "user version:",
143 value = **sqlite_header.user_version()
144 ));
145
146 output.push_str(&format!(
147 "{label: <w$}{value}\n",
148 w = LABEL_WIDTH,
149 label = "application id:",
150 value = **sqlite_header.application_id()
151 ));
152
153 output.push_str(&format!(
154 "{label: <w$}{value}\n",
155 w = LABEL_WIDTH,
156 label = "software version:",
157 value = **sqlite_header.write_library_version()
158 ));
159
160 println!("{output}");
161 Ok(())
162 }
Trait Implementations§
Source§impl Debug for SqliteHeader
impl Debug for SqliteHeader
Source§impl Default for SqliteHeader
impl Default for SqliteHeader
Source§fn default() -> SqliteHeader
fn default() -> SqliteHeader
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SqliteHeader
impl RefUnwindSafe for SqliteHeader
impl Send for SqliteHeader
impl Sync for SqliteHeader
impl Unpin for SqliteHeader
impl UnwindSafe for SqliteHeader
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more