luozihen opened a new issue, #11878:
URL: https://github.com/apache/seatunnel/issues/11878

   ### Search before asking
   
   - [x] I had searched in the 
[feature](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22Feature%22)
 and found no similar feature requirement.
   
   
   ### Description
   
   <html>
   <body>
   <!--StartFragment--><h3 style="font: 700 20px / 30px quote-cjk-patch, Inter, 
system-ui, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, 
Oxygen, Ubuntu, Cantarell, &quot;Open Sans&quot;, &quot;Helvetica Neue&quot;, 
sans-serif; margin: 32px 0px 16px; color: rgb(15, 17, 21); letter-spacing: 
normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; 
widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: 
normal; background-color: rgb(255, 255, 255); text-decoration-thickness: 
initial; text-decoration-style: initial; text-decoration-color: initial;"><span 
class="">Problem</span></h3><p class="ds-markdown-paragraph" style="margin: 
16px 0px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, 
system-ui, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, 
Oxygen, Ubuntu, Cantarell, &quot;Open Sans&quot;, &quot;Helvetica Neue&quot;, 
sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: 
normal; 
 font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 
2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; 
word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; 
background-color: rgb(255, 255, 255); text-decoration-thickness: initial; 
text-decoration-style: initial; text-decoration-color: initial;"><span 
class="">JDBC sink<span> </span></span><code style="box-sizing: border-box; 
font-style: normal; font-variant: normal; font-weight: 400; font-stretch: 100%; 
line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; 
font-kerning: auto; font-feature-settings: normal; font-variation-settings: 
normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 
&quot;Cascadia Mono&quot;, &quot;Ubuntu Mono&quot;, &quot;DejaVu Sans 
Mono&quot;, &quot;Liberation Mono&quot;, &quot;JetBrains Mono&quot;, &quot;Fira 
Code&quot;, Cousine, &quot;Roboto Mono&quot;, &quot;Courier New&quot;, Courier, 
sans-serif, system
 -ui; background-color: rgb(235, 238, 242); border-radius: 6px; align-items: 
center; padding: 0px 5px; display: inline-flex; font-size: 0.875em 
!important;">primary_keys</code><span class=""><span> </span>currently supports 
either:</span></p><ul style="margin: 16px 0px; padding-left: 18px; color: 
rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Oxygen, Ubuntu, Cantarell, 
&quot;Open Sans&quot;, &quot;Helvetica Neue&quot;, sans-serif; font-size: 16px; 
font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; 
font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; 
text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 
255, 255); text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color: initial;"><li><p class="ds-markdown-paragraph" 
style="marg
 in-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 
0px;"><span class="">Static list:<span> </span></span><code style="box-sizing: 
border-box; font-style: normal; font-variant: normal; font-weight: 400; 
font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; 
font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; 
font-variation-settings: normal; font-language-override: normal; font-family: 
Menlo, Monaco, Consolas, &quot;Cascadia Mono&quot;, &quot;Ubuntu Mono&quot;, 
&quot;DejaVu Sans Mono&quot;, &quot;Liberation Mono&quot;, &quot;JetBrains 
Mono&quot;, &quot;Fira Code&quot;, Cousine, &quot;Roboto Mono&quot;, 
&quot;Courier New&quot;, Courier, sans-serif, system-ui; background-color: 
rgb(235, 238, 242); border-radius: 6px; align-items: center; padding: 0px 5px; 
display: inline-flex; font-size: 0.875em !important;">["id", 
"data_source"]</code></p></li><li style="margin-top: 6px;"><p 
class="ds-markdown-paragraph" style="margin-top: 0px
  !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span 
class="">Placeholder only:<span> </span></span><code style="box-sizing: 
border-box; font-style: normal; font-variant: normal; font-weight: 400; 
font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; 
font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; 
font-variation-settings: normal; font-language-override: normal; font-family: 
Menlo, Monaco, Consolas, &quot;Cascadia Mono&quot;, &quot;Ubuntu Mono&quot;, 
&quot;DejaVu Sans Mono&quot;, &quot;Liberation Mono&quot;, &quot;JetBrains 
Mono&quot;, &quot;Fira Code&quot;, Cousine, &quot;Roboto Mono&quot;, 
&quot;Courier New&quot;, Courier, sans-serif, system-ui; background-color: 
rgb(235, 238, 242); border-radius: 6px; align-items: center; padding: 0px 5px; 
display: inline-flex; font-size: 0.875em 
!important;">["${primary_key}"]</code></p></li></ul><p 
class="ds-markdown-paragraph" style="margin: 16px 0px; color: rgb(15, 17, 21); 
font-f
 amily: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 
