use OC\DB\QueryBuilder\QuoteHelper;
use OCP\DB\QueryBuilder\IExpressionBuilder;
use OCP\DB\QueryBuilder\ILiteral;
+use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\DB\QueryBuilder\IQueryFunction;
use OCP\IDBConnection;
return $this->expressionBuilder->notIn($x, $y);
}
+ /**
+ * Creates a $x = '' statement, because Oracle needs a different check
+ *
+ * @param string $x The field in string format to be inspected by the comparison.
+ * @return string
+ * @since 13.0.0
+ */
+ public function emptyString($x) {
+ return $this->eq($x, $this->literal('', IQueryBuilder::PARAM_STR));
+ }
+
+ /**
+ * Creates a `$x <> ''` statement, because Oracle needs a different check
+ *
+ * @param string $x The field in string format to be inspected by the comparison.
+ * @return string
+ * @since 13.0.0
+ */
+ public function nonEmptyString($x) {
+ return $this->neq($x, $this->literal('', IQueryBuilder::PARAM_STR));
+ }
+
/**
* Binary AND Operator copies a bit to the result if it exists in both operands.
*
return $this->expressionBuilder->notIn($x, $y);
}
+ /**
+ * Creates a $x = '' statement, because Oracle needs a different check
+ *
+ * @param string $x The field in string format to be inspected by the comparison.
+ * @return string
+ * @since 13.0.0
+ */
+ public function emptyString($x) {
+ return $this->isNull($x);
+ }
+
+ /**
+ * Creates a `$x <> ''` statement, because Oracle needs a different check
+ *
+ * @param string $x The field in string format to be inspected by the comparison.
+ * @return string
+ * @since 13.0.0
+ */
+ public function nonEmptyString($x) {
+ return $this->isNotNull($x);
+ }
+
/**
* Returns a IQueryFunction that casts the column to the given type
*
->from('filecache', 'f')
->innerJoin('f', 'filecache', 'p', $builder->expr()->andX(
$builder->expr()->eq('f.parent', 'p.fileid'),
- $builder->expr()->isNotNull('p.name')
+ $builder->expr()->nonEmptyString('p.name')
))
->where($builder->expr()->neq('f.path', $computedPath))
->setMaxResults(self::MAX_ROWS);
*/
public function notIn($x, $y, $type = null);
+ /**
+ * Creates a $x = '' statement, because Oracle needs a different check
+ *
+ * @param string $x The field in string format to be inspected by the comparison.
+ * @return string
+ * @since 13.0.0
+ */
+ public function emptyString($x);
+
+ /**
+ * Creates a `$x <> ''` statement, because Oracle needs a different check
+ *
+ * @param string $x The field in string format to be inspected by the comparison.
+ * @return string
+ * @since 13.0.0
+ */
+ public function nonEmptyString($x);
+
/**
* Creates a bitwise AND comparison