{"record":{"id":"b190744227121dc5","repo":"sqlmapproject/sqlmap","slug":"oracle-does-not-behave-1-1-true-1-2-false-faile","errorCode":null,"errorMessage":"oracle does not behave (1=1 true / 1=2 false failed)","messagePattern":"oracle does not behave \\(1=1 true / 1=2 false failed\\)","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"extra/esperanto/discovery.py","lineNumber":42,"sourceCode":"from .atlas import _PREFIX\nfrom .atlas import _SUBSTRING\nfrom .atlas import _TEXTCAST\nfrom .records import Cap\nfrom .records import OracleUndecided\n\n\nclass _Discovery(object):\n    \"\"\"_Discovery\n\n    probe the target to build the Dialect; populates self.dialect, never extracts data.\"\"\"\n\n    def discover(self):\n        with self._probePhase():\n            return self._discover()\n\n    def _discover(self):\n        if not self._sanity():\n            raise RuntimeError(\"oracle does not behave (1=1 true / 1=2 false failed)\")\n        try:\n            self._discoverSubstring()\n        except RuntimeError:\n            # MAX-CONSTRAINT path: every substring fn is blacklisted. fall back to a\n            # pure pattern-match extractor (LIKE/GLOB) that needs no SUBSTR/LENGTH/\n            # code/hex fn.\n            if self._fallbackPrefix():\n                return self.dialect\n            raise\n        try:\n            self._discoverLength()\n        except RuntimeError:\n            # no length fn - derive length from the substring's end behavior, provided\n            # that end is observable (empty/NULL). one more laddered capability, so a\n            # backend with substring but no CHAR_LENGTH/LENGTH/LEN still extracts.\n            # if the end isn't observable (e.g. LEFT/RIGHT), drop to the pattern floor.\n            if self.dialect.substring.get(\"beyond_end\") not in (\"empty\", \"null-or-error\"):\n                if self._fallbackPrefix():","sourceCodeStart":24,"sourceCodeEnd":60,"githubUrl":"https://github.com/sqlmapproject/sqlmap/blob/0a35b20e3953d341be6c7ac75ccb0b3362540c8d/extra/esperanto/discovery.py#L24-L60","documentation":"Error \"oracle does not behave (1=1 true / 1=2 false failed)\" thrown in sqlmapproject/sqlmap.","triggerScenarios":"Thrown at extra/esperanto/discovery.py:42 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0a35b20e3953d341be6c7ac75ccb0b3362540c8d","analyzedAt":"2026-08-26T23:02:52.002Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}