&quot;Segoe UI&quot;, Roboto, Oxygen, Ubuntu, Cantarell, &quot;Open Sans&quot;, 
&quot;Helvetica Neue&quot;, sans-serif; font-size: 16px; font-style: normal; 
font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; 
letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; 
text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 
0px; white-space: normal; background-color: rgb(255, 255, 255); 
text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color: initial;"><span class="">Mixing them (e.g.,<span> 
</span></span><code style="box-sizing: border-box; font-style: normal; 
font-variant: normal; font-weight: 400; font-stretch: 100%; line-height: 22px; 
font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; 
font-feature-settings: normal; font-variation-settings: normal; 
font-language-override: normal; font-family
 : Menlo, Monaco, Consolas, &quot;Cascadia Mono&quot;, &quot;Ubuntu Mono&quot;, 
&quot;DejaVu Sans Mono&quot;, &quot;Liberation Mono&quot;, &quot;JetBrains 
Mono&quot;, &quot;Fira Code&quot;, Cousine, &quot;Roboto Mono&quot;, 
&quot;Courier New&quot;, Courier, sans-serif, system-ui; background-color: 
rgb(235, 238, 242); border-radius: 6px; align-items: center; padding: 0px 5px; 
display: inline-flex; font-size: 0.875em !important;">["${primary_key}", 
"tenant_id"]</code><span class="">) is<span> </span></span><strong 
style="font-weight: 600;"><span class="">not supported</span></strong><span 
class=""><span> </span>per docs. This is a common pain point 
(#11273).</span></p><p class="ds-markdown-paragraph" style="margin: 16px 0px; 
color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Oxygen, 
Ubuntu, Cantarell, &quot;Open Sans&quot;, &quot;Helvetica Neue&quot;, 
sans-serif; font-size: 16px; font-style: normal;
  font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; 
letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; 
text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 
0px; white-space: normal; background-color: rgb(255, 255, 255); 
text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color: initial;"><span class="">In multi‑table sync, tables 
often have different primary key names, but all need a common static field 
(e.g.,<span> </span></span><code style="box-sizing: border-box; font-style: 
normal; font-variant: normal; font-weight: 400; font-stretch: 100%; 
line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; 
font-kerning: auto; font-feature-settings: normal; font-variation-settings: 
normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 
&quot;Cascadia Mono&quot;, &quot;Ubuntu Mono&quot;, &quot;DejaVu Sans 
Mono&quot;, &quot;Liberation Mono&quot;, &q
 uot;JetBrains Mono&quot;, &quot;Fira Code&quot;, Cousine, &quot;Roboto 
Mono&quot;, &quot;Courier New&quot;, Courier, sans-serif, system-ui; 
background-color: rgb(235, 238, 242); border-radius: 6px; align-items: center; 
padding: 0px 5px; display: inline-flex; font-size: 0.875em 
!important;">data_source</code><span class="">) as composite PK. Without this 
feature, users must write separate pipelines per table.</span></p><h3 
style="font: 700 20px / 30px quote-cjk-patch, Inter, system-ui, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Oxygen, Ubuntu, Cantarell, 
&quot;Open Sans&quot;, &quot;Helvetica Neue&quot;, sans-serif; margin: 32px 0px 
16px; color: rgb(15, 17, 21); letter-spacing: normal; orphans: 2; text-align: 
start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 
255, 255); text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color
 : initial;"><span class="">Proposed Configuration Format</span></h3><div 
class="md-code-block md-code-block-light" 
style="--dsl-code-block-banner-background-color: #f9fafb; 
--dsl-code-block-border-radius: 12px; --dsl-code-block-banner-font: 13px/20px 
&quot;quote-cjk-patch&quot;, &quot;Inter&quot;, system-ui, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Oxygen, Ubuntu, Cantarell, 
&quot;Open Sans&quot;, &quot;Helvetica Neue&quot;, sans-serif; 
--dsl-code-block-content-font: 13px/22px Menlo, Monaco,  Consolas, 
&quot;Cascadia Mono&quot;,  &quot;Ubuntu Mono&quot;,  &quot;DejaVu Sans 
Mono&quot;,  &quot;Liberation Mono&quot;,  &quot;JetBrains Mono&quot;, 
&quot;Fira Code&quot;,  Cousine,  &quot;Roboto Mono&quot;,  &quot;Courier 
New&quot;, Courier,  sans-serif, system-ui; color: rgb(15, 17, 21); background: 
none 0% 0% / auto repeat scroll padding-box border-box rgb(249, 250, 251); 
border-radius: 12px; margin: 16px 0px 11px; position: relative; font-family: 
quote-cjk-patch,
  Inter, system-ui, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, 
Roboto, Oxygen, Ubuntu, Cantarell, &quot;Open Sans&quot;, &quot;Helvetica 
Neue&quot;, sans-serif; font-size: 16px; font-style: normal; 
font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; 
letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; 
text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 
0px; white-space: normal; text-decoration-thickness: initial; 
text-decoration-style: initial; text-decoration-color: initial;"><div 
class="md-code-block-banner-wrap" style="top: 0px; z-index: 6; 
background-color: rgb(255, 255, 255); border-top-left-radius: 12px; 
border-top-right-radius: 12px; position: sticky;"><div 
class="md-code-block-banner md-code-block-banner-lite" style="background: none 
0% 0% / auto repeat scroll padding-box border-box rgb(249, 250, 251); font: 400 
13px / 20px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont
 , &quot;Segoe UI&quot;, Roboto, Oxygen, Ubuntu, Cantarell, &quot;Open 
Sans&quot;, &quot;Helvetica Neue&quot;, sans-serif; justify-content: 
space-between; padding: 0px; display: flex; border-top-left-radius: 12px; 
border-top-right-radius: 12px;"><div class="_121d384" style="justify-content: 
space-between; align-items: center; width: 740px; padding: 6px; display: 
flex;"><div class="d2a24f03" style="flex-shrink: 0;"><span class="d813de27" 
style="color: rgb(15, 17, 21); font-family: Menlo, Monaco, Consolas, 
&quot;Cascadia Mono&quot;, &quot;Ubuntu Mono&quot;, &quot;DejaVu Sans 
Mono&quot;, &quot;Liberation Mono&quot;, &quot;JetBrains Mono&quot;, &quot;Fira 
Code&quot;, Cousine, &quot;Roboto Mono&quot;, &quot;Courier New&quot;, Courier, 
sans-serif, system-ui; margin-left: 8px; font-size: 12px; line-height: 
18px;">hocon</span></div></div></div></div><pre style="font: 400 13px / 22px 
Menlo, Monaco, Consolas, &quot;Cascadia Mono&quot;, &quot;Ubuntu Mono&quot;, 
&quot;DejaVu Sans Mono&quot;, &qu
 ot;Liberation Mono&quot;, &quot;JetBrains Mono&quot;, &quot;Fira Code&quot;, 
Cousine, &quot;Roboto Mono&quot;, &quot;Courier New&quot;, Courier, sans-serif, 
system-ui; margin: 0px !important; overflow: auto; white-space: pre-wrap; 
word-break: break-all; padding: 16px;"><span>primary_keys = [</span>
   <span>  "default:ID,DATA_SOURCE",</span>
   <span>  "t_nova_fo_serial:SERIAL_ID,DATA_SOURCE",</span>
   <span>  "t_tyuen_txn_qr:ID_TXN_CTRL,DATA_SOURCE"</span>
   <span>]</span></pre><svg xmlns="http://www.w3.org/2000/svg"; width="12" 
