Skip to content

Commit

Permalink
Forbid cloning and serialization
Browse files Browse the repository at this point in the history
  • Loading branch information
trowski committed Dec 17, 2023
1 parent de27f1c commit 8917498
Show file tree
Hide file tree
Showing 9 changed files with 45 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/CommandResult.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

namespace Amp\Sql\Common;

use Amp\ForbidCloning;
use Amp\ForbidSerialization;
use Amp\Future;
use Amp\Sql\Result;

Expand All @@ -13,6 +15,9 @@
*/
abstract class CommandResult implements Result, \IteratorAggregate
{
use ForbidCloning;
use ForbidSerialization;

/**
* @param Future<TResult|null> $nextResult
*/
Expand Down
5 changes: 5 additions & 0 deletions src/ConnectionPool.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
namespace Amp\Sql\Common;

use Amp\DeferredFuture;
use Amp\ForbidCloning;
use Amp\ForbidSerialization;
use Amp\Future;
use Amp\Sql\Connection;
use Amp\Sql\Link;
Expand All @@ -29,6 +31,9 @@
*/
abstract class ConnectionPool implements Pool
{
use ForbidCloning;
use ForbidSerialization;

public const DEFAULT_MAX_CONNECTIONS = 100;
public const DEFAULT_IDLE_TIMEOUT = 60;

Expand Down
5 changes: 5 additions & 0 deletions src/ConnectionTransaction.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
namespace Amp\Sql\Common;

use Amp\DeferredFuture;
use Amp\ForbidCloning;
use Amp\ForbidSerialization;
use Amp\Sql\Result;
use Amp\Sql\SqlException;
use Amp\Sql\Statement;
Expand All @@ -21,6 +23,9 @@
*/
abstract class ConnectionTransaction implements Transaction
{
use ForbidCloning;
use ForbidSerialization;

/** @var \Closure():void */
private readonly \Closure $release;

Expand Down
5 changes: 5 additions & 0 deletions src/NestedTransaction.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
namespace Amp\Sql\Common;

use Amp\DeferredFuture;
use Amp\ForbidCloning;
use Amp\ForbidSerialization;
use Amp\Sql\Result;
use Amp\Sql\SqlException;
use Amp\Sql\Statement;
Expand All @@ -21,6 +23,9 @@
*/
abstract class NestedTransaction implements Transaction
{
use ForbidCloning;
use ForbidSerialization;

/** @var \Closure():void */
private readonly \Closure $release;

Expand Down
5 changes: 5 additions & 0 deletions src/PooledResult.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

namespace Amp\Sql\Common;

use Amp\ForbidCloning;
use Amp\ForbidSerialization;
use Amp\Future;
use Amp\Sql\Result;
use Revolt\EventLoop;
Expand All @@ -15,6 +17,9 @@
*/
abstract class PooledResult implements Result, \IteratorAggregate
{
use ForbidCloning;
use ForbidSerialization;

/** @var Future<TResult|null>|null */
private ?Future $next = null;

Expand Down
5 changes: 5 additions & 0 deletions src/PooledStatement.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

namespace Amp\Sql\Common;

use Amp\ForbidCloning;
use Amp\ForbidSerialization;
use Amp\Sql\Result;
use Amp\Sql\SqlException;
use Amp\Sql\Statement;
Expand All @@ -15,6 +17,9 @@
*/
abstract class PooledStatement implements Statement
{
use ForbidCloning;
use ForbidSerialization;

/** @var null|\Closure():void */
private ?\Closure $release;

Expand Down
5 changes: 5 additions & 0 deletions src/PooledTransaction.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

namespace Amp\Sql\Common;

use Amp\ForbidCloning;
use Amp\ForbidSerialization;
use Amp\Sql\Result;
use Amp\Sql\Statement;
use Amp\Sql\Transaction;
Expand All @@ -17,6 +19,9 @@
*/
abstract class PooledTransaction implements Transaction
{
use ForbidCloning;
use ForbidSerialization;

/** @var \Closure():void */
private readonly \Closure $release;

Expand Down
5 changes: 5 additions & 0 deletions src/RetrySqlConnector.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

use Amp\Cancellation;
use Amp\CompositeException;
use Amp\ForbidCloning;
use Amp\ForbidSerialization;
use Amp\Sql\Connection;
use Amp\Sql\ConnectionException;
use Amp\Sql\SqlConfig;
Expand All @@ -16,6 +18,9 @@
*/
final class RetrySqlConnector implements SqlConnector
{
use ForbidCloning;
use ForbidSerialization;

/**
* @param SqlConnector<TConfig, TConnection> $connector
*/
Expand Down
5 changes: 5 additions & 0 deletions src/StatementPool.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
namespace Amp\Sql\Common;

use Amp\DeferredFuture;
use Amp\ForbidCloning;
use Amp\ForbidSerialization;
use Amp\Sql\Pool;
use Amp\Sql\Result;
use Amp\Sql\SqlConfig;
Expand All @@ -20,6 +22,9 @@
*/
abstract class StatementPool implements Statement
{
use ForbidCloning;
use ForbidSerialization;

private readonly Pool $pool;

/** @var \SplQueue<TStatement> */
Expand Down

0 comments on commit 8917498

Please sign in to comment.