123123213weqw commented on PR #4458:
URL: 
https://github.com/apache/rocketmq-dashboard/pull/4458#issuecomment-5761958419

   Rebased and reworked — the branch is now `rocketmq-studio` + one commit and 
the base is retargeted, so the diff is the change and nothing else.
   
   **Blocking items.**
   
   1. The tenth site is swept: `MybatisPlusAiConversationRepository`'s 
conversation-title search uses `apply(SqlLikeUtils.likePredicate("title"), 
SqlLikeUtils.contains(search))`, the private `escapeLike` and its "tracked 
separately upstream" comment are gone, and 
`MybatisPlusAiConversationRepositoryTest` asserts the emitted SQL carries 
`ESCAPE CHAR(92)`. On this head `grep -rn "\.like(" server/src/main/java` 
returns nothing.
   2. `MybatisPlusSettingsRepository.findDataSources`'s `type` filter is fixed 
rather than deferred: it binds `SqlLikeUtils.escape(normalizedType)` and 
carries the same clause through a named constant, with a wiring assertion. 
`type` stays a free-form `@RequestParam` — that part I did not change, since 
validating it into an enum would reject values the UI can currently send; happy 
to add it if you want it in this PR.
   
   **Optional items, all three.** `likePredicate` now documents that `column` 
is interpolated and must be a compile-time literal; `AuthService`'s username 
search has its own wiring assertion in `AuthServiceDatabaseTest`; and the 
pagination question is no longer a static claim.
   
   On that last one: I ran one paged search through 
`PaginationInnerInterceptor` against MySQL 8.0.46 with `utf8mb4_0900_ai_ci`. 
The count query jsqlparser derives keeps the clause —
   
   ```
   ==>  Preparing: SELECT COUNT(*) AS total FROM rmq_ai_conversation WHERE 
(owner = ? AND title LIKE ? ESCAPE CHAR(92))
   ==> Parameters: paged-like-probe(String), %100\%\_done%(String)
   [PROBE] literal '100%_done' page: total=1 records=1
   ```
   
   — and the literal semantics hold (`%` matches the row that really contains a 
percent sign rather than every row; `_` the rows that really contain an 
underscore; a second page is served from the same predicate). Full transcript 
in the description.
   
   The suite is green where MySQL 8 is reachable: 3145 tests on the untouched 
`rocketmq-studio` head, 3169 with this change, 0 failures and 0 errors in both. 
Without MySQL the same 17 context-load errors appear on the base revision, 
which is what the previous description was describing.
   
   #4666, #4667 and #4668 are superseded by this one — I am leaving them open 
only until this lands, and will close them then unless you would rather they go 
now.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to