height="12" viewBox="0 0 12 12" fill="none" class="_9bc997d _33882ae"><path 
d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" 
fill="currentColor"></path></svg><svg xmlns="http://www.w3.org/2000/svg"; 
width="12" height="12" viewBox="0 0 12 12" fill="none" class="_9bc997d 
_28d7e84"><path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 
12L-5.24537e-07 0Z" fill="currentColor"></path></svg></div><p 
class="ds-markdown-paragraph" style="margin: 16px 0px; color: rgb(15, 17, 21); 
font-family: quote-cjk-patch, Inter, system-ui, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Oxygen, Ubuntu, Cantarell, 
&quot;Open Sans&quot;, &quot;Helvetica Neue&quot;, sans-serif; font-size: 16px; 
font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; 
font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; 
text-indent: 0px; text-transform: non
 e; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: 
normal; background-color: rgb(255, 255, 255); text-decoration-thickness: 
initial; text-decoration-style: initial; text-decoration-color: initial;"><span 
class="">Syntax:<span> </span></span><code style="box-sizing: border-box; 
font-style: normal; font-variant: normal; font-weight: 400; font-stretch: 100%; 
line-height: 22px; font-optical-sizing: auto; font-size-adjust: none; 
font-kerning: auto; font-feature-settings: normal; font-variation-settings: 
normal; font-language-override: normal; font-family: Menlo, Monaco, Consolas, 
&quot;Cascadia Mono&quot;, &quot;Ubuntu Mono&quot;, &quot;DejaVu Sans 
Mono&quot;, &quot;Liberation Mono&quot;, &quot;JetBrains Mono&quot;, &quot;Fira 
Code&quot;, Cousine, &quot;Roboto Mono&quot;, &quot;Courier New&quot;, Courier, 
sans-serif, system-ui; background-color: rgb(235, 238, 242); border-radius: 
6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 
0.87
 5em !important;">"table_prefix:key1,key2,..."</code><br><code 
