[ 
https://issues.apache.org/jira/browse/GSOC-267?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cheng Zhang updated GSOC-267:
-----------------------------
    Description: 
h2. Apache ShardingSphere

Apache ShardingSphere is positioned as a Database Plus, and aims at building a 
standard layer and ecosystem above heterogeneous databases. It focuses on how 
to reuse existing databases and their respective upper layer, rather than 
creating a new database. The goal is to minimize or eliminate the challenges 
caused by underlying databases fragmentation.

{*}Page{*}: 
[https://shardingsphere.apache.org|https://shardingsphere.apache.org/]

{*}Github{*}: [https://github.com/apache/shardingsphere] 

{*}Discussion{*}: [https://github.com/apache/shardingsphere/discussions/30252]
 
h2. Background

Apache ShardingSphere is positioned as Database Plus and aims to build a 
standard layer and ecosystem on top of heterogeneous databases. Therefore, 
ShardingSphere can be used with storage nodes like PostgreSQL. When users use 
PostgreSQL, they may have set the priority of query schema in system variables 
in advance. For example, when executing the SQL statement: {*}SELECT * FROM 
order{*}, if no schema is specified, the logical execution on PostgreSQL is as 
follows: scan through schemas in search_path one by one until the order table 
is found. On ShardingSphere, the current logic is to always query the public 
schema. Therefore, it is planned to support the search_path functionality for 
PostgreSQL in ShardingSphere to enhance the user experience.
h2. Task

1.Support configuring search_path in ShardingSphere.
- Support setting the search_path using PostgreSQL's "SET search_path" syntax;
- Store the user-configured search_path information in the metadata of 
ShardingSphereSchema;
- Support querying the search_path using PostgreSQL's "SHOW search_path" syntax.

2.Support matching the corresponding schema through search_path configuration.

- During the SQL Binder phase, for a given SQL statement such as "select * from 
t_order", identify the schema corresponding to the table "t_order" based on the 
search_path and record it.

3.Support propagating the matched schema to the storage node.

- During the rewriting phase, add the schema information matched from the 
search_path to the actual SQL statement.
h2. Relevant Skills

1. Proficiency in Java.
2. Familiarity with PostgreSQL databases.
3. Familiarity with ShardingSphere.
h2. Deliverables

Related code + unit tests + E2E tests.
h2. Mentor

Zhengqiang Duan, PMC Member of Apache ShardingSphere, duanzhengqi...@apache.org
Cheng Zhang, Committer of Apache ShardingSphere, chengzh...@apache.org

  was:
h2. Apache ShardingSphere

Apache ShardingSphere is positioned as a Database Plus, and aims at building a 
standard layer and ecosystem above heterogeneous databases. It focuses on how 
to reuse existing databases and their respective upper layer, rather than 
creating a new database. The goal is to minimize or eliminate the challenges 
caused by underlying databases fragmentation.

{*}Page{*}: 
[https://shardingsphere.apache.org|https://shardingsphere.apache.org/]

{*}Github{*}: [https://github.com/apache/shardingsphere] 

{*}Discussion{*}: [https://github.com/apache/shardingsphere/discussions/30252]
 
h2. Background

Apache ShardingSphere is positioned as Database Plus and aims to build a 
standard layer and ecosystem on top of heterogeneous databases. Therefore, 
ShardingSphere can be used with storage nodes like PostgreSQL. When users use 
PostgreSQL, they may have set the priority of query schema in system variables 
in advance. For example, when executing the SQL statement: {*}SELECT * FROM 
order{*}, if no schema is specified, the logical execution on PostgreSQL is as 
follows: scan through schemas in search_path one by one until the order table 
is found. On ShardingSphere, the current logic is to always query the public 
schema. Therefore, it is planned to support the search_path functionality for 
PostgreSQL in ShardingSphere to enhance the user experience.
h2. Task

1.Support configuring search_path in ShardingSphere.
Support setting the search_path using PostgreSQL's "SET search_path" syntax;
Store the user-configured search_path information in the metadata of 
ShardingSphereSchema;
Support querying the search_path using PostgreSQL's "SHOW search_path" syntax.
2.Support matching the corresponding schema through search_path configuration.

During the SQL Binder phase, for a given SQL statement such as "select * from 
t_order", identify the schema corresponding to the table "t_order" based on the 
search_path and record it.

3.Support propagating the matched schema to the storage node.

During the rewriting phase, add the schema information matched from the 
search_path to the actual SQL statement.
h2. Relevant Skills

1. Proficiency in Java.
2. Familiarity with PostgreSQL databases.
3. Familiarity with ShardingSphere.
h2. Deliverables

Related code + unit tests + E2E tests.
h2. Mentor

Zhengqiang Duan, PMC Member of Apache ShardingSphere, duanzhengqi...@apache.org
Cheng Zhang, Committer of Apache ShardingSphere, chengzh...@apache.org


> [GSOC] [ShardingSphere] Support for PostgreSQL Search Path Feature
> ------------------------------------------------------------------
>
>                 Key: GSOC-267
>                 URL: https://issues.apache.org/jira/browse/GSOC-267
>             Project: Comdev GSOC
>          Issue Type: New Feature
>            Reporter: Cheng Zhang
>            Priority: Major
>              Labels: Mentor, ShardingSphere, gsoc2024
>
> h2. Apache ShardingSphere
> Apache ShardingSphere is positioned as a Database Plus, and aims at building 
> a standard layer and ecosystem above heterogeneous databases. It focuses on 
> how to reuse existing databases and their respective upper layer, rather than 
> creating a new database. The goal is to minimize or eliminate the challenges 
> caused by underlying databases fragmentation.
> {*}Page{*}: 
> [https://shardingsphere.apache.org|https://shardingsphere.apache.org/]
> {*}Github{*}: [https://github.com/apache/shardingsphere] 
> {*}Discussion{*}: [https://github.com/apache/shardingsphere/discussions/30252]
>  
> h2. Background
> Apache ShardingSphere is positioned as Database Plus and aims to build a 
> standard layer and ecosystem on top of heterogeneous databases. Therefore, 
> ShardingSphere can be used with storage nodes like PostgreSQL. When users use 
> PostgreSQL, they may have set the priority of query schema in system 
> variables in advance. For example, when executing the SQL statement: 
> {*}SELECT * FROM order{*}, if no schema is specified, the logical execution 
> on PostgreSQL is as follows: scan through schemas in search_path one by one 
> until the order table is found. On ShardingSphere, the current logic is to 
> always query the public schema. Therefore, it is planned to support the 
> search_path functionality for PostgreSQL in ShardingSphere to enhance the 
> user experience.
> h2. Task
> 1.Support configuring search_path in ShardingSphere.
> - Support setting the search_path using PostgreSQL's "SET search_path" syntax;
> - Store the user-configured search_path information in the metadata of 
> ShardingSphereSchema;
> - Support querying the search_path using PostgreSQL's "SHOW search_path" 
> syntax.
> 2.Support matching the corresponding schema through search_path configuration.
> - During the SQL Binder phase, for a given SQL statement such as "select * 
> from t_order", identify the schema corresponding to the table "t_order" based 
> on the search_path and record it.
> 3.Support propagating the matched schema to the storage node.
> - During the rewriting phase, add the schema information matched from the 
> search_path to the actual SQL statement.
> h2. Relevant Skills
> 1. Proficiency in Java.
> 2. Familiarity with PostgreSQL databases.
> 3. Familiarity with ShardingSphere.
> h2. Deliverables
> Related code + unit tests + E2E tests.
> h2. Mentor
> Zhengqiang Duan, PMC Member of Apache ShardingSphere, 
> duanzhengqi...@apache.org
> Cheng Zhang, Committer of Apache ShardingSphere, chengzh...@apache.org



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to