Mercurial > p > roundup > code
view scripts/Docker/roundup_start @ 6593:e70e2789bc2c
issue2551189 - increase text search maxlength
This removes I think all the magic references to 25 and 30 (varchar
size) and replaces them with references to maxlength or maxlength+5.
I am not sure why the db column is 5 characters larger than the size
of what should be the max size of a word, but I'll keep the buffer
of 5 as making it 1/5 the size of maxlength makes less sense.
Also added tests for fts search in templating which were missing.
Added postgres, mysql and sqlite native indexing backends in which to
test fts. Added fts test to native-fts as well to make sure it's
working.
I want to commit this now for CI.
Todo:
add test cases for the use of FTS in the csv output in
actions.py. There is no test coverage of the match case there.
change maxlength to a higher value (50) as requested in the ticket.
Modify existing extremewords test cases to allow words > 25 and < 51
write code to migrate column sizes for mysql and postgresql to match
maxlength I will roll this into the version 7 schema update that
supports use of database fts support.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Tue, 25 Jan 2022 13:22:00 -0500 |
| parents | b5fb268b7f04 |
| children | 7b9bddda9d2d |
line wrap: on
line source
#! /bin/sh # When container starts verify that the trackers are configured. # If they are, start the server otherwise run roundup-admin # for installation and initialization. # "$@" should be a set of tracker=directory pairs. if ! [ -z "$SHELL_DEBUG" ]; then set -xv fi trap exit INT do_exit=0 for tracker_spec in "$@"; do # IFS== set a=b doesn't assign $1 and $2 in busybox ash # it also clobbers '$@'. 'echo mumble | read' starts read in a # subshell so vars are not available in parent. IFS="=" read tracker directory <<- EOE $tracker_spec EOE # ^ is a tab for use with <<- # was $tracker_spec in the form of a=b, if not ignore it. # allows setting CMD to -i index_template issue=tracker for example. if [ -z "$directory" ]; then continue; fi # something is specified or built wrong. Don't start. if [ ! -d "$directory" ]; then printf "Unable to find directory %s. Exiting\n" "$directory" exit 1 fi # user must define web in config.ini. if ! grep '^\s*web\s\s*=\s\s*' "$directory/config.ini" > /dev/null; then roundup-admin -i "$directory" install do_exit=1 fi # we have a valid config.ini so init database if not done if [ $do_exit == 0 -a ! -e "$directory/.init_done" ]; then if roundup-admin -i "$directory" init; then cat > "$directory/.init_done" <<- EOD Don't delete this file. The docker startup needs it so it won't re-initialze the database destroying all the data. EOD else do_exit=1 fi fi done # if any config.ini needs editing don't start up. if [ $do_exit == 0 ]; then # make roundup-server process 1 with exec exec roundup-server -n 0.0.0.0 "$@" fi exit 0
