FakeKotaro opened a new issue, #25892:
URL: https://github.com/apache/shardingsphere/issues/25892

   ### Which version of ShardingSphere did you use?
   ShardingSphere-JDBC 
   5.3.2
   
   ### Description
   I use the encryption module to rewrite the sql
   My config (Encryption rules section):
   ```yaml
   rules:
   - !ENCRYPT
       encryptors:
         encryptor-aes:
           props:
             aes-key-value: 123456a
           type: AES
       tables:
         user:
           columns:
             name:
               plainColumn: name
               cipherColumn: name_encode
               encryptorName: encryptor-aes
             phone:
               plainColumn: phone
               cipherColumn: phone_encode
               encryptorName: encryptor-aes
   ```
   When I execute this sql:
   ```sql
   SELECT 1 FROM user WHERE phone = '123' AND name = 'devin' || name = 'devin2'
   ```
   This sql is expected to be rewritten to result in:
   ```sql
   SELECT 1 FROM user WHERE phone_encode ='xxx' AND name_encode = 'xxx' || 
name_encode = 'xxx'
   ```
   I use xxx to represent the cipher text
   
   But the  actual rewritten sql is
   ```sql
   SELECT 1 FROM user WHERE phone_encode = 'xxx' AND name = 'devin' || name = 
'devin2'
   ```
   **column name should be rewritten as name_encode = 'xxx', but it is not**
   
   After debugging, I found that '||' does not seem to be parsed as a 
CommonToken


-- 
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