platform/api/symfony/Component/Lock/Store/DoctrineDbalPostgreSqlStore.yaml
2024-09-02 10:44:11 -07:00

137 lines
3.9 KiB
YAML

name: DoctrineDbalPostgreSqlStore
class_comment: "# * DoctrineDbalPostgreSqlStore is a PersistingStoreInterface implementation\
\ using\n# * PostgreSql advisory locks with a Doctrine DBAL Connection.\n# *\n#\
\ * @author J\xE9r\xE9my Deruss\xE9 <jeremy@derusse.com>"
dependencies:
- name: Configuration
type: class
source: Doctrine\DBAL\Configuration
- name: Connection
type: class
source: Doctrine\DBAL\Connection
- name: DriverManager
type: class
source: Doctrine\DBAL\DriverManager
- name: PostgreSQLPlatform
type: class
source: Doctrine\DBAL\Platforms\PostgreSQLPlatform
- name: DefaultSchemaManagerFactory
type: class
source: Doctrine\DBAL\Schema\DefaultSchemaManagerFactory
- name: DsnParser
type: class
source: Doctrine\DBAL\Tools\DsnParser
- name: BlockingSharedLockStoreInterface
type: class
source: Symfony\Component\Lock\BlockingSharedLockStoreInterface
- name: BlockingStoreInterface
type: class
source: Symfony\Component\Lock\BlockingStoreInterface
- name: InvalidArgumentException
type: class
source: Symfony\Component\Lock\Exception\InvalidArgumentException
- name: LockConflictedException
type: class
source: Symfony\Component\Lock\Exception\LockConflictedException
- name: Key
type: class
source: Symfony\Component\Lock\Key
- name: SharedLockStoreInterface
type: class
source: Symfony\Component\Lock\SharedLockStoreInterface
properties: []
methods:
- name: __construct
visibility: public
parameters:
- name: connOrUrl
comment: "# * DoctrineDbalPostgreSqlStore is a PersistingStoreInterface implementation\
\ using\n# * PostgreSql advisory locks with a Doctrine DBAL Connection.\n# *\n\
# * @author J\xE9r\xE9my Deruss\xE9 <jeremy@derusse.com>\n# */\n# class DoctrineDbalPostgreSqlStore\
\ implements BlockingSharedLockStoreInterface, BlockingStoreInterface\n# {\n#\
\ private Connection $conn;\n# private static array $storeRegistry = [];\n# \n\
# /**\n# * You can either pass an existing database connection a Doctrine DBAL\
\ Connection\n# * or a URL that will be used to connect to the database.\n# *\n\
# * @throws InvalidArgumentException When first argument is not Connection nor\
\ string"
- name: save
visibility: public
parameters:
- name: key
comment: null
- name: saveRead
visibility: public
parameters:
- name: key
comment: null
- name: putOffExpiration
visibility: public
parameters:
- name: key
- name: ttl
comment: null
- name: delete
visibility: public
parameters:
- name: key
comment: null
- name: exists
visibility: public
parameters:
- name: key
comment: null
- name: waitAndSave
visibility: public
parameters:
- name: key
comment: null
- name: waitAndSaveRead
visibility: public
parameters:
- name: key
comment: null
- name: getHashedKey
visibility: private
parameters:
- name: key
comment: '# * Returns a hashed version of the key.'
- name: unlock
visibility: private
parameters:
- name: key
comment: null
- name: unlockShared
visibility: private
parameters:
- name: key
comment: null
- name: filterDsn
visibility: private
parameters:
- name: dsn
comment: '# * Check driver and remove scheme extension from DSN.
# * From pgsql+advisory://server/ to pgsql://server/.
# *
# * @throws InvalidArgumentException when driver is not supported'
- name: getInternalStore
visibility: private
parameters: []
comment: null
traits:
- Doctrine\DBAL\Configuration
- Doctrine\DBAL\Connection
- Doctrine\DBAL\DriverManager
- Doctrine\DBAL\Platforms\PostgreSQLPlatform
- Doctrine\DBAL\Schema\DefaultSchemaManagerFactory
- Doctrine\DBAL\Tools\DsnParser
- Symfony\Component\Lock\BlockingSharedLockStoreInterface
- Symfony\Component\Lock\BlockingStoreInterface
- Symfony\Component\Lock\Exception\InvalidArgumentException
- Symfony\Component\Lock\Exception\LockConflictedException
- Symfony\Component\Lock\Key
- Symfony\Component\Lock\SharedLockStoreInterface
interfaces:
- BlockingSharedLockStoreInterface