TherChenYang opened a new pull request, #29756:
URL: https://github.com/apache/shardingsphere/pull/29756

   Fixes #29171 .
   
   Changes proposed in this pull request:
     - Support parsing SQL Server OPENROWSET function [offical function 
definition](https://learn.microsoft.com/zh-cn/sql/t-sql/functions/openrowset-transact-sql?view=sql-server-ver16)
   <img width="718" alt="image" 
src="https://github.com/apache/shardingsphere/assets/124348939/cb28d8fe-bbdf-482e-bf63-cf476061ad5a";>
     -   Support for sql parsing in issue #29171
   
   ###  The newly supported sql cases are as follows
   
   ```sql
   SELECT a.* FROM OPENROWSET(
       'Microsoft.Jet.OLEDB.4.0',
       'C:\SAMPLES\Northwind.mdb';
       'admin';
       'password',
       Customers
   ) AS a;
   ```
   
   ```sql
   SELECT d.* FROM OPENROWSET(
       'SQLNCLI',
       'Server=Seattle1;Trusted_Connection=yes;',
       Department
   ) AS d;
   ```
   
   ```sql
   UPDATE T
   SET XmlCol = (
       SELECT *
       FROM OPENROWSET(
       BULK 'C:\SampleFolder\SampleData3.txt',
               SINGLE_BLOB
       ) AS x
   )
   WHERE IntCol = 1
   ```
   
   ```sql
   SELECT cp.memory_object_address, cp.objtype, refcounts, usecounts,
       qs.query_plan_hash, qs.query_hash,
       qs.plan_handle, qs.sql_handle
   FROM sys.dm_exec_cached_plans AS cp
   CROSS APPLY sys.dm_exec_sql_text (cp.plan_handle)
   CROSS APPLY sys.dm_exec_query_plan (cp.plan_handle)
   INNER JOIN sys.dm_exec_query_stats AS qs ON qs.plan_handle = cp.plan_handle
   WHERE text LIKE '%usp_SalesByCustomer%'
   ```
   ---
   
   Before committing this PR, I'm sure that I have checked the following 
options:
   - [x] My code follows the [code of 
conduct](https://shardingsphere.apache.org/community/en/involved/conduct/code/) 
of this project.
   - [x] I have self-reviewed the commit code.
   - [ ] I have (or in comment I request) added corresponding labels for the 
pull request.
   - [x] I have passed maven check locally : `./mvnw clean install -B -T1C 
-Dmaven.javadoc.skip -Dmaven.jacoco.skip -e`.
   - [ ] I have made corresponding changes to the documentation.
   - [x] I have added corresponding unit tests for my 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: [email protected]

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

Reply via email to