Назад | Перейти на главную страницу

AuthDBDUserPWQuery с таблицами умножения

У меня есть аутентификация MySQL для сервера SVN. Файл конфигурации выглядит так:

<Location /svn/project>
    ...
    AuthDBDUserPWQuery "SELECT Password FROM SVNUsers WHERE Nickname = %s"
    ...
</Location>

Работает отлично. Но возникла необходимость извлекать пользователей из второй таблицы. Сначала я пробовал использовать UNION (конечно же!). Как это:

    AuthDBDUserPWQuery "SELECT Password FROM SVNUsers WHERE Nickname = %s UNION SELECT Password FROM Users WHERE Nickname = %s"

Но это не работает, потому что у меня есть два оператора% s, а второй не заменяется ником. Затем я попытался объявить переменную SQL, записать в нее% s и использовать. Как это:

    AuthDBDUserPWQuery "SET @userName = %s; SELECT Password FROM SVNUsers WHERE Nickname = @userName"

Но AuthDBDUserPWQuery не понимает переменные. Как это решить?

Спасибо!

Решением было использовать функции MySQL:

AuthDBDUserPWQuery "SELECT SVNAuthenticationFunction(%s) as Password"