Исходный код вики XWiki Database Indexes Check

Редактировал(а) Dmitriy Rybakov 05.08.2025, 13:07

Скрыть последних авторов
Dmitriy Rybakov 1.1 1 {{velocity}}
2
3 #set($indexesDocument = "Admin.CheckIndexesSQL")
4
5 {{info}}This script reads from the page $indexesDocument and only reports not found indexes.{{/info}}
6
7 #if($hasProgramming)
8 #set($sqlTools = $xwiki.parseGroovyFromPage('Admin.SQLToolsGroovy'))
9 #set($system = $sqlTools.getXWikiDatabaseSystemFromDatabaseMetadata($xcontext))
10 Your database is: **$system**
11 #if($system == "HSQL Database Engine")
12 {{warning}}$system is not supported for this action{{/warning}}
13 #end
14
15 #if($services.wikimanager)
16 #set($dbs = $services.wikimanager.getAllWikis())
17 #else
18 #set($dbs = ["$xcontext.getDatabase()"])
19 #end
20
21 #set($indexes = $xwiki.getDocument($indexesDocument).getContent())
22
23 #foreach($wiki in $dbs)
24 == Working on wiki $wiki ==
25 #foreach($line in $indexes.split('\n'))
26 #set($arrayline = $line.split(':'))
27 #set($tab=$arrayline[0].trim())
28 #set($key=$arrayline[1].trim().toUpperCase())
29 #set($col=$arrayline[2].trim().toUpperCase())
30 #set($query = "show index from $tab from $wiki where key_name='$key';")
31 #set($connection = $sqlTools.getXWikiConnection($xwiki, $xcontext))
32 #set($results = $sqlTools.getResults($connection, $query, false))
33 ## We only list this index if it's there
34 #if(! $results.contains($tab))
35 * Index $key on column $col from table $tab doesn't exist!
36 #end
37 #end
38 #end
39 #end
40 {{/velocity}}