Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
喜羊羊3508
Dak
提交
b04b1414
D
Dak
项目概览
喜羊羊3508
/
Dak
10 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Dak
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
GitCode(gitcode.net)2024年7月9日维护升级公告
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
b04b1414
编写于
6月 17, 2015
作者:
A
Ansgar Burchardt
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Change indices for {src,bin}_contents
上级
3eeb7044
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
87 addition
and
0 deletion
+87
-0
dak/dakdb/update109.py
dak/dakdb/update109.py
+87
-0
未找到文件。
dak/dakdb/update109.py
0 → 100644
浏览文件 @
b04b1414
#!/usr/bin/env python
# coding=utf8
"""
Change indices for {src,bin}_contents
@contact: Debian FTP Master <ftpmaster@debian.org>
@copyright: 2015, Ansgar Burchardt <ansgar@debian.org>
@license: GNU General Public License version 2 or later
"""
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
################################################################################
import
psycopg2
from
daklib.dak_exceptions
import
DBUpdateError
from
daklib.config
import
Config
statements
=
[
"""
DROP INDEX IF EXISTS ind_bin_contents_binary
"""
,
"""
ALTER TABLE bin_contents
DROP CONSTRAINT IF EXISTS bin_contents_pkey
"""
,
"""
CREATE UNIQUE INDEX bin_contents_pkey
ON bin_contents (binary_id, file) WITH (fillfactor = 80)
"""
,
"""
ALTER TABLE bin_contents
ADD PRIMARY KEY USING INDEX bin_contents_pkey
"""
,
"""
CLUSTER bin_contents USING bin_contents_pkey
"""
,
"""
DROP INDEX IF EXISTS src_contents_source_id_idx
"""
,
"""
ALTER TABLE src_contents
DROP CONSTRAINT IF EXISTS src_contents_pkey
"""
,
"""
CREATE UNIQUE INDEX src_contents_pkey
ON src_contents (source_id, file) WITH (fillfactor = 80)
"""
,
"""
ALTER TABLE src_contents
ADD PRIMARY KEY USING INDEX src_contents_pkey
"""
,
"""
CLUSTER src_contents USING src_contents_pkey
"""
,
]
################################################################################
def
do_update
(
self
):
print
__doc__
try
:
cnf
=
Config
()
c
=
self
.
db
.
cursor
()
for
stmt
in
statements
:
c
.
execute
(
stmt
)
c
.
execute
(
"UPDATE config SET value = '109' WHERE name = 'db_revision'"
)
self
.
db
.
commit
()
except
psycopg2
.
ProgrammingError
as
msg
:
self
.
db
.
rollback
()
raise
DBUpdateError
(
'Unable to apply sick update 109, rollback issued. Error message: {0}'
.
format
(
msg
))
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录