sqlmapproject/sqlmap · error · RuntimeError
ordered PoC unavailable in equality-only compare mode
Error message
ordered PoC unavailable in equality-only compare mode
What it means
Error "ordered PoC unavailable in equality-only compare mode" thrown in sqlmapproject/sqlmap.
Source
Thrown at extra/esperanto/enumeration.py:791
if self._comparator == "between":
return "%s BETWEEN %d AND %d" % (code, gt + 1, 1 << 62)
if self._cmpTemplate is not None:
return self._cmpTemplate.format(expr=code, n=gt)
raise RuntimeError("ordered PoC unavailable: membership comparator has no '>' form")
# hex / collation / ordinal compare strings or wrapped values with '>'; if '>' was
# blocked (comparator isn't 'gt') there is NO equivalent renderer for these text modes
# -> refuse rather than emit a predicate the target already rejected.
if self._comparator != "gt":
raise RuntimeError("ordered PoC unavailable: '>' blocked and %s mode has no operator-free form" % self.dialect.compare)
if self.dialect.compare == "hex" and self.dialect.hexfn:
return "%s>'%02X'" % (self.dialect.hexfn[1].format(expr=one), gt)
if self.dialect.compare == "collation" and self.dialect.binwrap:
w = self.dialect.binwrap[1]
return "%s>%s" % (w.format(x=one), w.format(x=self._lit(chr(gt))))
if self.dialect.compare in ("equality", "equality-ci"):
# equality mode was chosen BECAUSE ordering isn't trustworthy - don't
# fabricate a `>` predicate the target's collation may not honour
raise RuntimeError("ordered PoC unavailable in equality-only compare mode")
return "%s>%s" % (one, self._lit(chr(gt)))
def strategy(self):
"""Freeze the discovered dialect into an immutable InferenceStrategy - the
hand-off artifact for a host inference engine (see hostExtract). Ensures the
hex fn and quoting/backslash flags are resolved before freezing."""
d = self.dialect
if not self._discovered:
self.discover()
self._ensureHexfn()
self._lit("x") # resolve backslash-escape flag
return InferenceStrategy(
product=d.product or d.family, family=d.family, compare_mode=d.compare,
catalog=d.catalog, dual=(d.dual[1] if d.dual else ""), notes=tuple(d.notes),
substring=(d.substring[1] if d.substring else None),
index_base=(d.substring.get("index_base", 1) if d.substring else 1),
length=(d.length[1] if d.length else None),
charcode=(d.charcode[1] if d.charcode else None),View on GitHub (pinned to 0a35b20e39)
When it happens
Trigger: Thrown at extra/esperanto/enumeration.py:791 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of sqlmapproject/sqlmap@0a35b20e39 (2026-08-26).
Data as JSON: /api/errors/33dc66dcdd7a7bff.
Report an issue: GitHub.