style="box-sizing: border-box; font-style: normal; font-variant: normal; 
font-weight: 400; font-stretch: 100%; line-height: 22px; font-optical-sizing: 
auto; font-size-adjust: none; font-kerning: auto; font-feature-settings: 
normal; font-variation-settings: normal; font-language-override: normal; 
font-family: Menlo, Monaco, Consolas, &quot;Cascadia Mono&quot;, &quot;Ubuntu 
Mono&quot;, &quot;DejaVu Sans Mono&quot;, &quot;Liberation Mono&quot;, 
&quot;JetBrains Mono&quot;, &quot;Fira Code&quot;, Cousine, &quot;Roboto 
Mono&quot;, &quot;Courier New&quot;, Courier, sans-serif, system-ui; 
background-color: rgb(235, 238, 242); border-radius: 6px; align-items: center; 
padding: 0px 5px; display: inline-flex; font-size: 0.875em 
!important;">default</code><span class=""><span> </span>acts as fallback for 
unmatched tables.</span></p><p class="ds-markdown-paragraph" style="margin: 
16px 0px; color: rgb(15, 17, 21); font-family: quote-cj
 k-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &quot;Segoe 
UI&quot;, Roboto, Oxygen, Ubuntu, Cantarell, &quot;Open Sans&quot;, 
&quot;Helvetica Neue&quot;, sans-serif; font-size: 16px; font-style: normal; 
font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; 
letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; 
text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 
0px; white-space: normal; background-color: rgb(255, 255, 255); 
text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color: initial;"><strong style="font-weight: 600;"><span 
class="">Matching logic:</span></strong></p><ol start="1" style="margin: 16px 
0px; padding-left: 18px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, 
Inter, system-ui, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, 
Roboto, Oxygen, Ubuntu, Cantarell, &quot;Open Sans&quot;, &quot;Helvetica 
Neue&quot;, sans-serif; font-size: 16p
 x; font-style: normal; font-variant-ligatures: normal; font-variant-caps: 
normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: 
start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 
255, 255); text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color: initial;"><li><p class="ds-markdown-paragraph" 
style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; 
margin-left: 0px;"><span class="">Check if table name starts with any 
configured prefix → use that key list.</span></p></li><li style="margin-top: 
6px;"><p class="ds-markdown-paragraph" style="margin-top: 0px !important; 
margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span class="">Else 
use<span> </span></span><code style="box-sizing: border-box; font-style: 
normal; font-variant: normal; font-weight: 400; font-stretch: 100%; 
line-height: 22px; font-op
 tical-sizing: auto; font-size-adjust: none; font-kerning: auto; 
