CREATE OR REPLACE FUNCTION preparesearchcontent(tag varchar , content varchar , complement varchar) 
RETURNS varchar as $BODY$
DECLARE
    isClassification integer;
    isDate integer;
BEGIN
    -- Controla casos onde a tag vem nula ou somente com ponto.
    IF length( tag ) > 1 
    THEN
        isClassification = position( tag in ( SELECT value FROM basconfig WHERE parameter = 'MARC_CLASSIFICATION_TAG' ) );

        IF isClassification > 0
        THEN
            return prepareTopographicIndex( content,complement );
        END IF;

        isDate = position( tag in ( SELECT value FROM basconfig WHERE parameter = 'CATALOGUE_DATE_FIELDS' ) );

        IF isDate > 0
        THEN
            return to_char( content::date, 'YYYY-mm-dd');
            --return to_char( content::date, 'dd/mm/yyyy'); --na 3.2 tem que ser dd/mm/yyyy
        END IF;
    END IF;

    -- Adicionado substring 1000 devido a limitação de tamanho dos indices btree, ticket #60727.
    return trim( upper( unaccent( translate( substring(content, 1, 1000) ,'+', 'A') ) ) );
END;
$BODY$ language plpgsql;
