blob: b72b1b6ef12d0120e30860cc66104e1016b76f76 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
<?php
namespace Micropoly\Search;
abstract class AbstractFTSExpr implements SearchExpr
{
abstract protected function fts4Query(): string;
public function toSQL(string $bindPrefix, bool $singleFTS): SQLSearchExpr
{
$sqlex = new SQLSearchExpr();
$sqlex->sql = $singleFTS
? "nc.note_contents MATCH :{$bindPrefix}match"
: "n.content_row IN (
SELECT rowid
FROM note_contents
WHERE note_contents MATCH :{$bindPrefix}match
)";
$sqlex->bindings["{$bindPrefix}match"] = $this->fts4Query();
return $sqlex;
}
public function countFTSQueries(): int
{
return 1;
}
}
|