font-feature-settings: normal; font-variation-settings: normal; 
font-language-override: normal; font-family: Menlo, Monaco, Consolas, 
&quot;Cascadia Mono&quot;, &quot;Ubuntu Mono&quot;, &quot;DejaVu Sans 
Mono&quot;, &quot;Liberation Mono&quot;, &quot;JetBrains Mono&quot;, &quot;Fira 
Code&quot;, Cousine, &quot;Roboto Mono&quot;, &quot;Courier New&quot;, Courier, 
sans-serif, system-ui; background-color: rgb(235, 238, 242); border-radius: 
6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 
0.875em !important;">default</code><span class=""><span> 
</span>entry.</span></p></li><li style="margin-top: 6px;"><p 
class="ds-markdown-paragraph" style="margin-top: 0px !important; margin-right: 
0px; margin-bottom: 0px; margin-left: 0px;"><span class="">If the structure 
doesn't match this format (no<span> </span></span><code style="box-sizing: 
border-box; font-style: normal; font-variant: normal; font-weight:
  400; font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; 
font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; 
font-variation-settings: normal; font-language-override: normal; font-family: 
Menlo, Monaco, Consolas, &quot;Cascadia Mono&quot;, &quot;Ubuntu Mono&quot;, 
&quot;DejaVu Sans Mono&quot;, &quot;Liberation Mono&quot;, &quot;JetBrains 
Mono&quot;, &quot;Fira Code&quot;, Cousine, &quot;Roboto Mono&quot;, 
&quot;Courier New&quot;, Courier, sans-serif, system-ui; background-color: 
rgb(235, 238, 242); border-radius: 6px; align-items: center; padding: 0px 5px; 
display: inline-flex; font-size: 0.875em !important;">:</code><span class="">), 
fall back to original behavior.</span></p></li></ol><h3 style="font: 700 20px / 
30px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 
&quot;Segoe UI&quot;, Roboto, Oxygen, Ubuntu, Cantarell, &quot;Open Sans&quot;, 
&quot;Helvetica Neue&quot;, sans-serif; margin: 32px 0px 16px; color: rgb(15, 
17, 
 21); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; 
text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 
0px; white-space: normal; background-color: rgb(255, 255, 255); 
text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color: initial;"><span class="">Benefits</span></h3><div 
class="ds-scroll-area ds-scroll-area--show-on-focus-within 
ds-scroll-area--enabled _1210dd7 c03cafe9" 
style="--dsl-scroll-area-gutters-disappear-delay: 1s; z-index: 0; position: 
relative; overflow: auto; scrollbar-width: none; color: rgb(15, 17, 21); 
font-family: quote-cjk-patch, Inter, system-ui, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Oxygen, Ubuntu, Cantarell, 
&quot;Open Sans&quot;, &quot;Helvetica Neue&quot;, sans-serif; font-size: 16px; 
font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; 
font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; 
text-indent:
  0px; text-transform: none; widows: 2; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 
255, 255); text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color: initial; --container-height: 184px;"><div 
class="ds-scroll-area__gutters" style="--dsl-scroll-area-scrollbar-bg: #e5e5e5; 
--dsl-scroll-area-scrollbar-hover: #d4d4d4; pointer-events: none; z-index: 
1000; transition: opacity 0.1s ease-out 1s; opacity: 1 !important; display: 
block; --container-height: 184px; position: sticky; top: 0px; left: 0px; right: 
0px; width: 752px; height: 0px;"><div class="ds-scroll-area__horizontal-gutter" 
style="position: absolute; left: 0px; right: 0px; display: block; top: 170px; 
height: 8px;"></div><div class="ds-scroll-area__vertical-gutter" 
style="position: absolute; right: 3px; top: 3px; bottom: -181px; width: 
8px;"></div></div>
   Scenario | Before | After
   -- | -- | --
   100 tables with different PKs | 100 pipeline configs | One config with 100 
prefixes
   Add a new table | New config or code change | Add one line
   Append static field to all PKs | Impossible (mix not allowed) | Works 
natively
   
   </div><h3 style="font: 700 20px / 30px quote-cjk-patch, Inter, system-ui, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Oxygen, 
Ubuntu, Cantarell, &quot;Open Sans&quot;, &quot;Helvetica Neue&quot;, 
sans-serif; margin: 32px 0px 16px; color: rgb(15, 17, 21); letter-spacing: 
normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; 
widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: 
normal; background-color: rgb(255, 255, 255); text-decoration-thickness: 
initial; text-decoration-style: initial; text-decoration-color: initial;"><span 
class="">Production Validation</span></h3><p class="ds-markdown-paragraph" 
style="margin: 16px 0px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, 
Inter, system-ui, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, 
Roboto, Oxygen, Ubuntu, Cantarell, &quot;Open Sans&quot;, &quot;Helvetica 
Neue&quot;, sans-serif; font-size: 16px; font-style: normal; 
font-variant-ligatures: normal; 
 font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 
