ShardingException.php 1.51 KB
Newer Older
1 2 3 4 5 6 7 8
<?php

namespace Doctrine\DBAL\Sharding;

use Doctrine\DBAL\DBALException;

/**
 * Sharding related Exceptions
9 10
 *
 * @deprecated
11
 *
12
 * @psalm-immutable
13 14 15
 */
class ShardingException extends DBALException
{
Benjamin Morel's avatar
Benjamin Morel committed
16
    /**
Grégoire Paris's avatar
Grégoire Paris committed
17
     * @return ShardingException
Benjamin Morel's avatar
Benjamin Morel committed
18
     */
19
    public static function notImplemented()
20
    {
21
        return new self('This functionality is not implemented with this sharding provider.', 1331557937);
22 23
    }

Benjamin Morel's avatar
Benjamin Morel committed
24
    /**
Grégoire Paris's avatar
Grégoire Paris committed
25
     * @return ShardingException
Benjamin Morel's avatar
Benjamin Morel committed
26
     */
27
    public static function missingDefaultFederationName()
28
    {
29
        return new self('SQLAzure requires a federation name to be set during sharding configuration.', 1332141280);
30 31
    }

Benjamin Morel's avatar
Benjamin Morel committed
32
    /**
Grégoire Paris's avatar
Grégoire Paris committed
33
     * @return ShardingException
Benjamin Morel's avatar
Benjamin Morel committed
34
     */
35
    public static function missingDefaultDistributionKey()
36
    {
37
        return new self('SQLAzure requires a distribution key to be set during sharding configuration.', 1332141329);
38 39
    }

Benjamin Morel's avatar
Benjamin Morel committed
40
    /**
Grégoire Paris's avatar
Grégoire Paris committed
41
     * @return ShardingException
Benjamin Morel's avatar
Benjamin Morel committed
42
     */
43
    public static function activeTransaction()
44
    {
45
        return new self('Cannot switch shard during an active transaction.', 1332141766);
46 47
    }

Benjamin Morel's avatar
Benjamin Morel committed
48
    /**
Grégoire Paris's avatar
Grégoire Paris committed
49
     * @return ShardingException
Benjamin Morel's avatar
Benjamin Morel committed
50
     */
51
    public static function noShardDistributionValue()
52
    {
53
        return new self('You have to specify a string or integer as shard distribution value.', 1332142103);
54 55
    }

Benjamin Morel's avatar
Benjamin Morel committed
56
    /**
Grégoire Paris's avatar
Grégoire Paris committed
57
     * @return ShardingException
Benjamin Morel's avatar
Benjamin Morel committed
58
     */
59
    public static function missingDistributionType()
60 61 62 63
    {
        return new self("You have to specify a sharding distribution type such as 'integer', 'string', 'guid'.");
    }
}