|
50 | 50 | # while we are here, also exercise --text-search-config and --set options |
51 | 51 | command_ok( |
52 | 52 | [ |
53 | | - 'initdb', |
54 | | - '--no-sync', |
| 53 | + 'initdb', '--no-sync', |
55 | 54 | '--text-search-config' => 'german', |
56 | 55 | '--set' => 'default_text_search_config=german', |
57 | 56 | '--waldir' => $xlogdir, |
|
101 | 100 | # Init a new db with group access |
102 | 101 | my $datadir_group = "$tempdir/data_group"; |
103 | 102 |
|
104 | | - command_ok( |
105 | | - [ 'initdb', '-g', $datadir_group ], |
| 103 | + command_ok([ 'initdb', '--allow-group-access', $datadir_group ], |
106 | 104 | 'successful creation with group access'); |
107 | 105 |
|
108 | 106 | ok(check_mode_recursive($datadir_group, 0750, 0640), |
|
114 | 112 | if ($ENV{with_icu} eq 'yes') |
115 | 113 | { |
116 | 114 | command_fails_like( |
117 | | - [ 'initdb', '--no-sync', '--locale-provider=icu', "$tempdir/data2" ], |
| 115 | + [ |
| 116 | + 'initdb', '--no-sync', |
| 117 | + '--locale-provider' => 'icu', |
| 118 | + "$tempdir/data2" |
| 119 | + ], |
118 | 120 | qr/initdb: error: locale must be specified if provider is icu/, |
119 | 121 | 'locale provider ICU requires --icu-locale'); |
120 | 122 |
|
121 | 123 | command_ok( |
122 | 124 | [ |
123 | 125 | 'initdb', '--no-sync', |
124 | | - '--locale-provider=icu', '--icu-locale=en', |
| 126 | + '--locale-provider' => 'icu', |
| 127 | + '--icu-locale' => 'en', |
125 | 128 | "$tempdir/data3" |
126 | 129 | ], |
127 | 130 | 'option --icu-locale'); |
128 | 131 |
|
129 | 132 | command_like( |
130 | 133 | [ |
131 | 134 | 'initdb', '--no-sync', |
132 | | - '-A' => 'trust', |
133 | | - '--locale-provider=icu', '--locale=und', |
134 | | - '--lc-collate=C', '--lc-ctype=C', |
135 | | - '--lc-messages=C', '--lc-numeric=C', |
136 | | - '--lc-monetary=C', '--lc-time=C', |
| 135 | + '--auth' => 'trust', |
| 136 | + '--locale-provider' => 'icu', |
| 137 | + '--locale' => 'und', |
| 138 | + '--lc-collate' => 'C', |
| 139 | + '--lc-ctype' => 'C', |
| 140 | + '--lc-messages' => 'C', |
| 141 | + '--lc-numeric' => 'C', |
| 142 | + '--lc-monetary' => 'C', |
| 143 | + '--lc-time' => 'C', |
137 | 144 | "$tempdir/data4" |
138 | 145 | ], |
139 | 146 | qr/^\s+default collation:\s+und\n/ms, |
|
142 | 149 | command_fails_like( |
143 | 150 | [ |
144 | 151 | 'initdb', '--no-sync', |
145 | | - '--locale-provider=icu', '--icu-locale=@colNumeric=lower', |
| 152 | + '--locale-provider' => 'icu', |
| 153 | + '--icu-locale' => '@colNumeric=lower', |
146 | 154 | "$tempdir/dataX" |
147 | 155 | ], |
148 | 156 | qr/could not open collator for locale/, |
|
151 | 159 | command_fails_like( |
152 | 160 | [ |
153 | 161 | 'initdb', '--no-sync', |
154 | | - '--locale-provider=icu', '--encoding=SQL_ASCII', |
155 | | - '--icu-locale=en', "$tempdir/dataX" |
| 162 | + '--locale-provider' => 'icu', |
| 163 | + '--encoding' => 'SQL_ASCII', |
| 164 | + '--icu-locale' => 'en', |
| 165 | + "$tempdir/dataX" |
156 | 166 | ], |
157 | 167 | qr/error: encoding mismatch/, |
158 | 168 | 'fails for encoding not supported by ICU'); |
159 | 169 |
|
160 | 170 | command_fails_like( |
161 | 171 | [ |
162 | 172 | 'initdb', '--no-sync', |
163 | | - '--locale-provider=icu', '--icu-locale=nonsense-nowhere', |
| 173 | + '--locale-provider' => 'icu', |
| 174 | + '--icu-locale' => 'nonsense-nowhere', |
164 | 175 | "$tempdir/dataX" |
165 | 176 | ], |
166 | 177 | qr/error: locale "nonsense-nowhere" has unknown language "nonsense"/, |
|
169 | 180 | command_fails_like( |
170 | 181 | [ |
171 | 182 | 'initdb', '--no-sync', |
172 | | - '--locale-provider=icu', '--icu-locale=@colNumeric=lower', |
| 183 | + '--locale-provider' => 'icu', |
| 184 | + '--icu-locale' => '@colNumeric=lower', |
173 | 185 | "$tempdir/dataX" |
174 | 186 | ], |
175 | 187 | qr/could not open collator for locale "und-u-kn-lower": U_ILLEGAL_ARGUMENT_ERROR/, |
|
178 | 190 | else |
179 | 191 | { |
180 | 192 | command_fails( |
181 | | - [ 'initdb', '--no-sync', '--locale-provider=icu', "$tempdir/data2" ], |
| 193 | + [ |
| 194 | + 'initdb', '--no-sync', |
| 195 | + '--locale-provider' => 'icu', |
| 196 | + "$tempdir/data2" |
| 197 | + ], |
182 | 198 | 'locale provider ICU fails since no ICU support'); |
183 | 199 | } |
184 | 200 |
|
185 | 201 | command_fails( |
186 | | - [ 'initdb', '--no-sync', '--locale-provider=builtin', "$tempdir/data6" ], |
| 202 | + [ |
| 203 | + 'initdb', '--no-sync', |
| 204 | + '--locale-provider' => 'builtin', |
| 205 | + "$tempdir/data6" |
| 206 | + ], |
187 | 207 | 'locale provider builtin fails without --locale'); |
188 | 208 |
|
189 | 209 | command_ok( |
190 | 210 | [ |
191 | 211 | 'initdb', '--no-sync', |
192 | | - '--locale-provider=builtin', '--locale=C', |
| 212 | + '--locale-provider' => 'builtin', |
| 213 | + '--locale' => 'C', |
193 | 214 | "$tempdir/data7" |
194 | 215 | ], |
195 | 216 | 'locale provider builtin with --locale'); |
196 | 217 |
|
197 | 218 | command_ok( |
198 | 219 | [ |
199 | 220 | 'initdb', '--no-sync', |
200 | | - '--locale-provider=builtin', '-E UTF-8', |
201 | | - '--lc-collate=C', '--lc-ctype=C', |
202 | | - '--builtin-locale=C.UTF-8', "$tempdir/data8" |
| 221 | + '--locale-provider' => 'builtin', |
| 222 | + '--encoding' => 'UTF-8', |
| 223 | + '--lc-collate' => 'C', |
| 224 | + '--lc-ctype' => 'C', |
| 225 | + '--builtin-locale' => 'C.UTF-8', |
| 226 | + "$tempdir/data8" |
203 | 227 | ], |
204 | | - 'locale provider builtin with -E UTF-8 --builtin-locale=C.UTF-8'); |
| 228 | + 'locale provider builtin with --encoding=UTF-8 --builtin-locale=C.UTF-8'); |
205 | 229 |
|
206 | 230 | command_fails( |
207 | 231 | [ |
208 | 232 | 'initdb', '--no-sync', |
209 | | - '--locale-provider=builtin', '-E SQL_ASCII', |
210 | | - '--lc-collate=C', '--lc-ctype=C', |
211 | | - '--builtin-locale=C.UTF-8', "$tempdir/data9" |
| 233 | + '--locale-provider' => 'builtin', |
| 234 | + '--encoding' => 'SQL_ASCII', |
| 235 | + '--lc-collate' => 'C', |
| 236 | + '--lc-ctype' => 'C', |
| 237 | + '--builtin-locale' => 'C.UTF-8', |
| 238 | + "$tempdir/data9" |
212 | 239 | ], |
213 | 240 | 'locale provider builtin with --builtin-locale=C.UTF-8 fails for SQL_ASCII' |
214 | 241 | ); |
215 | 242 |
|
216 | 243 | command_ok( |
217 | 244 | [ |
218 | 245 | 'initdb', '--no-sync', |
219 | | - '--locale-provider=builtin', '--lc-ctype=C', |
220 | | - '--locale=C', "$tempdir/data10" |
| 246 | + '--locale-provider' => 'builtin', |
| 247 | + '--lc-ctype' => 'C', |
| 248 | + '--locale' => 'C', |
| 249 | + "$tempdir/data10" |
221 | 250 | ], |
222 | 251 | 'locale provider builtin with --lc-ctype'); |
223 | 252 |
|
224 | 253 | command_fails( |
225 | 254 | [ |
226 | 255 | 'initdb', '--no-sync', |
227 | | - '--locale-provider=builtin', '--icu-locale=en', |
| 256 | + '--locale-provider' => 'builtin', |
| 257 | + '--icu-locale' => 'en', |
228 | 258 | "$tempdir/dataX" |
229 | 259 | ], |
230 | 260 | 'fails for locale provider builtin with ICU locale'); |
231 | 261 |
|
232 | 262 | command_fails( |
233 | 263 | [ |
234 | 264 | 'initdb', '--no-sync', |
235 | | - '--locale-provider=builtin', '--icu-rules=""', |
| 265 | + '--locale-provider' => 'builtin', |
| 266 | + '--icu-rules' => '""', |
236 | 267 | "$tempdir/dataX" |
237 | 268 | ], |
238 | 269 | 'fails for locale provider builtin with ICU rules'); |
239 | 270 |
|
240 | 271 | command_fails( |
241 | | - [ 'initdb', '--no-sync', '--locale-provider=xyz', "$tempdir/dataX" ], |
| 272 | + [ |
| 273 | + 'initdb', '--no-sync', |
| 274 | + '--locale-provider' => 'xyz', |
| 275 | + "$tempdir/dataX" |
| 276 | + ], |
242 | 277 | 'fails for invalid locale provider'); |
243 | 278 |
|
244 | 279 | command_fails( |
245 | 280 | [ |
246 | 281 | 'initdb', '--no-sync', |
247 | | - '--locale-provider=libc', '--icu-locale=en', |
| 282 | + '--locale-provider' => 'libc', |
| 283 | + '--icu-locale' => 'en', |
248 | 284 | "$tempdir/dataX" |
249 | 285 | ], |
250 | 286 | 'fails for invalid option combination'); |
251 | 287 |
|
252 | 288 | command_fails( |
253 | | - [ 'initdb', '--no-sync', '--set' => 'foo=bar', "$tempdir/dataX" ], |
| 289 | + [ |
| 290 | + 'initdb', '--no-sync', |
| 291 | + '--set' => 'foo=bar', |
| 292 | + "$tempdir/dataX" |
| 293 | + ], |
254 | 294 | 'fails for invalid --set option'); |
255 | 295 |
|
256 | | -# Make sure multiple invocations of -c parameters are added case insensitive |
| 296 | +# Make sure multiple invocations of --set parameters are added case |
| 297 | +# insensitive. |
257 | 298 | command_ok( |
258 | 299 | [ |
259 | | - 'initdb', '-cwork_mem=128', |
260 | | - '-cWork_Mem=256', '-cWORK_MEM=512', |
| 300 | + 'initdb', '--no-sync', |
| 301 | + '--set' => 'work_mem=128', |
| 302 | + '--set' => 'Work_Mem=256', |
| 303 | + '--set' => 'WORK_MEM=512', |
261 | 304 | "$tempdir/dataY" |
262 | 305 | ], |
263 | | - 'multiple -c options with different case'); |
| 306 | + 'multiple --set options with different case'); |
264 | 307 |
|
265 | 308 | my $conf = slurp_file("$tempdir/dataY/postgresql.conf"); |
266 | 309 | ok($conf !~ qr/^WORK_MEM = /m, "WORK_MEM should not be configured"); |
|
0 commit comments