@@ -5,12 +5,10 @@ export const cdcSettings: MirrorSetting[] = [
55 {
66 label : 'Initial Copy' ,
77 stateHandler : ( value , setter ) =>
8- setter (
9- ( curr : CDCConfig ) : CDCConfig => ( {
10- ...curr ,
11- doInitialSnapshot : ( value as boolean ) ?? true ,
12- } )
13- ) ,
8+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
9+ ...curr ,
10+ doInitialSnapshot : ( value as boolean ) ?? true ,
11+ } ) ) ,
1412 tips : 'Specify if you want initial load to happen for your tables.' ,
1513 type : 'switch' ,
1614 default : true ,
@@ -19,12 +17,10 @@ export const cdcSettings: MirrorSetting[] = [
1917 {
2018 label : 'Pull Batch Size' ,
2119 stateHandler : ( value , setter ) =>
22- setter (
23- ( curr : CDCConfig ) : CDCConfig => ( {
24- ...curr ,
25- maxBatchSize : ( value as number ) || 250000 ,
26- } )
27- ) ,
20+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
21+ ...curr ,
22+ maxBatchSize : ( value as number ) || 250000 ,
23+ } ) ) ,
2824 tips : 'The number of rows PeerDB will pull from source at a time. If left empty, the default value is 250,000 rows.' ,
2925 type : 'number' ,
3026 default : '250000' ,
@@ -33,12 +29,10 @@ export const cdcSettings: MirrorSetting[] = [
3329 {
3430 label : 'Sync Interval (Seconds)' ,
3531 stateHandler : ( value , setter ) =>
36- setter (
37- ( curr : CDCConfig ) : CDCConfig => ( {
38- ...curr ,
39- idleTimeoutSeconds : ( value as number ) || 60 ,
40- } )
41- ) ,
32+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
33+ ...curr ,
34+ idleTimeoutSeconds : ( value as number ) || 60 ,
35+ } ) ) ,
4236 tips : 'Time after which a Sync flow ends, if it happens before pull batch size is reached. Defaults to 60 seconds.' ,
4337 helpfulLink : 'https://docs.peerdb.io/metrics/important_cdc_configs' ,
4438 type : 'number' ,
@@ -49,12 +43,10 @@ export const cdcSettings: MirrorSetting[] = [
4943 {
5044 label : 'Publication Name' ,
5145 stateHandler : ( value , setter ) =>
52- setter (
53- ( curr : CDCConfig ) : CDCConfig => ( {
54- ...curr ,
55- publicationName : ( value as string ) || '' ,
56- } )
57- ) ,
46+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
47+ ...curr ,
48+ publicationName : ( value as string ) || '' ,
49+ } ) ) ,
5850 type : 'select' ,
5951 tips : 'PeerDB requires a publication associated with the tables you wish to sync.' ,
6052 helpfulLink :
@@ -64,23 +56,19 @@ export const cdcSettings: MirrorSetting[] = [
6456 {
6557 label : 'Replication Slot Name' ,
6658 stateHandler : ( value , setter ) =>
67- setter (
68- ( curr : CDCConfig ) : CDCConfig => ( {
69- ...curr ,
70- replicationSlotName : ( value as string ) || '' ,
71- } )
72- ) ,
59+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
60+ ...curr ,
61+ replicationSlotName : ( value as string ) || '' ,
62+ } ) ) ,
7363 tips : 'If set, PeerDB will use this slot for the mirror.' ,
7464 } ,
7565 {
7666 label : 'Snapshot Number of Rows Per Partition' ,
7767 stateHandler : ( value , setter ) =>
78- setter (
79- ( curr : CDCConfig ) : CDCConfig => ( {
80- ...curr ,
81- snapshotNumRowsPerPartition : parseInt ( value as string , 10 ) || 250000 ,
82- } )
83- ) ,
68+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
69+ ...curr ,
70+ snapshotNumRowsPerPartition : parseInt ( value as string , 10 ) || 250000 ,
71+ } ) ) ,
8472 tips : 'PeerDB splits up table data into partitions for increased performance. This setting controls the number of rows per partition. The default value is 250000.' ,
8573 default : '250000' ,
8674 type : 'number' ,
@@ -89,12 +77,10 @@ export const cdcSettings: MirrorSetting[] = [
8977 {
9078 label : 'Snapshot Number of Partitions Override' ,
9179 stateHandler : ( value , setter ) =>
92- setter (
93- ( curr : CDCConfig ) : CDCConfig => ( {
94- ...curr ,
95- snapshotNumPartitionsOverride : parseInt ( value as string , 10 ) || 0 ,
96- } )
97- ) ,
80+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
81+ ...curr ,
82+ snapshotNumPartitionsOverride : parseInt ( value as string , 10 ) || 0 ,
83+ } ) ) ,
9884 tips : 'Set this to avoid COUNT(*) necessary when using Snapshot Number of Rows Per Partition. This should only be used when ingesting billions of rows.' ,
9985 default : '0' ,
10086 type : 'number' ,
@@ -115,12 +101,10 @@ export const cdcSettings: MirrorSetting[] = [
115101 {
116102 label : 'Snapshot Number of Tables In Parallel' ,
117103 stateHandler : ( value , setter ) =>
118- setter (
119- ( curr : CDCConfig ) : CDCConfig => ( {
120- ...curr ,
121- snapshotNumTablesInParallel : parseInt ( value as string , 10 ) || 1 ,
122- } )
123- ) ,
104+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
105+ ...curr ,
106+ snapshotNumTablesInParallel : parseInt ( value as string , 10 ) || 1 ,
107+ } ) ) ,
124108 tips : 'Specify the number of tables to sync perform initial load for, in parallel. The default value is 1.' ,
125109 default : '1' ,
126110 type : 'number' ,
@@ -129,38 +113,32 @@ export const cdcSettings: MirrorSetting[] = [
129113 {
130114 label : 'Snapshot Staging Path' ,
131115 stateHandler : ( value , setter ) =>
132- setter (
133- ( curr : CDCConfig ) : CDCConfig => ( {
134- ...curr ,
135- snapshotStagingPath : value as string | '' ,
136- } )
137- ) ,
116+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
117+ ...curr ,
118+ snapshotStagingPath : value as string | '' ,
119+ } ) ) ,
138120 tips : 'You can specify staging path for Snapshot sync mode AVRO. For Snowflake as destination peer, this must be either empty or an S3 bucket URL. For BigQuery, this must be either empty or an existing GCS bucket name. In both cases, if empty, the local filesystem will be used.' ,
139121 advanced : AdvancedSettingType . ALL ,
140122 } ,
141123 {
142124 label : 'CDC Staging Path' ,
143125 stateHandler : ( value , setter ) =>
144- setter (
145- ( curr : CDCConfig ) : CDCConfig => ( {
146- ...curr ,
147- cdcStagingPath : ( value as string ) || '' ,
148- } )
149- ) ,
126+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
127+ ...curr ,
128+ cdcStagingPath : ( value as string ) || '' ,
129+ } ) ) ,
150130 tips : 'You can specify staging path for CDC sync mode AVRO. For Snowflake as destination peer, this must be either empty or an S3 bucket URL. For BigQuery, this must be either empty or an existing GCS bucket name. In both cases, if empty, the local filesystem will be used.' ,
151131 advanced : AdvancedSettingType . ALL ,
152132 } ,
153133 {
154134 label : 'Soft Delete' ,
155135 stateHandler : ( value , setter ) =>
156- setter (
157- ( curr : CDCConfig ) : CDCConfig => ( {
158- ...curr ,
159- softDeleteColName : ( value as boolean )
160- ? curr . softDeleteColName || blankCDCSetting . softDeleteColName
161- : '' ,
162- } )
163- ) ,
136+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
137+ ...curr ,
138+ softDeleteColName : ( value as boolean )
139+ ? curr . softDeleteColName || blankCDCSetting . softDeleteColName
140+ : '' ,
141+ } ) ) ,
164142 tips : 'Allows you to mark some records as deleted without actual erasure from the database' ,
165143 default : true ,
166144 type : 'switch' ,
@@ -169,15 +147,13 @@ export const cdcSettings: MirrorSetting[] = [
169147 {
170148 label : 'Delete rows on ReplacingMergeTree MERGE' ,
171149 stateHandler : ( value , setter ) =>
172- setter (
173- ( curr : CDCConfig ) : CDCConfig => ( {
174- ...curr ,
175- softDeleteColName : ( value as boolean )
176- ? curr . softDeleteColName ||
177- blankCDCSetting . softDeleteColName . toLowerCase ( )
178- : '' ,
179- } )
180- ) ,
150+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
151+ ...curr ,
152+ softDeleteColName : ( value as boolean )
153+ ? curr . softDeleteColName ||
154+ blankCDCSetting . softDeleteColName . toLowerCase ( )
155+ : '' ,
156+ } ) ) ,
181157 tips : 'Places the _peerdb_is_deleted column inside the ReplacingMergeTree syntax - allowing FINAL and merges to remove records marked as deleted' ,
182158 default : false ,
183159 type : 'switch' ,
@@ -186,25 +162,21 @@ export const cdcSettings: MirrorSetting[] = [
186162 {
187163 label : 'Initial Copy Only' ,
188164 stateHandler : ( value , setter ) =>
189- setter (
190- ( curr : CDCConfig ) : CDCConfig => ( {
191- ...curr ,
192- initialSnapshotOnly : ( value as boolean ) ?? false ,
193- } )
194- ) ,
165+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
166+ ...curr ,
167+ initialSnapshotOnly : ( value as boolean ) ?? false ,
168+ } ) ) ,
195169 tips : 'If set, PeerDB will only perform initial load and will not perform CDC sync.' ,
196170 type : 'switch' ,
197171 advanced : AdvancedSettingType . ALL ,
198172 } ,
199173 {
200174 label : 'Script' ,
201175 stateHandler : ( value , setter ) =>
202- setter (
203- ( curr : CDCConfig ) : CDCConfig => ( {
204- ...curr ,
205- script : ( value as string ) || '' ,
206- } )
207- ) ,
176+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
177+ ...curr ,
178+ script : ( value as string ) || '' ,
179+ } ) ) ,
208180 tips : 'Associate PeerDB script with this mirror.' ,
209181 advanced : AdvancedSettingType . ALL ,
210182 } ,
@@ -223,36 +195,30 @@ export const cdcSettings: MirrorSetting[] = [
223195 {
224196 label : 'Synced-At Column Name' ,
225197 stateHandler : ( value , setter ) =>
226- setter (
227- ( curr : CDCConfig ) : CDCConfig => ( {
228- ...curr ,
229- syncedAtColName : value as string | '' ,
230- } )
231- ) ,
198+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
199+ ...curr ,
200+ syncedAtColName : value as string | '' ,
201+ } ) ) ,
232202 tips : 'A field to set the name of PeerDBs synced_at column. If not set, a default name will be set' ,
233203 advanced : AdvancedSettingType . ALL ,
234204 } ,
235205 {
236206 label : 'Soft Delete Column Name' ,
237207 stateHandler : ( value , setter ) =>
238- setter (
239- ( curr : CDCConfig ) : CDCConfig => ( {
240- ...curr ,
241- softDeleteColName : value as string | '' ,
242- } )
243- ) ,
208+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
209+ ...curr ,
210+ softDeleteColName : value as string | '' ,
211+ } ) ) ,
244212 tips : 'A field to set the name of PeerDBs soft delete column.' ,
245213 advanced : AdvancedSettingType . ALL ,
246214 } ,
247215 {
248216 label : 'Disable all PeerDB columns (overrides any other setting)' ,
249217 stateHandler : ( value , setter ) =>
250- setter (
251- ( curr : CDCConfig ) : CDCConfig => ( {
252- ...curr ,
253- disablePeerDBColumns : ( value as boolean ) ?? false ,
254- } )
255- ) ,
218+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
219+ ...curr ,
220+ disablePeerDBColumns : ( value as boolean ) ?? false ,
221+ } ) ) ,
256222 type : 'switch' ,
257223 default : false ,
258224 tips : 'Disables columns like synced_at, soft_delete etc. from being added to the destination table' ,
@@ -261,12 +227,10 @@ export const cdcSettings: MirrorSetting[] = [
261227 {
262228 label : 'Settings override' ,
263229 stateHandler : ( value , setter ) =>
264- setter (
265- ( curr : CDCConfig ) : CDCConfig => ( {
266- ...curr ,
267- envString : value as string ,
268- } )
269- ) ,
230+ setter ( ( curr : CDCConfig ) : CDCConfig => ( {
231+ ...curr ,
232+ envString : value as string ,
233+ } ) ) ,
270234 type : 'textarea' ,
271235 default : '' ,
272236 tips : '{"string":"string"} JSON mapping to override global settings for mirror' ,
0 commit comments