[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Git][snapshot-team/snapshot][master] 2 commits: Add DB version 24: adding indexes for node_id in symlink and directory tables



Title: GitLab

Baptiste Beauplat pushed to branch master at snapshot / snapshot

Commits:

  • 6376a325
    by Philipp Kern at 2024-11-19T14:58:32+01:00
    Add DB version 24: adding indexes for node_id in symlink and directory tables
    
    Otherwise we were seeing full scans from readdir().
    
  • ba691c00
    by Baptiste Beauplat at 2024-11-19T20:09:00+01:00
    Merge branch 'snapshot-db-upgrade'
    
    Signed-off-by: Baptiste Beauplat <lyknode@debian.org>
    

1 changed file:

Changes:

  • db/upgrade_24.py
    1
    +#!/usr/bin/python3
    
    2
    +#
    
    3
    +# Copyright (c) 2009 Peter Palfrader
    
    4
    +#
    
    5
    +# Permission is hereby granted, free of charge, to any person obtaining a copy
    
    6
    +# of this software and associated documentation files (the "Software"), to deal
    
    7
    +# in the Software without restriction, including without limitation the rights
    
    8
    +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    
    9
    +# copies of the Software, and to permit persons to whom the Software is
    
    10
    +# furnished to do so, subject to the following conditions:
    
    11
    +#
    
    12
    +# The above copyright notice and this permission notice shall be included in
    
    13
    +# all copies or substantial portions of the Software.
    
    14
    +#
    
    15
    +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    
    16
    +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    
    17
    +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    
    18
    +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    
    19
    +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    
    20
    +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    
    21
    +# SOFTWARE.
    
    22
    +
    
    23
    +def upgrade(db):
    
    24
    +    db.execute("""
    
    25
    +        CREATE INDEX IF NOT EXISTS
    
    26
    +            symlink_idx_node_id ON symlink USING btree (node_id);
    
    27
    +        CREATE INDEX IF NOT EXISTS
    
    28
    +            directory_idx_node_id ON directory USING btree (node_id);
    
    29
    +        """)
    
    30
    +
    
    31
    +    db.execute("UPDATE config SET value='24' WHERE name='db_revision' AND value='23'")
    
    32
    +
    
    33
    +# vim:set et:
    
    34
    +# vim:set ts=4:
    
    35
    +# vim:set shiftwidth=4:


  • Reply to: