Skip to content

[BUG] Oracle operation-log keyword searches generate unsupported three-argument CONCAT #7738

Closed

Description

@Aias00

Current behavior

The shared operation_record_log.selectByCondition statement constructs both keyword and exclusion predicates with concat('%', boundValue, '%'). There is no Oracle-specific statement for this query, so the three-argument expression is also sent to Oracle.

Location / reachable flow

  • operation-record-log-sqlmap.xml:69–87
  • OperationRecordLogController implements the paged /operation-record/log/list/search API and supplies the operation-log page service.
  • OperationRecordLogServiceImpl.searchByCondition() delegates directly to this mapper after preprocessing the keyword/exclusion fields and time range.

Vendor evidence / validation boundary

Oracle 19c's official SQL language reference specifies CONCAT(char1, char2), and its CONCAT reference describes combining exactly those operands. The current three-argument call is outside that function syntax. These official pages were retrieved and checked during this review.

Source/vendor-reference confirmed; no actual Oracle instance was run. The expected Oracle failure is invalid argument count when a nonempty keyword/exclusion includes the predicate; this report does not present fabricated database logs. Searches without those optional filters do not construct the expression.

Impact / suggested fix

Filtered operation-log search fails on Oracle instead of returning results. Bind the wildcard string outside the SQL expression (as other mappers already do), use nested two-argument CONCAT, or supply an Oracle || expression. Preserve the existing include/exclude and CLOB matching semantics.

Related existing work

#6675 concerns query bounds/indexing and wildcard performance, rather than invalid Oracle syntax. #3489 is the original Oracle operation-log support task; #6694 concerns boolean/LIMIT existence checks. The current reachable keyword/exclusion expressions are a distinct compatibility failure.

Reviewed revision

Apache ShenYu 2.7.2-SNAPSHOT, master@66d7d954ca37d651a5ad916f988a8081157a7ab4. Priority P2 / Medium. Unit-test and CI issue categories excluded.

Activity

  1. konlue commented on Oct 17, 2026

    @konlue
    Contributor

    /assign

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions