diff --git a/src/rust/data/mysql_test_case_9.html b/src/rust/data/mysql_test_case_9.html index c9cc13b..7e1ab8f 100644 --- a/src/rust/data/mysql_test_case_9.html +++ b/src/rust/data/mysql_test_case_9.html @@ -134,3 +134,375 @@ class="literal">innodb_flush_log_at_trx_commit=1.

+
  • +

    + System variables that are true or false can be enabled at + server startup by naming them, or disabled by using a + --skip- prefix. For example, to enable or + disable the InnoDB adaptive hash index, you + can use + --innodb-adaptive-hash-index or + --skip-innodb-adaptive-hash-index + on the command line, or + innodb_adaptive_hash_index or + skip_innodb_adaptive_hash_index in an + option file. +

    +
  • +
  • +

    + innodb_buffer_pool_chunk_size +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Command-Line Format--innodb-buffer-pool-chunk-size=#
    System Variableinnodb_buffer_pool_chunk_size +
    ScopeGlobal
    DynamicNo
    SET_VAR Hint Applies + No
    TypeInteger
    Default Value134217728
    Minimum Value1048576
    Maximum Valueinnodb_buffer_pool_size / innodb_buffer_pool_instances
    Unitbytes
    +
    +

    + innodb_buffer_pool_chunk_size + defines the chunk size for InnoDB buffer + pool resizing operations. +

    +

    + To avoid copying all buffer pool pages during resizing + operations, the operation is performed in + chunks. By default, + innodb_buffer_pool_chunk_size + is 128MB (134217728 bytes). The number of pages contained in a + chunk depends on the value of + innodb_page_size. + innodb_buffer_pool_chunk_size + can be increased or decreased in units of 1MB (1048576 bytes). +

    +

    + The following conditions apply when altering the + innodb_buffer_pool_chunk_size + value: +

    +
    + +
    +
    +
    + Important +
    +

    + Care should be taken when changing + innodb_buffer_pool_chunk_size, + as changing this value can automatically increase the size + of the buffer pool. Before changing + innodb_buffer_pool_chunk_size, + calculate its effect on + innodb_buffer_pool_size to + ensure that the resulting buffer pool size is acceptable. +

    +
    +

    + To avoid potential performance issues, the number of chunks + (innodb_buffer_pool_size / + innodb_buffer_pool_chunk_size) + should not exceed 1000. +

    +

    + The innodb_buffer_pool_size + variable is dynamic, which permits resizing the buffer pool + while the server is online. However, the buffer pool size must + be equal to or a multiple of + innodb_buffer_pool_chunk_size + * + innodb_buffer_pool_instances, + and changing either of those variable settings requires + restarting the server. +

    +

    + See Section 17.8.3.1, “Configuring InnoDB Buffer + Pool Size” for more + information. +

    +
  • +
  • +

    + innodb_buffer_pool_chunk_size +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Command-Line Format--innodb-buffer-pool-chunk-size=#
    System Variableinnodb_buffer_pool_chunk_size +
    ScopeGlobal
    DynamicNo
    SET_VAR Hint Applies + No
    TypeInteger
    Default Value134217728
    Minimum Value1048576
    Maximum Valueinnodb_buffer_pool_size / innodb_buffer_pool_instances
    Unitbytes
    +
    +

    + innodb_buffer_pool_chunk_size + defines the chunk size for InnoDB buffer + pool resizing operations. +

    +

    + To avoid copying all buffer pool pages during resizing + operations, the operation is performed in + chunks. By default, + innodb_buffer_pool_chunk_size + is 128MB (134217728 bytes). The number of pages contained in a + chunk depends on the value of + innodb_page_size. + innodb_buffer_pool_chunk_size + can be increased or decreased in units of 1MB (1048576 bytes). +

    +

    + The following conditions apply when altering the + innodb_buffer_pool_chunk_size + value: +

    +
    + +
    +
    +
    + Important +
    +

    + Care should be taken when changing + innodb_buffer_pool_chunk_size, + as changing this value can automatically increase the size + of the buffer pool. Before changing + innodb_buffer_pool_chunk_size, + calculate its effect on + innodb_buffer_pool_size to + ensure that the resulting buffer pool size is acceptable. +

    +
    +

    + To avoid potential performance issues, the number of chunks + (innodb_buffer_pool_size / + innodb_buffer_pool_chunk_size) + should not exceed 1000. +

    +

    + The innodb_buffer_pool_size + variable is dynamic, which permits resizing the buffer pool + while the server is online. However, the buffer pool size must + be equal to or a multiple of + innodb_buffer_pool_chunk_size + * + innodb_buffer_pool_instances, + and changing either of those variable settings requires + restarting the server. +

    +

    + See Section 17.8.3.1, “Configuring InnoDB Buffer + Pool Size” for more + information. +

    +
  • diff --git a/src/rust/mysql.rs b/src/rust/mysql.rs index 5e945ea..5718464 100644 --- a/src/rust/mysql.rs +++ b/src/rust/mysql.rs @@ -225,8 +225,8 @@ fn process_link(li_node: Node) -> KbParsedEntry { }, name: match li_node.find(Class("link")).next() { Some(node) => Some(match node.text().split("=").next() { - Some(data) => data.to_string(), - None => node.text(), + Some(data) => data.trim().to_string(), + None => node.text().trim().to_string(), }), None => None, }, @@ -405,7 +405,12 @@ pub fn extract_mysql_from_text(qr: QueryResponse) -> Vec { &mut document .find(Class("listitem")) .filter(|li_node| filter_link(li_node)) - .map(|li_node| process_link(li_node)), + .map(|li_node| process_link(li_node)) + .filter(|e| e.name.is_some()) + .filter(|e| match &e.name { + Some(name) => name.starts_with("--") == false, + None => false, + }), ) .chain( match &mut document @@ -417,11 +422,6 @@ pub fn extract_mysql_from_text(qr: QueryResponse) -> Vec { Some(tbody) => tbody .find(Name("tr")) .map(|tr| process_summary_table_row(tr)) - .filter(|e| e.name.is_some()) - .filter(|e| match &e.name { - Some(name) => name.starts_with("--") == false, - None => false, - }) .collect::>(), None => vec![], }, @@ -1318,6 +1318,25 @@ mod tests { to_upwards: None, }), }, + KbParsedEntry { + cli: Some("--innodb-buffer-pool-chunk-size=#".to_string(),), + default: Some("134217728".to_string(),), + dynamic: Some(false,), + id: Some("sysvar_innodb_buffer_pool_chunk_size".to_string(),), + name: Some("innodb_buffer_pool_chunk_size".to_string(),), + range: Some(Range { + from: Some(1048576,), + from_f: None, + to: None, + to_f: None, + to_upwards: None, + }), + scope: Some(vec!["global".to_string()]), + r#type: Some("integer".to_string()), + valid_values: None, + has_description: false, + is_removed: false, + }, KbParsedEntry { cli: None, default: None,