@@ -2,22 +2,22 @@ |
||
| 2 | 2 | |
| 3 | 3 | namespace MySQLReplication\Event\RowEvent; |
| 4 | 4 | |
| 5 | -use MySQLReplication\BinaryDataReader\BinaryDataReader; |
|
| 6 | -use MySQLReplication\BinaryDataReader\Exception\BinaryDataReaderException; |
|
| 7 | -use MySQLReplication\Config\Config; |
|
| 8 | -use MySQLReplication\Config\Exception\ConfigException; |
|
| 9 | -use MySQLReplication\Definitions\ConstEventType; |
|
| 10 | -use MySQLReplication\Definitions\ConstFieldType; |
|
| 11 | -use MySQLReplication\Event\DTO\DeleteRowsDTO; |
|
| 12 | -use MySQLReplication\Event\DTO\TableMapDTO; |
|
| 13 | -use MySQLReplication\Event\DTO\UpdateRowsDTO; |
|
| 14 | -use MySQLReplication\Event\DTO\WriteRowsDTO; |
|
| 15 | -use MySQLReplication\Event\EventCommon; |
|
| 16 | -use MySQLReplication\Event\EventInfo; |
|
| 17 | -use MySQLReplication\Event\Exception\EventException; |
|
| 18 | -use MySQLReplication\Exception\MySQLReplicationException; |
|
| 19 | -use MySQLReplication\JsonBinaryDecoder\JsonBinaryDecoderException; |
|
| 20 | -use MySQLReplication\JsonBinaryDecoder\JsonBinaryDecoderFactory; |
|
| 5 | +use MySQLReplication\BinaryDataReader\BinaryDataReader; |
|
| 6 | +use MySQLReplication\BinaryDataReader\Exception\BinaryDataReaderException; |
|
| 7 | +use MySQLReplication\Config\Config; |
|
| 8 | +use MySQLReplication\Config\Exception\ConfigException; |
|
| 9 | +use MySQLReplication\Definitions\ConstEventType; |
|
| 10 | +use MySQLReplication\Definitions\ConstFieldType; |
|
| 11 | +use MySQLReplication\Event\DTO\DeleteRowsDTO; |
|
| 12 | +use MySQLReplication\Event\DTO\TableMapDTO; |
|
| 13 | +use MySQLReplication\Event\DTO\UpdateRowsDTO; |
|
| 14 | +use MySQLReplication\Event\DTO\WriteRowsDTO; |
|
| 15 | +use MySQLReplication\Event\EventCommon; |
|
| 16 | +use MySQLReplication\Event\EventInfo; |
|
| 17 | +use MySQLReplication\Event\Exception\EventException; |
|
| 18 | +use MySQLReplication\Exception\MySQLReplicationException; |
|
| 19 | +use MySQLReplication\JsonBinaryDecoder\JsonBinaryDecoderException; |
|
| 20 | +use MySQLReplication\JsonBinaryDecoder\JsonBinaryDecoderFactory; |
|
| 21 | 21 | use MySQLReplication\Repository\MySQLRepository; |
| 22 | 22 | |
| 23 | 23 | /** |
@@ -401,9 +401,9 @@ |
||
| 401 | 401 | $values[$name] = $this->getDatetime2($column); |
| 402 | 402 | } |
| 403 | 403 | elseif ($column['type'] === ConstFieldType::TIMESTAMP) |
| 404 | - {
|
|
| 405 | - $values[$name] = date('c', $this->binaryDataReader->readUInt32());
|
|
| 406 | - } |
|
| 404 | + {
|
|
| 405 | + $values[$name] = date('c', $this->binaryDataReader->readUInt32());
|
|
| 406 | + } |
|
| 407 | 407 | elseif ($column['type'] === ConstFieldType::TIME2) |
| 408 | 408 | {
|
| 409 | 409 | $values[$name] = $this->getTime2($column); |
@@ -164,8 +164,7 @@ discard block |
||
| 164 | 164 | 'COLUMN_KEY' => '', |
| 165 | 165 | ]; |
| 166 | 166 | $type = ConstFieldType::IGNORE; |
| 167 | - } |
|
| 168 | - else |
|
| 167 | + } else |
|
| 169 | 168 | {
|
| 170 | 169 | $type = ord($data['column_types'][$i]); |
| 171 | 170 | } |
@@ -304,123 +303,98 @@ discard block |
||
| 304 | 303 | if ($this->checkNull($null_bitmap, $nullBitmapIndex)) |
| 305 | 304 | {
|
| 306 | 305 | $values[$name] = null; |
| 307 | - } |
|
| 308 | - elseif ($column['type'] === ConstFieldType::IGNORE) |
|
| 306 | + } elseif ($column['type'] === ConstFieldType::IGNORE) |
|
| 309 | 307 | {
|
| 310 | 308 | $values[$name] = null; |
| 311 | - } |
|
| 312 | - elseif ($column['type'] === ConstFieldType::TINY) |
|
| 309 | + } elseif ($column['type'] === ConstFieldType::TINY) |
|
| 313 | 310 | {
|
| 314 | 311 | if (true === $column['unsigned']) |
| 315 | 312 | {
|
| 316 | 313 | $values[$name] = $this->binaryDataReader->readUInt8(); |
| 317 | - } |
|
| 318 | - else |
|
| 314 | + } else |
|
| 319 | 315 | {
|
| 320 | 316 | $values[$name] = $this->binaryDataReader->readInt8(); |
| 321 | 317 | } |
| 322 | - } |
|
| 323 | - elseif ($column['type'] === ConstFieldType::SHORT) |
|
| 318 | + } elseif ($column['type'] === ConstFieldType::SHORT) |
|
| 324 | 319 | {
|
| 325 | 320 | if (true === $column['unsigned']) |
| 326 | 321 | {
|
| 327 | 322 | $values[$name] = $this->binaryDataReader->readUInt16(); |
| 328 | - } |
|
| 329 | - else |
|
| 323 | + } else |
|
| 330 | 324 | {
|
| 331 | 325 | $values[$name] = $this->binaryDataReader->readInt16(); |
| 332 | 326 | } |
| 333 | - } |
|
| 334 | - elseif ($column['type'] === ConstFieldType::LONG) |
|
| 327 | + } elseif ($column['type'] === ConstFieldType::LONG) |
|
| 335 | 328 | {
|
| 336 | 329 | if (true === $column['unsigned']) |
| 337 | 330 | {
|
| 338 | 331 | $values[$name] = $this->binaryDataReader->readUInt32(); |
| 339 | - } |
|
| 340 | - else |
|
| 332 | + } else |
|
| 341 | 333 | {
|
| 342 | 334 | $values[$name] = $this->binaryDataReader->readInt32(); |
| 343 | 335 | } |
| 344 | - } |
|
| 345 | - elseif ($column['type'] === ConstFieldType::LONGLONG) |
|
| 336 | + } elseif ($column['type'] === ConstFieldType::LONGLONG) |
|
| 346 | 337 | {
|
| 347 | 338 | if (true === $column['unsigned']) |
| 348 | 339 | {
|
| 349 | 340 | $values[$name] = $this->binaryDataReader->readUInt64(); |
| 350 | - } |
|
| 351 | - else |
|
| 341 | + } else |
|
| 352 | 342 | {
|
| 353 | 343 | $values[$name] = $this->binaryDataReader->readInt64(); |
| 354 | 344 | } |
| 355 | - } |
|
| 356 | - elseif ($column['type'] === ConstFieldType::INT24) |
|
| 345 | + } elseif ($column['type'] === ConstFieldType::INT24) |
|
| 357 | 346 | {
|
| 358 | 347 | if (true === $column['unsigned']) |
| 359 | 348 | {
|
| 360 | 349 | $values[$name] = $this->binaryDataReader->readUInt24(); |
| 361 | - } |
|
| 362 | - else |
|
| 350 | + } else |
|
| 363 | 351 | {
|
| 364 | 352 | $values[$name] = $this->binaryDataReader->readInt24(); |
| 365 | 353 | } |
| 366 | - } |
|
| 367 | - elseif ($column['type'] === ConstFieldType::FLOAT) |
|
| 354 | + } elseif ($column['type'] === ConstFieldType::FLOAT) |
|
| 368 | 355 | {
|
| 369 | 356 | // http://dev.mysql.com/doc/refman/5.7/en/floating-point-types.html FLOAT(7,4) |
| 370 | 357 | $values[$name] = round($this->binaryDataReader->readFloat(), 4); |
| 371 | - } |
|
| 372 | - elseif ($column['type'] === ConstFieldType::DOUBLE) |
|
| 358 | + } elseif ($column['type'] === ConstFieldType::DOUBLE) |
|
| 373 | 359 | {
|
| 374 | 360 | $values[$name] = $this->binaryDataReader->readDouble(); |
| 375 | - } |
|
| 376 | - elseif ($column['type'] === ConstFieldType::VARCHAR || $column['type'] === ConstFieldType::STRING) |
|
| 361 | + } elseif ($column['type'] === ConstFieldType::VARCHAR || $column['type'] === ConstFieldType::STRING) |
|
| 377 | 362 | {
|
| 378 | 363 | if ($column['max_length'] > 255) |
| 379 | 364 | {
|
| 380 | 365 | $values[$name] = $this->getString(2, $column); |
| 381 | - } |
|
| 382 | - else |
|
| 366 | + } else |
|
| 383 | 367 | {
|
| 384 | 368 | $values[$name] = $this->getString(1, $column); |
| 385 | 369 | } |
| 386 | - } |
|
| 387 | - elseif ($column['type'] === ConstFieldType::NEWDECIMAL) |
|
| 370 | + } elseif ($column['type'] === ConstFieldType::NEWDECIMAL) |
|
| 388 | 371 | {
|
| 389 | 372 | $values[$name] = $this->getDecimal($column); |
| 390 | - } |
|
| 391 | - elseif ($column['type'] === ConstFieldType::BLOB) |
|
| 373 | + } elseif ($column['type'] === ConstFieldType::BLOB) |
|
| 392 | 374 | {
|
| 393 | 375 | $values[$name] = $this->getString($column['length_size'], $column); |
| 394 | - } |
|
| 395 | - elseif ($column['type'] === ConstFieldType::DATETIME) |
|
| 376 | + } elseif ($column['type'] === ConstFieldType::DATETIME) |
|
| 396 | 377 | {
|
| 397 | 378 | $values[$name] = $this->getDatetime(); |
| 398 | - } |
|
| 399 | - elseif ($column['type'] === ConstFieldType::DATETIME2) |
|
| 379 | + } elseif ($column['type'] === ConstFieldType::DATETIME2) |
|
| 400 | 380 | {
|
| 401 | 381 | $values[$name] = $this->getDatetime2($column); |
| 402 | - } |
|
| 403 | - elseif ($column['type'] === ConstFieldType::TIMESTAMP) |
|
| 382 | + } elseif ($column['type'] === ConstFieldType::TIMESTAMP) |
|
| 404 | 383 | {
|
| 405 | 384 | $values[$name] = date('c', $this->binaryDataReader->readUInt32());
|
| 406 | - } |
|
| 407 | - elseif ($column['type'] === ConstFieldType::TIME2) |
|
| 385 | + } elseif ($column['type'] === ConstFieldType::TIME2) |
|
| 408 | 386 | {
|
| 409 | 387 | $values[$name] = $this->getTime2($column); |
| 410 | - } |
|
| 411 | - elseif ($column['type'] === ConstFieldType::TIMESTAMP2) |
|
| 388 | + } elseif ($column['type'] === ConstFieldType::TIMESTAMP2) |
|
| 412 | 389 | {
|
| 413 | 390 | $values[$name] = $this->getTimestamp2($column); |
| 414 | - } |
|
| 415 | - elseif ($column['type'] === ConstFieldType::DATE) |
|
| 391 | + } elseif ($column['type'] === ConstFieldType::DATE) |
|
| 416 | 392 | {
|
| 417 | 393 | $values[$name] = $this->getDate(); |
| 418 | - } |
|
| 419 | - elseif ($column['type'] === ConstFieldType::YEAR) |
|
| 394 | + } elseif ($column['type'] === ConstFieldType::YEAR) |
|
| 420 | 395 | {
|
| 421 | 396 | $values[$name] = $this->binaryDataReader->readUInt8() + 1900; |
| 422 | - } |
|
| 423 | - elseif ($column['type'] === ConstFieldType::ENUM) |
|
| 397 | + } elseif ($column['type'] === ConstFieldType::ENUM) |
|
| 424 | 398 | {
|
| 425 | 399 | $value = $this->binaryDataReader->readUIntBySize($column['size']) - 1; |
| 426 | 400 | |
@@ -430,26 +404,21 @@ discard block |
||
| 430 | 404 | {
|
| 431 | 405 | $values[$name] = $column['enum_values'][$value]; |
| 432 | 406 | } |
| 433 | - } |
|
| 434 | - elseif ($column['type'] === ConstFieldType::SET) |
|
| 407 | + } elseif ($column['type'] === ConstFieldType::SET) |
|
| 435 | 408 | {
|
| 436 | 409 | $values[$name] = $this->getSet($column); |
| 437 | - } |
|
| 438 | - elseif ($column['type'] === ConstFieldType::BIT) |
|
| 410 | + } elseif ($column['type'] === ConstFieldType::BIT) |
|
| 439 | 411 | {
|
| 440 | 412 | $values[$name] = $this->getBit($column); |
| 441 | - } |
|
| 442 | - elseif ($column['type'] === ConstFieldType::GEOMETRY) |
|
| 413 | + } elseif ($column['type'] === ConstFieldType::GEOMETRY) |
|
| 443 | 414 | {
|
| 444 | 415 | $values[$name] = $this->binaryDataReader->readLengthCodedPascalString($column['length_size']); |
| 445 | - } |
|
| 446 | - elseif ($column['type'] === ConstFieldType::JSON) |
|
| 416 | + } elseif ($column['type'] === ConstFieldType::JSON) |
|
| 447 | 417 | {
|
| 448 | 418 | $values[$name] = $this->jsonBinaryDecoderFactory->makeJsonBinaryDecoder( |
| 449 | 419 | $this->binaryDataReader->readLengthCodedPascalString($column['length_size']) |
| 450 | 420 | )->parseToString(); |
| 451 | - } |
|
| 452 | - else |
|
| 421 | + } else |
|
| 453 | 422 | {
|
| 454 | 423 | throw new MySQLReplicationException('Unknown row type: ' . $column['type']);
|
| 455 | 424 | } |
@@ -551,8 +520,7 @@ discard block |
||
| 551 | 520 | {
|
| 552 | 521 | $mask = 0; |
| 553 | 522 | $res = ''; |
| 554 | - } |
|
| 555 | - else |
|
| 523 | + } else |
|
| 556 | 524 | {
|
| 557 | 525 | $mask = -1; |
| 558 | 526 | $res = '-'; |
@@ -687,12 +655,10 @@ discard block |
||
| 687 | 655 | if ($column['fsp'] === 1 || $column['fsp'] === 2) |
| 688 | 656 | {
|
| 689 | 657 | $read = 1; |
| 690 | - } |
|
| 691 | - elseif ($column['fsp'] === 3 || $column['fsp'] === 4) |
|
| 658 | + } elseif ($column['fsp'] === 3 || $column['fsp'] === 4) |
|
| 692 | 659 | {
|
| 693 | 660 | $read = 2; |
| 694 | - } |
|
| 695 | - elseif ($column ['fsp'] === 5 || $column['fsp'] === 6) |
|
| 661 | + } elseif ($column ['fsp'] === 5 || $column['fsp'] === 6) |
|
| 696 | 662 | {
|
| 697 | 663 | $read = 3; |
| 698 | 664 | } |
@@ -813,8 +779,7 @@ discard block |
||
| 813 | 779 | if (1 === $column['bytes']) |
| 814 | 780 | {
|
| 815 | 781 | $end = $column['bits']; |
| 816 | - } |
|
| 817 | - else |
|
| 782 | + } else |
|
| 818 | 783 | {
|
| 819 | 784 | $end = $column['bits'] % 8; |
| 820 | 785 | if (0 === $end) |
@@ -822,8 +787,7 @@ discard block |
||
| 822 | 787 | $end = 8; |
| 823 | 788 | } |
| 824 | 789 | } |
| 825 | - } |
|
| 826 | - else |
|
| 790 | + } else |
|
| 827 | 791 | {
|
| 828 | 792 | $end = 8; |
| 829 | 793 | } |
@@ -833,8 +797,7 @@ discard block |
||
| 833 | 797 | if ($data & (1 << $bit)) |
| 834 | 798 | {
|
| 835 | 799 | $current_byte .= '1'; |
| 836 | - } |
|
| 837 | - else |
|
| 800 | + } else |
|
| 838 | 801 | {
|
| 839 | 802 | $current_byte .= '0'; |
| 840 | 803 | } |
@@ -94,20 +94,16 @@ discard block |
||
| 94 | 94 | if (self::SMALL_OBJECT === $type) |
| 95 | 95 | { |
| 96 | 96 | $this->parseObject(BinaryDataReader::UNSIGNED_SHORT_LENGTH); |
| 97 | - } |
|
| 98 | - else if (self::LARGE_OBJECT === $type) |
|
| 97 | + } else if (self::LARGE_OBJECT === $type) |
|
| 99 | 98 | { |
| 100 | 99 | $this->parseObject(BinaryDataReader::UNSIGNED_INT32_LENGTH); |
| 101 | - } |
|
| 102 | - else if (self::SMALL_ARRAY === $type) |
|
| 100 | + } else if (self::SMALL_ARRAY === $type) |
|
| 103 | 101 | { |
| 104 | 102 | $this->parseArray(BinaryDataReader::UNSIGNED_SHORT_LENGTH); |
| 105 | - } |
|
| 106 | - else if (self::LARGE_ARRAY === $type) |
|
| 103 | + } else if (self::LARGE_ARRAY === $type) |
|
| 107 | 104 | { |
| 108 | 105 | $this->parseObject(BinaryDataReader::UNSIGNED_INT32_LENGTH); |
| 109 | - } |
|
| 110 | - else |
|
| 106 | + } else |
|
| 111 | 107 | { |
| 112 | 108 | $this->parseScalar($type); |
| 113 | 109 | } |
@@ -175,24 +171,21 @@ discard block |
||
| 175 | 171 | $this->readLiteral(), |
| 176 | 172 | $type |
| 177 | 173 | ); |
| 178 | - } |
|
| 179 | - else if (self::INT16 === $type) |
|
| 174 | + } else if (self::INT16 === $type) |
|
| 180 | 175 | { |
| 181 | 176 | return new JsonBinaryDecoderValue( |
| 182 | 177 | true, |
| 183 | 178 | $this->binaryDataReader->readInt16(), |
| 184 | 179 | $type |
| 185 | 180 | ); |
| 186 | - } |
|
| 187 | - else if (self::UINT16 === $type) |
|
| 181 | + } else if (self::UINT16 === $type) |
|
| 188 | 182 | { |
| 189 | 183 | return new JsonBinaryDecoderValue( |
| 190 | 184 | true, |
| 191 | 185 | $this->binaryDataReader->readUInt16(), |
| 192 | 186 | $type |
| 193 | 187 | ); |
| 194 | - } |
|
| 195 | - else if (BinaryDataReader::UNSIGNED_INT32_LENGTH === $intSize) |
|
| 188 | + } else if (BinaryDataReader::UNSIGNED_INT32_LENGTH === $intSize) |
|
| 196 | 189 | { |
| 197 | 190 | if (self::INT32 === $type) |
| 198 | 191 | { |
@@ -201,8 +194,7 @@ discard block |
||
| 201 | 194 | $this->binaryDataReader->readInt32(), |
| 202 | 195 | $type |
| 203 | 196 | ); |
| 204 | - } |
|
| 205 | - else if (self::UINT32 === $type) |
|
| 197 | + } else if (self::UINT32 === $type) |
|
| 206 | 198 | { |
| 207 | 199 | return new JsonBinaryDecoderValue( |
| 208 | 200 | true, |
@@ -210,8 +202,7 @@ discard block |
||
| 210 | 202 | $type |
| 211 | 203 | ); |
| 212 | 204 | } |
| 213 | - } |
|
| 214 | - else |
|
| 205 | + } else |
|
| 215 | 206 | { |
| 216 | 207 | $offset = $this->binaryDataReader->readUIntBySize($intSize); |
| 217 | 208 | if ($offset > $numBytes) |
@@ -242,12 +233,10 @@ discard block |
||
| 242 | 233 | if (0 === $literal) |
| 243 | 234 | { |
| 244 | 235 | return null; |
| 245 | - } |
|
| 246 | - else if (1 === $literal) |
|
| 236 | + } else if (1 === $literal) |
|
| 247 | 237 | { |
| 248 | 238 | return true; |
| 249 | - } |
|
| 250 | - else if (2 === $literal) |
|
| 239 | + } else if (2 === $literal) |
|
| 251 | 240 | { |
| 252 | 241 | return false; |
| 253 | 242 | } |
@@ -263,18 +252,15 @@ discard block |
||
| 263 | 252 | if (false === $jsonBinaryDecoderValue->isIsResolved()) |
| 264 | 253 | { |
| 265 | 254 | $this->parseJson($jsonBinaryDecoderValue->getType()); |
| 266 | - } |
|
| 267 | - else |
|
| 255 | + } else |
|
| 268 | 256 | { |
| 269 | 257 | if (null === $jsonBinaryDecoderValue->getValue()) |
| 270 | 258 | { |
| 271 | 259 | $this->jsonBinaryDecoderFormatter->formatValueNull(); |
| 272 | - } |
|
| 273 | - elseif (is_bool($jsonBinaryDecoderValue->getValue())) |
|
| 260 | + } elseif (is_bool($jsonBinaryDecoderValue->getValue())) |
|
| 274 | 261 | { |
| 275 | 262 | $this->jsonBinaryDecoderFormatter->formatValueBool($jsonBinaryDecoderValue->getValue()); |
| 276 | - } |
|
| 277 | - elseif (is_numeric($jsonBinaryDecoderValue->getValue())) |
|
| 263 | + } elseif (is_numeric($jsonBinaryDecoderValue->getValue())) |
|
| 278 | 264 | { |
| 279 | 265 | $this->jsonBinaryDecoderFormatter->formatValueNumeric($jsonBinaryDecoderValue->getValue()); |
| 280 | 266 | } |
@@ -314,8 +300,7 @@ discard block |
||
| 314 | 300 | if (null === $r) |
| 315 | 301 | { |
| 316 | 302 | $this->jsonBinaryDecoderFormatter->formatValueNull(); |
| 317 | - } |
|
| 318 | - else |
|
| 303 | + } else |
|
| 319 | 304 | { |
| 320 | 305 | $this->jsonBinaryDecoderFormatter->formatValueBool($r); |
| 321 | 306 | } |
@@ -326,32 +311,25 @@ discard block |
||
| 326 | 311 | if (self::LITERAL === $type) |
| 327 | 312 | { |
| 328 | 313 | $this->parseBoolean(); |
| 329 | - } |
|
| 330 | - else if (self::INT16 === $type) |
|
| 314 | + } else if (self::INT16 === $type) |
|
| 331 | 315 | { |
| 332 | 316 | $this->jsonBinaryDecoderFormatter->formatValue($this->binaryDataReader->readInt16()); |
| 333 | - } |
|
| 334 | - else if (self::INT32 === $type) |
|
| 317 | + } else if (self::INT32 === $type) |
|
| 335 | 318 | { |
| 336 | 319 | $this->jsonBinaryDecoderFormatter->formatValue($this->binaryDataReader->readInt32()); |
| 337 | - } |
|
| 338 | - else if (self::INT64 === $type) |
|
| 320 | + } else if (self::INT64 === $type) |
|
| 339 | 321 | { |
| 340 | 322 | $this->jsonBinaryDecoderFormatter->formatValue($this->binaryDataReader->readInt64()); |
| 341 | - } |
|
| 342 | - else if (self::UINT16 === $type) |
|
| 323 | + } else if (self::UINT16 === $type) |
|
| 343 | 324 | { |
| 344 | 325 | $this->jsonBinaryDecoderFormatter->formatValue($this->binaryDataReader->readUInt16()); |
| 345 | - } |
|
| 346 | - else if (self::UINT64 === $type) |
|
| 326 | + } else if (self::UINT64 === $type) |
|
| 347 | 327 | { |
| 348 | 328 | $this->jsonBinaryDecoderFormatter->formatValue($this->binaryDataReader->readUInt64()); |
| 349 | - } |
|
| 350 | - else if (self::DOUBLE === $type) |
|
| 329 | + } else if (self::DOUBLE === $type) |
|
| 351 | 330 | { |
| 352 | 331 | $this->jsonBinaryDecoderFormatter->formatValue($this->binaryDataReader->readDouble()); |
| 353 | - } |
|
| 354 | - else if (self::STRING === $type) |
|
| 332 | + } else if (self::STRING === $type) |
|
| 355 | 333 | { |
| 356 | 334 | $this->jsonBinaryDecoderFormatter->formatValue( |
| 357 | 335 | $this->binaryDataReader->read($this->readVariableInt()) |