Added Conditionals.Match for MySQL full text query operator.
This commit is contained in:
@@ -196,4 +196,45 @@ public abstract class Conditionals
|
|||||||
protected ColumnExp _column;
|
protected ColumnExp _column;
|
||||||
protected Comparable[] _values;
|
protected Comparable[] _values;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** The MySQL 'match (...) against (...)' operator. */
|
||||||
|
public static class Match
|
||||||
|
implements SQLOperator
|
||||||
|
{
|
||||||
|
public Match (String query, String... pColumns)
|
||||||
|
{
|
||||||
|
_query = query;
|
||||||
|
_columns = new ColumnExp[pColumns.length];
|
||||||
|
for (int ii = 0; ii < pColumns.length; ii++) {
|
||||||
|
_columns[ii] = new ColumnExp(null, pColumns[ii]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Match (String query, ColumnExp... columns)
|
||||||
|
{
|
||||||
|
_query = query;
|
||||||
|
_columns = columns;
|
||||||
|
}
|
||||||
|
|
||||||
|
// from SQLExpression
|
||||||
|
public void appendExpression (Query query, StringBuilder builder)
|
||||||
|
{
|
||||||
|
builder.append("match(");
|
||||||
|
for (ColumnExp column : _columns) {
|
||||||
|
column.appendExpression(query, builder);
|
||||||
|
}
|
||||||
|
builder.append(") against (?)");
|
||||||
|
}
|
||||||
|
|
||||||
|
// from SQLExpression
|
||||||
|
public int bindArguments (PreparedStatement pstmt, int argIdx)
|
||||||
|
throws SQLException
|
||||||
|
{
|
||||||
|
pstmt.setString(argIdx++, _query);
|
||||||
|
return argIdx;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected String _query;
|
||||||
|
protected ColumnExp[] _columns;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user