github.com/dolthub/go-mysql-server@v0.18.0/sql/encodings/utf8mb4_da_0900_ai_ci.go (about) 1 // Copyright 2023 Dolthub, Inc. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 package encodings 16 17 // Utf8mb4_da_0900_ai_ci_RuneWeight returns the weight of a given rune based on its relational sort order from 18 // the `utf8mb4_da_0900_ai_ci` collation. 19 func Utf8mb4_da_0900_ai_ci_RuneWeight(r rune) int32 { 20 weight, ok := utf8mb4_da_0900_ai_ci_Weights()[r] 21 if ok { 22 return weight 23 } else if r >= 9003 && r <= 9214 { 24 return r - 7561 25 } else if r >= 9475 && r <= 9632 { 26 return r - 7768 27 } else if r >= 9676 && r <= 9775 { 28 return r - 7768 29 } else if r >= 9872 && r <= 9983 { 30 return r - 7785 31 } else if r >= 9984 && r <= 10087 { 32 return r - 7759 33 } else if r >= 10496 && r <= 10626 { 34 return r - 8071 35 } else if r >= 10765 && r <= 10867 { 36 return r - 8100 37 } else if r >= 10872 && r <= 10971 { 38 return r - 8103 39 } else if r >= 10974 && r <= 11123 { 40 return r - 8104 41 } else if r >= 10240 && r <= 10495 { 42 return r - 7124 43 } else if r >= 118784 && r <= 119029 { 44 return r - 115098 45 } else if r >= 127024 && r <= 127123 { 46 return r - 122797 47 } else if r >= 127744 && r <= 128511 { 48 return r - 123335 49 } else if r >= 128512 && r <= 128722 { 50 return r - 123253 51 } else if r >= 128768 && r <= 128883 { 52 return r - 123278 53 } else if r >= 120832 && r <= 121343 { 54 return r - 114993 55 } else if r >= 5121 && r <= 5499 { 56 return r + 7705 57 } else if r >= 5543 && r <= 5740 { 58 return r + 7713 59 } else if r >= 92160 && r <= 92728 { 60 return r - 78104 61 } else if r >= 124928 && r <= 125124 { 62 return r - 110273 63 } else if r >= 44032 && r <= 44619 { 64 return r - 29145 65 } else if r >= 44620 && r <= 45207 { 66 return r - 29144 67 } else if r >= 45208 && r <= 45795 { 68 return r - 29143 69 } else if r >= 45796 && r <= 46383 { 70 return r - 29142 71 } else if r >= 46384 && r <= 46971 { 72 return r - 29141 73 } else if r >= 46972 && r <= 47559 { 74 return r - 29140 75 } else if r >= 47560 && r <= 48147 { 76 return r - 29139 77 } else if r >= 48148 && r <= 48735 { 78 return r - 29138 79 } else if r >= 48736 && r <= 49323 { 80 return r - 29137 81 } else if r >= 49324 && r <= 49911 { 82 return r - 29136 83 } else if r >= 49912 && r <= 50499 { 84 return r - 29135 85 } else if r >= 50500 && r <= 50863 { 86 return r - 29134 87 } else if r >= 50864 && r <= 51087 { 88 return r - 29134 89 } else if r >= 51088 && r <= 51452 { 90 return r - 29133 91 } else if r >= 51453 && r <= 51675 { 92 return r - 29132 93 } else if r >= 51676 && r <= 52263 { 94 return r - 29131 95 } else if r >= 52281 && r <= 52851 { 96 return r - 29129 97 } else if r >= 52852 && r <= 53439 { 98 return r - 29128 99 } else if r >= 53440 && r <= 54027 { 100 return r - 29127 101 } else if r >= 54028 && r <= 54615 { 102 return r - 29126 103 } else if r >= 54616 && r <= 55203 { 104 return r - 29125 105 } else if r >= 40960 && r <= 42124 { 106 return r - 14336 107 } else if r >= 113664 && r <= 113770 { 108 return r - 85269 109 } else if r >= 65664 && r <= 65786 { 110 return r - 36864 111 } else if r >= 67073 && r <= 67382 { 112 return r - 38149 113 } else if r >= 73728 && r <= 74338 { 114 return r - 44042 115 } else if r >= 74339 && r <= 74451 { 116 return r - 44040 117 } else if r >= 74455 && r <= 74649 { 118 return r - 44042 119 } else if r >= 74881 && r <= 75075 { 120 return r - 44272 121 } else if r >= 77825 && r <= 78894 { 122 return r - 47020 123 } else if r >= 82944 && r <= 83526 { 124 return r - 51042 125 } else if r >= 94209 && r <= 101119 { 126 return r - 61723 127 } else if r >= 22900 && r <= 23000 { 128 return r + 19430 129 } else if r >= 25797 && r <= 25902 { 130 return r + 19431 131 } else if r >= 26793 && r <= 26900 { 132 return r + 19434 133 } else if r >= 27156 && r <= 27304 { 134 return r + 19434 135 } else if r >= 31521 && r <= 31630 { 136 return r + 19434 137 } else if r >= 31690 && r <= 31806 { 138 return r + 19434 139 } else if r >= 32415 && r <= 32565 { 140 return r + 19434 141 } else if r >= 33087 && r <= 33240 { 142 return r + 19434 143 } else if r >= 33880 && r <= 34030 { 144 return r + 19434 145 } else if r >= 34149 && r <= 34253 { 146 return r + 19434 147 } else if r >= 35328 && r <= 35488 { 148 return r + 19434 149 } else if r >= 35744 && r <= 35894 { 150 return r + 19434 151 } else if r >= 36337 && r <= 36522 { 152 return r + 19434 153 } else if r >= 36791 && r <= 36899 { 154 return r + 19434 155 } else if r >= 37707 && r <= 37881 { 156 return r + 19434 157 } else if r >= 37910 && r <= 38020 { 158 return r + 19434 159 } else if r >= 38021 && r <= 38262 { 160 return r + 19434 161 } else if r >= 39423 && r <= 39530 { 162 return r + 19434 163 } else if r >= 39792 && r <= 40000 { 164 return r + 19434 165 } else if r >= 40060 && r <= 40164 { 166 return r + 19434 167 } else if r >= 40190 && r <= 40295 { 168 return r + 19434 169 } else if r >= 13312 && r <= 13470 { 170 return r + 47052 171 } else if r >= 13590 && r <= 14062 { 172 return r + 47052 173 } else if r >= 14077 && r <= 14209 { 174 return r + 47052 175 } else if r >= 14210 && r <= 14383 { 176 return r + 47052 177 } else if r >= 14651 && r <= 14894 { 178 return r + 47052 179 } else if r >= 14957 && r <= 15076 { 180 return r + 47052 181 } else if r >= 15262 && r <= 15384 { 182 return r + 47052 183 } else if r >= 15439 && r <= 15667 { 184 return r + 47052 185 } else if r >= 15767 && r <= 16044 { 186 return r + 47052 187 } else if r >= 16156 && r <= 16380 { 188 return r + 47052 189 } else if r >= 16688 && r <= 16898 { 190 return r + 47052 191 } else if r >= 16936 && r <= 17056 { 192 return r + 47052 193 } else if r >= 17242 && r <= 17365 { 194 return r + 47052 195 } else if r >= 17516 && r <= 17707 { 196 return r + 47052 197 } else if r >= 17772 && r <= 17879 { 198 return r + 47052 199 } else if r >= 17974 && r <= 18110 { 200 return r + 47052 201 } else if r >= 18120 && r <= 18837 { 202 return r + 47052 203 } else if r >= 18919 && r <= 19054 { 204 return r + 47052 205 } else if r >= 19123 && r <= 19251 { 206 return r + 47052 207 } else if r >= 19252 && r <= 19406 { 208 return r + 47052 209 } else if r >= 19407 && r <= 19662 { 210 return r + 47052 211 } else if r >= 131072 && r <= 131362 { 212 return r - 64126 213 } else if r >= 131363 && r <= 132380 { 214 return r - 64126 215 } else if r >= 132428 && r <= 132666 { 216 return r - 64126 217 } else if r >= 132667 && r <= 133124 { 218 return r - 64126 219 } else if r >= 133125 && r <= 133342 { 220 return r - 64126 221 } else if r >= 133343 && r <= 133676 { 222 return r - 64126 223 } else if r >= 133677 && r <= 133987 { 224 return r - 64126 225 } else if r >= 133988 && r <= 136420 { 226 return r - 64126 227 } else if r >= 136421 && r <= 136872 { 228 return r - 64126 229 } else if r >= 136939 && r <= 137672 { 230 return r - 64126 231 } else if r >= 137673 && r <= 138008 { 232 return r - 64126 233 } else if r >= 138009 && r <= 138507 { 234 return r - 64126 235 } else if r >= 138508 && r <= 138724 { 236 return r - 64126 237 } else if r >= 138727 && r <= 139651 { 238 return r - 64126 239 } else if r >= 139680 && r <= 140081 { 240 return r - 64126 241 } else if r >= 140082 && r <= 141012 { 242 return r - 64126 243 } else if r >= 141013 && r <= 141379 { 244 return r - 64126 245 } else if r >= 141386 && r <= 142092 { 246 return r - 64126 247 } else if r >= 142093 && r <= 142321 { 248 return r - 64126 249 } else if r >= 142322 && r <= 143370 { 250 return r - 64126 251 } else if r >= 143371 && r <= 144056 { 252 return r - 64126 253 } else if r >= 144057 && r <= 144223 { 254 return r - 64126 255 } else if r >= 144341 && r <= 144493 { 256 return r - 64126 257 } else if r >= 144494 && r <= 145059 { 258 return r - 64126 259 } else if r >= 145060 && r <= 145575 { 260 return r - 64126 261 } else if r >= 145576 && r <= 146061 { 262 return r - 64126 263 } else if r >= 146062 && r <= 146170 { 264 return r - 64126 265 } else if r >= 146171 && r <= 146620 { 266 return r - 64126 267 } else if r >= 146719 && r <= 147153 { 268 return r - 64126 269 } else if r >= 147154 && r <= 147294 { 270 return r - 64126 271 } else if r >= 147343 && r <= 148067 { 272 return r - 64126 273 } else if r >= 148068 && r <= 148205 { 274 return r - 64126 275 } else if r >= 148206 && r <= 148395 { 276 return r - 64126 277 } else if r >= 148396 && r <= 149000 { 278 return r - 64126 279 } else if r >= 149001 && r <= 149301 { 280 return r - 64126 281 } else if r >= 149302 && r <= 149524 { 282 return r - 64126 283 } else if r >= 149525 && r <= 150582 { 284 return r - 64126 285 } else if r >= 150675 && r <= 151457 { 286 return r - 64126 287 } else if r >= 151481 && r <= 151620 { 288 return r - 64126 289 } else if r >= 151621 && r <= 151794 { 290 return r - 64126 291 } else if r >= 151860 && r <= 152136 { 292 return r - 64126 293 } else if r >= 152137 && r <= 152605 { 294 return r - 64126 295 } else if r >= 152606 && r <= 153126 { 296 return r - 64126 297 } else if r >= 153127 && r <= 153242 { 298 return r - 64126 299 } else if r >= 153286 && r <= 153980 { 300 return r - 64126 301 } else if r >= 153981 && r <= 154279 { 302 return r - 64126 303 } else if r >= 154280 && r <= 154539 { 304 return r - 64126 305 } else if r >= 154540 && r <= 154752 { 306 return r - 64126 307 } else if r >= 154832 && r <= 155526 { 308 return r - 64126 309 } else if r >= 155527 && r <= 156122 { 310 return r - 64126 311 } else if r >= 156232 && r <= 156377 { 312 return r - 64126 313 } else if r >= 156378 && r <= 156478 { 314 return r - 64126 315 } else if r >= 156479 && r <= 156890 { 316 return r - 64126 317 } else if r >= 156964 && r <= 157096 { 318 return r - 64126 319 } else if r >= 157097 && r <= 157607 { 320 return r - 64126 321 } else if r >= 157622 && r <= 158524 { 322 return r - 64126 323 } else if r >= 158525 && r <= 158774 { 324 return r - 64126 325 } else if r >= 158775 && r <= 158933 { 326 return r - 64126 327 } else if r >= 158934 && r <= 159083 { 328 return r - 64126 329 } else if r >= 159084 && r <= 159532 { 330 return r - 64126 331 } else if r >= 159533 && r <= 159665 { 332 return r - 64126 333 } else if r >= 159666 && r <= 159954 { 334 return r - 64126 335 } else if r >= 159955 && r <= 160714 { 336 return r - 64126 337 } else if r >= 160715 && r <= 161383 { 338 return r - 64126 339 } else if r >= 161384 && r <= 161966 { 340 return r - 64126 341 } else if r >= 161967 && r <= 162150 { 342 return r - 64126 343 } else if r >= 162151 && r <= 162984 { 344 return r - 64126 345 } else if r >= 162985 && r <= 163538 { 346 return r - 64126 347 } else if r >= 163632 && r <= 165330 { 348 return r - 64126 349 } else if r >= 165358 && r <= 165678 { 350 return r - 64126 351 } else if r >= 165679 && r <= 166906 { 352 return r - 64126 353 } else if r >= 166907 && r <= 167287 { 354 return r - 64126 355 } else if r >= 167288 && r <= 168261 { 356 return r - 64126 357 } else if r >= 168262 && r <= 168415 { 358 return r - 64126 359 } else if r >= 168475 && r <= 168970 { 360 return r - 64126 361 } else if r >= 168971 && r <= 169110 { 362 return r - 64126 363 } else if r >= 169111 && r <= 169398 { 364 return r - 64126 365 } else if r >= 169399 && r <= 170800 { 366 return r - 64126 367 } else if r >= 170801 && r <= 172238 { 368 return r - 64126 369 } else if r >= 172294 && r <= 172558 { 370 return r - 64126 371 } else if r >= 172559 && r <= 172689 { 372 return r - 64126 373 } else if r >= 172690 && r <= 172946 { 374 return r - 64126 375 } else if r >= 172947 && r <= 173568 { 376 return r - 64126 377 } else if r >= 173569 && r <= 173782 { 378 return r - 64126 379 } else if r >= 173825 && r <= 177972 { 380 return r - 64167 381 } else if r >= 177985 && r <= 178205 { 382 return r - 64178 383 } else if r >= 178209 && r <= 183969 { 384 return r - 64180 385 } else if r >= 57344 && r <= 63743 { 386 return r + 64105 387 } else if r >= 66046 && r <= 66175 { 388 return r + 62087 389 } else if r >= 66928 && r <= 67071 { 390 return r + 61461 391 } else if r >= 67432 && r <= 67583 { 392 return r + 61120 393 } else if r >= 68864 && r <= 69215 { 394 return r + 60250 395 } else if r >= 69248 && r <= 69631 { 396 return r + 60219 397 } else if r >= 70517 && r <= 70655 { 398 return r + 59535 399 } else if r >= 70874 && r <= 71039 { 400 return r + 59361 401 } else if r >= 71488 && r <= 71839 { 402 return r + 59054 403 } else if r >= 71936 && r <= 72383 { 404 return r + 58970 405 } else if r >= 72442 && r <= 72703 { 406 return r + 58913 407 } else if r >= 72887 && r <= 73727 { 408 return r + 58748 409 } else if r >= 74651 && r <= 74751 { 410 return r + 57826 411 } else if r >= 75076 && r <= 77823 { 412 return r + 57514 413 } else if r >= 78896 && r <= 82943 { 414 return r + 56443 415 } else if r >= 83528 && r <= 92159 { 416 return r + 55860 417 } else if r >= 93072 && r <= 93951 { 418 return r + 55085 419 } else if r >= 101120 && r <= 110591 { 420 return r + 48039 421 } else if r >= 110595 && r <= 113663 { 422 return r + 48037 423 } else if r >= 113828 && r <= 118783 { 424 return r + 47890 425 } else if r >= 119366 && r <= 119551 { 426 return r + 47343 427 } else if r >= 119666 && r <= 119807 { 428 return r + 47238 429 } else if r >= 121520 && r <= 122879 { 430 return r + 45570 431 } else if r >= 122923 && r <= 124927 { 432 return r + 45532 433 } else if r >= 125280 && r <= 126463 { 434 return r + 45232 435 } else if r >= 126706 && r <= 126975 { 436 return r + 45089 437 } else if r >= 127570 && r <= 127743 { 438 return r + 44614 439 } else if r >= 129473 && r <= 131071 { 440 return r + 43184 441 } else if r >= 183970 && r <= 194559 { 442 return r - 9660 443 } else if r >= 195103 && r <= 917504 { 444 return r - 10202 445 } else if r >= 917632 && r <= 917759 { 446 return r - 10299 447 } else if r >= 918001 && r <= 1114111 { 448 return r - 10539 449 } else if r >= 917760 && r <= 917999 { 450 return 0 451 } else { 452 return 2147483647 453 } 454 }