Hi, 

One additional item is that `Query SQL`, e.g, `SELECT…` can not work well. In 
other words, decryption is the key point of this bug.


 Juan Pan


panj...@apache.org
Juan Pan(Trista), Apache ShardingSphere


On 10/9/2019 13:29,Juan Pan<panj...@apache.org> wrote:
Hi all the contributors and committers,


Recently, some of issues concerning data masking for Oracle database are 
opened. After bug investigation, Here is the reason and solution. 


I am writing this note to express two of the ideas:
- We plan to prepare our next release. Considering the impact and urgency of 
this issue, i am considering not to include this bugfix to our next release.
- Showing Haisheng's investigation result of this issue to our community, 
anyone who is interested in this one can get on with it, and raise the Pr for 
the related issue[2].


Here is the investigation result:


- Why
Owing to the empty result from getTableName() of OracleResultSetMetaData[1], 
ShardingSphere can not get encrypt table rule for tables in this query SQL 
correctly. So data masking doesn't work well.


- How
By the means of passing the parsing result of this SQL, i.e, 
`SQLStatementContext` to` QueryResultMetaData`,  getShardingEncryptor() can 
return the correct result.


[1] 
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/jjdbc/accessing-and-manipulating-Oracle-data.html#GUID-C9AF8539-12BA-4F19-AAB9-0EE481D78F19


[2] https://github.com/apache/incubator-shardingsphere/issues/3194


Regards,
Trista


 Juan Pan


panj...@apache.org
Juan Pan(Trista), Apache ShardingSphere

Reply via email to