2014-02-22 3 views
0

SQLite 데이터베이스에 REGEXP 함수가 정의되어 있지 않습니다. 해당 설명서 (http://www.sqlite.org/lang_expr.html#regexp)에 따라 :MediaWiki의 SQLite 작성 기능

REGEXP 연산자는 regexp() 사용자 함수의 특수 구문입니다. regexp() 사용자 함수는 기본적으로 정의되어 있지 않으므로 REGEXP 연산자를 사용하면 일반적으로 오류 메시지가 표시됩니다. "regexp"라는 응용 프로그램 정의 SQL 함수가 런타임에 추가되면 "X REGEXP Y"연산자는 "regexp (Y, X)"호출로 구현됩니다.

것은 PHP에서 나는 sqlite_create_function (http://www.php.net/manual/en/function.sqlite-create-function.php)를 사용하여 정규 표현식 기능을 만들 수 있습니다,하지만 난 미디어 위키 확장에이 방법을 사용하려고 할 때 (I 위키 데이터베이스 추상화 클래스를 사용하여이 함수를 호출하는 방법을 찾을 수 없습니다입니다 많이 연구했지만 지금은 대답을 찾지 못했습니다).

이 방법에 액세스 할 수있는 방법이 있습니까?

답변

0

documentation에 따르면 DatabaseBase::select 함수의 conds 매개 변수는 원시 SQL 조각 인 요소를 가질 수 있습니다.

+0

원시 SQL 단편을 추가해도 SQLite에 정규 표현식 구문이 내장되어 있지 않기 때문에이 문제에 도움이되지 않습니다. –