2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; 
word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; 
background-color: rgb(255, 255, 255); text-decoration-thickness: initial; 
text-decoration-style: initial; text-decoration-color: initial;"><span 
class="">This feature is already<span> </span></span><strong 
style="font-weight: 600;"><span class="">implemented and running in 
production</span></strong><span class=""><span> </span>for several months, 
handling hundreds of tables reliably.</span></p><h3 style="font: 700 20px / 
30px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, 
&quot;Segoe UI&quot;, Roboto, Oxygen, Ubuntu, Cantarell, &quot;Open Sans&quot;, 
&quot;Helvetica Neue&quot;, sans-serif; margin: 32px 0px 16px; color: rgb(15, 
17, 21); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 
0px; text-transform: none; widows: 2;
  word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; 
background-color: rgb(255, 255, 255); text-decoration-thickness: initial; 
text-decoration-style: initial; text-decoration-color: initial;"><span 
class="">Backward Compatibility</span></h3><p class="ds-markdown-paragraph" 
style="margin: 16px 0px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, 
Inter, system-ui, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, 
Roboto, Oxygen, Ubuntu, Cantarell, &quot;Open Sans&quot;, &quot;Helvetica 
Neue&quot;, sans-serif; font-size: 16px; font-style: normal; 
font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; 
letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; 
text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 
0px; white-space: normal; background-color: rgb(255, 255, 255); 
text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color: initial;"><span class="">If<sp
 an> </span></span><code style="box-sizing: border-box; font-style: normal; 
