Nel
File di configurazione CADENAS_SETUP/geomsearch.cfg
possibile
Definire un set di regole di filtro. Se una parte soddisfa almeno una
, verrà filtrato e quindi rimosso dalla generazione dell'indice
eccetto.
Nel blocco
[settings]
, nella chiaveGenerationFilterRules
separati da virgole Elenco di tutti i nomi delle regole.[settings] GenerationFilterRules=Rule1,Rule2,etc.
Per ogni regola, imposta un blocco dopo il Schema
GenerationFilterRule_Rulex
a.[GenerationFilterRule_Rule1] Catalogs=cat/__partialtest AlgoTypes=PARTIAL,TOPO PrjRegExp=.*ass.* PrjScriptCallbackFile= PrjScriptCallbackFunction= LineFilterCount=1 LineFilterVar0=TYPE LineFilterRegExp0=.*ass.* Conjunction=AND LineScriptCallbackFile=test.vbb LineScriptCallbackFunction=checkLine
Spiegazione delle singole chiavi:
AlgoTypes: Tipi di indice che NON devono essere generati (separati da virgole)
Si riferisce alle condizioni di progetto e alle condizioni di riga. Se esiste al massimo una condizione di progetto e una condizione di riga, non importa se OR o AND.
Se OR, viene applicato un filtro di progetto o di linea se si applica UNA regola. Se AND, devono essere applicate tutte le regole non vuote.
Impostazioni per il percorso del progetto
PrjRegExp: Specifica di un'espressione regolare. Questa viene verificata per il percorso del progetto relativo al catalogo e filtrata se corrisponde.
Esempio: tutti i progetti che contengono "asm" in qualsiasi punto del percorso vengono filtrati utilizzando la seguente espressione regolare.
.*asm.*
PrjScriptCallbackFile: Percorso dello script vbb che contiene il callback.
PrjScriptCallbackFunction: il metodo Funzione
PrjScriptCallbackFunction
chiamato con il percorso del progetto come parametro e dovrebbe restituire 1, se vuoi filtrare, altrimenti 0.
Impostazioni per la riga della tabella
LineFilterCount: Numero di condizioni di linea
Esempio con 3 condizioni di linea:
LineFilterCount=3 LineFilterVar0=A LineFilterRegExp0=.*ab.* LineFilterVar1=B LineFilterRegExp1=.*ac.* LineFilterVar2=C LineFilterRegExp2=.*ad.*
LineFilterVar0: nome della variabile dalla tabella (0 deve essere sostituito dall'indice della condizione).
LineFilterRegExp0= Il valore caratteristico della variabile denominata deve corrispondere all'espressione regolare per essere filtrato. (0 deve essere sostituito dall'indice della condizione).
LineScriptCallbackFile: Percorso dello script vbb che contiene il callback.
LineScriptCallbackFunction: il metodo Funzione
LineScriptCallbackFunction
chiamato con la tabella come parametro e dovrebbe restituire 1 se dovrebbe essere filtrato, altrimenti 0.L'esempio seguente filtra tutte le righe con un ID riga superiore a 50000:
function filterLines(table) dim row = table.SelectedRow dim lineId = row.Idnr if lineId > 50000 then filterLines = 1 else filterLines = 0 end if end function