xy720 opened a new pull request, #39968:
URL: https://github.com/apache/doris/pull/39968

   ## Proposed changes
   
   This commit fix 3 problems:
   
   **Before:**
   
   case 1: No matching function  in view.
   
   ```
   MySQL [test]> create view test_view as select 
1,to_base64(AES_ENCRYPT('doris','doris'));
   Query OK, 0 rows affected (0.01 sec)
   
   MySQL [test]> select * from test_view;
   ERROR 1105 (HY000): errCode = 2, detailMessage = No matching function with 
signature: aes_encrypt(varchar(-1)).
   MySQL [test]> show create table test_view;
   ```
   
   case 2: The secret key is being shown beside '***' in result header
   
   ```
   MySQL [test]> SELECT aes_decrypt(   from_base64("EXp7k7M9Zv1mIwPpno28Hg=="), 
  '17IMZrGdwWf2Piy8',   'II2HLtihr5TQpQgR'  , 'AES_128_CBC');
   
+---------------------------------------------------------------------------------------------------+
   | aes_decrypt(from_base64('EXp7k7M9Zv1mIwPpno28Hg=='), 
'***''17IMZrGdwWf2Piy8', 'II2HLtihr5TQpQgR') |
   
+---------------------------------------------------------------------------------------------------+
   | 17777208882                                                                
                       |
   
+---------------------------------------------------------------------------------------------------+
   1 row in set (0.03 sec)
   ```
   
   case 3:  Wrong result in view
   
   ```
   MySQL [test]> set block_encryption_mode='AES_128_CBC';
   Query OK, 0 rows affected (0.01 sec)
   
   MySQL [test]> CREATE VIEW client_user_test AS SELECT aes_decrypt(   
from_base64('EXp7k7M9Zv1mIwPpno28Hg=='),   '17IMZrGdwWf2Piy8',   
'II2HLtihr5TQpQgR'  );
   Query OK, 0 rows affected (0.04 sec)
   
   MySQL [test]> show create view 
client_user_test;+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
   | View             | Create View                                             
                                                                                
                                                                                
                                          | character_set_client | 
collation_connection |
   
+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
   | client_user_test | CREATE VIEW `client_user_test` COMMENT 'VIEW' AS SELECT 
aes_decrypt(from_base64('EXp7k7M9Zv1mIwPpno28Hg=='), '***''17IMZrGdwWf2Piy8', 
'II2HLtihr5TQpQgR') AS `aes_decrypt(from_base64('EXp7k7M9Zv1mIwPpno28Hg=='), 
'***''17IMZrGdwWf2Piy8', 'II2HLtihr5TQpQgR')`; | utf8                 | 
utf8_general_ci      |
   
+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
   1 row in set (0.01 sec)
   
   MySQL [test]> select * from 
client_user_test;+---------------------------------------------------------------------------------------------------+
   | aes_decrypt(from_base64('EXp7k7M9Zv1mIwPpno28Hg=='), 
'***''17IMZrGdwWf2Piy8', 'II2HLtihr5TQpQgR') |
   
+---------------------------------------------------------------------------------------------------+
   | NULL                                                                       
                       |
   
+---------------------------------------------------------------------------------------------------+
   1 row in set (0.95 sec)
   ```
   
   
   **After:**
   
   case 1:
   
   ```
   MySQL [test]> create view test_view as select 
1,to_base64(AES_ENCRYPT('doris','doris'));
   Query OK, 0 rows affected (0.01 sec)
   
   MySQL [test]> select * from test_view;
   +------+------------------------------------------+
   | 1    | to_base64(aes_encrypt('doris', 'doris')) |
   +------+------------------------------------------+
   |    1 | 4x0fdjDNBZAJxCD7qm/EHg==                 |
   +------+------------------------------------------+
   1 row in set (0.04 sec)
   ```
   
   case 2:
   
   ```
   MySQL [test]> SELECT aes_decrypt(   from_base64("EXp7k7M9Zv1mIwPpno28Hg=="), 
  '17IMZrGdwWf2Piy8',   'II2HLtihr5TQpQgR'  , 'AES_128_CBC');
   
+------------------------------------------------------------------------------------------------+
   | aes_decrypt(from_base64('EXp7k7M9Zv1mIwPpno28Hg=='), '***', 
'II2HLtihr5TQpQgR', 'AES_128_CBC') |
   
+------------------------------------------------------------------------------------------------+
   | 17777208882                                                                
                    |
   
+------------------------------------------------------------------------------------------------+
   1 row in set (0.04 sec)
   ```
   
   case 3:
   
   ```
   MySQL [test]> set block_encryption_mode='AES_128_CBC';Query OK, 0 rows 
affected (0.01 sec)
   
   MySQL [test]> CREATE VIEW client_user_test AS SELECT aes_decrypt(   
from_base64('EXp7k7M9Zv1mIwPpno28Hg=='),   '17IMZrGdwWf2Piy8',   
'II2HLtihr5TQpQgR'  );
   Query OK, 0 rows affected (0.00 sec)
   
   MySQL [test]> show create view client_user_test;
   
+------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
   | View             | Create View                                             
                                                                                
                                                                                
                                                              | 
character_set_client | collation_connection |
   
+------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
   | client_user_test | CREATE VIEW `client_user_test` COMMENT 'VIEW' AS SELECT 
aes_decrypt(from_base64('EXp7k7M9Zv1mIwPpno28Hg=='), '17IMZrGdwWf2Piy8', 
'II2HLtihr5TQpQgR', 'AES_128_CBC') AS 
`aes_decrypt(from_base64('EXp7k7M9Zv1mIwPpno28Hg=='), '17IMZrGdwWf2Piy8', 
'II2HLtihr5TQpQgR', 'AES_128_CBC')`; | utf8                 | utf8_general_ci   
   |
   
+------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
   1 row in set (0.00 sec)
   
   MySQL [test]> select * from client_user_test;
   
+-------------------------------------------------------------------------------------------------------------+
   | aes_decrypt(from_base64('EXp7k7M9Zv1mIwPpno28Hg=='), '17IMZrGdwWf2Piy8', 
'II2HLtihr5TQpQgR', 'AES_128_CBC') |
   
+-------------------------------------------------------------------------------------------------------------+
   | 17777208882                                                                
                                 |
   
+-------------------------------------------------------------------------------------------------------------+
   1 row in set (0.04 sec)
   ```
   
   <!--Describe your changes.-->
   
   


-- 
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: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to