font-variant: normal; font-weight: 400; font-stretch: 100%; line-height: 22px; 
font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; 
font-feature-settings: normal; font-variation-settings: normal; 
font-language-override: normal; font-family: Menlo, Monaco, Consolas, 
&quot;Cascadia Mono&quot;, &quot;Ubuntu Mono&quot;, &quot;DejaVu Sans 
Mono&quot;, &quot;Liberation Mono&quot;, &quot;JetBrains Mono&quot;, &quot;Fira 
Code&quot;, Cousine, &quot;Roboto Mono&quot;, &quot;Courier New&quot;, Courier, 
sans-serif, system-ui; background-color: rgb(235, 238, 242); border-radius: 
6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 
0.875em !important;">primary_keys</code><span class=""><span> </span>is a 
simple list (e.g.,<span> </span></span><code style="box-sizing: border-box; 
font-style: normal; font-variant: normal; font-weight: 400; font-stretch: 100%; 
line-height: 22px; fon
 t-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; 
font-feature-settings: normal; font-variation-settings: normal; 
font-language-override: normal; font-family: Menlo, Monaco, Consolas, 
&quot;Cascadia Mono&quot;, &quot;Ubuntu Mono&quot;, &quot;DejaVu Sans 
Mono&quot;, &quot;Liberation Mono&quot;, &quot;JetBrains Mono&quot;, &quot;Fira 
Code&quot;, Cousine, &quot;Roboto Mono&quot;, &quot;Courier New&quot;, Courier, 
sans-serif, system-ui; background-color: rgb(235, 238, 242); border-radius: 
6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 
0.875em !important;">["id"]</code><span class=""><span> </span>or<span> 
</span></span><code style="box-sizing: border-box; font-style: normal; 
font-variant: normal; font-weight: 400; font-stretch: 100%; line-height: 22px; 
font-optical-sizing: auto; font-size-adjust: none; font-kerning: auto; 
font-feature-settings: normal; font-variation-settings: normal; 
font-language-override: normal; font-family: Menlo, M
 onaco, Consolas, &quot;Cascadia Mono&quot;, &quot;Ubuntu Mono&quot;, 
&quot;DejaVu Sans Mono&quot;, &quot;Liberation Mono&quot;, &quot;JetBrains 
Mono&quot;, &quot;Fira Code&quot;, Cousine, &quot;Roboto Mono&quot;, 
&quot;Courier New&quot;, Courier, sans-serif, system-ui; background-color: 
rgb(235, 238, 242); border-radius: 6px; align-items: center; padding: 0px 5px; 
display: inline-flex; font-size: 0.875em 
!important;">["${primary_key}"]</code><span class="">), it works unchanged. 
Only entries containing<span> </span></span><code style="box-sizing: 
border-box; font-style: normal; font-variant: normal; font-weight: 400; 
font-stretch: 100%; line-height: 22px; font-optical-sizing: auto; 
font-size-adjust: none; font-kerning: auto; font-feature-settings: normal; 
font-variation-settings: normal; font-language-override: normal; font-family: 
Menlo, Monaco, Consolas, &quot;Cascadia Mono&quot;, &quot;Ubuntu Mono&quot;, 
&quot;DejaVu Sans Mono&quot;, &quot;Liberation Mono&quot;, &quot;JetBrains 
 Mono&quot;, &quot;Fira Code&quot;, Cousine, &quot;Roboto Mono&quot;, 
&quot;Courier New&quot;, Courier, sans-serif, system-ui; background-color: 
rgb(235, 238, 242); border-radius: 6px; align-items: center; padding: 0px 5px; 
display: inline-flex; font-size: 0.875em !important;">:</code><span 
class=""><span> </span>trigger the new logic – zero breaking 
changes.</span></p><h3 style="font: 700 20px / 30px quote-cjk-patch, Inter, 
system-ui, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, 
Oxygen, Ubuntu, Cantarell, &quot;Open Sans&quot;, &quot;Helvetica Neue&quot;, 
sans-serif; margin: 32px 0px 16px; color: rgb(15, 17, 21); letter-spacing: 
normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; 
widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: 
normal; background-color: rgb(255, 255, 255); text-decoration-thickness: 
initial; text-decoration-style: initial; text-decoration-color: initial;"><span 
class="">Request</span></h3><p
  class="ds-markdown-paragraph" style="margin: 16px 0px; color: rgb(15, 17, 
21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Oxygen, Ubuntu, Cantarell, 
&quot;Open Sans&quot;, &quot;Helvetica Neue&quot;, sans-serif; font-size: 16px; 
font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; 
font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; 
text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; 
-webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 
255, 255); text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color: initial;"><span class="">I'd like to contribute this 
back to the community. Please advise:</span></p><ul style="margin: 16px 0px; 
padding-left: 18px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, 
Inter, system-ui, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, 
Roboto, Oxygen
 , Ubuntu, Cantarell, &quot;Open Sans&quot;, &quot;Helvetica Neue&quot;, 
sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: 
normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; 
orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 
2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; 
background-color: rgb(255, 255, 255); text-decoration-thickness: initial; 
text-decoration-style: initial; text-decoration-color: initial;"><li><p 
class="ds-markdown-paragraph" style="margin-top: 0px !important; margin-right: 
0px; margin-bottom: 0px; margin-left: 0px;"><span class="">Is there 
interest?</span></p></li><li style="margin-top: 6px;"><p 
class="ds-markdown-paragraph" style="margin-top: 0px !important; margin-right: 
0px; margin-bottom: 0px; margin-left: 0px;"><span class="">Preferred 
contribution process (PR first, or design discussion)?</span></p></li><li 
style="margin-top: 6px;"><p class="ds-markdown-pa
 ragraph" style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 
0px; margin-left: 0px;"><span class="">Any specific 
requirements?</span></p></li></ul><p class="ds-markdown-paragraph" 
style="margin: 16px 0px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, 
Inter, system-ui, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, 
Roboto, Oxygen, Ubuntu, Cantarell, &quot;Open Sans&quot;, &quot;Helvetica 
Neue&quot;, sans-serif; font-size: 16px; font-style: normal; 
font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; 
letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; 
text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 
0px; white-space: normal; background-color: rgb(255, 255, 255); 
text-decoration-thickness: initial; text-decoration-style: initial; 
text-decoration-color: initial;"><span class="">I’m ready to prepare a PR with 
tests and docs.</span></p><!--EndFragment-->
   </body>
   </html>
   
   ### Usage Scenario
   
   _No response_
   
   ### Related issues
   
   _No response_
   
   ### Are you willing to submit a PR?
   
   - [x] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


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