Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
552 changes: 0 additions & 552 deletions analyzer-baseline.toml

Large diffs are not rendered by default.

84 changes: 0 additions & 84 deletions lint-baseline.toml
Original file line number Diff line number Diff line change
Expand Up @@ -246,90 +246,6 @@ code = "no-fully-qualified-global-class-like"
message = "Fully-qualified class-like reference detected."
count = 1

[[issues]]
file = "src/Metadata/MetadataInterface.php"
code = "no-boolean-flag-parameter"
message = "Avoid boolean flag parameters."
count = 2

[[issues]]
file = "src/Metadata/MetadataInterface.php"
code = "too-many-methods"
message = "Interface has too many methods."
count = 1

[[issues]]
file = "src/Metadata/Object/ColumnObject.php"
code = "too-many-properties"
message = "Class has too many properties."
count = 1

[[issues]]
file = "src/Metadata/Object/ConstraintObject.php"
code = "too-many-properties"
message = "Class has too many properties."
count = 1

[[issues]]
file = "src/Metadata/Object/TriggerObject.php"
code = "too-many-properties"
message = "Class has too many properties."
count = 1

[[issues]]
file = "src/Metadata/Source/AbstractSource.php"
code = "cyclomatic-complexity"
message = "Class has high complexity."
count = 1

[[issues]]
file = "src/Metadata/Source/AbstractSource.php"
code = "kan-defect"
message = "Class has a high kan defect score."
count = 1

[[issues]]
file = "src/Metadata/Source/AbstractSource.php"
code = "no-boolean-flag-parameter"
message = "Avoid boolean flag parameters."
count = 1

[[issues]]
file = "src/Metadata/Source/AbstractSource.php"
code = "no-isset"
message = "Use of the `isset` construct."
count = 15

[[issues]]
file = "src/Metadata/Source/AbstractSource.php"
code = "no-multi-assignments"
message = "Avoid multiple assignments in a single statement."
count = 1

[[issues]]
file = "src/Metadata/Source/AbstractSource.php"
code = "no-shorthand-ternary"
message = "Use of the shorthand ternary operator."
count = 1

[[issues]]
file = "src/Metadata/Source/AbstractSource.php"
code = "string-style"
message = "String concatenation can be replaced with interpolation."
count = 5

[[issues]]
file = "src/Metadata/Source/AbstractSource.php"
code = "too-many-methods"
message = "Class has too many methods."
count = 1

[[issues]]
file = "src/Metadata/Source/AbstractSource.php"
code = "valid-docblock"
message = "Unexpected token in PHPDoc type"
count = 2

[[issues]]
file = "src/ResultSet/AbstractResultSet.php"
code = "cyclomatic-complexity"
Expand Down
32 changes: 22 additions & 10 deletions src/Metadata/MetadataInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,22 @@
use PhpDb\Metadata\Object\TriggerObject;
use PhpDb\Metadata\Object\ViewObject;

/**
* @api
*
* @mago-expect lint:too-many-methods
*/
interface MetadataInterface
{
public function getColumn(string $columnName, string $table, ?string $schema = null): ColumnObject;

/**
* @return list<string>
*/
public function getColumnNames(string $table, ?string $schema = null): array;

/**
* @return ColumnObject[]
* @return list<ColumnObject>
*/
public function getColumns(string $table, ?string $schema = null): array;

Expand All @@ -29,53 +37,57 @@ public function getConstraint(
): ConstraintObject;

/**
* @return ConstraintKeyObject[]
* @return list<ConstraintKeyObject>
*/
public function getConstraintKeys(string $constraint, string $table, ?string $schema = null): array;

/**
* @return ConstraintObject[]
* @return list<ConstraintObject>
*/
public function getConstraints(string $table, ?string $schema = null): array;

/**
* @return string[]
* @return list<string>
*/
public function getSchemas(): array;

public function getTable(string $tableName, ?string $schema = null): TableObject|ViewObject;

/**
* @return string[]
* @return list<string>
*
* @mago-expect lint:no-boolean-flag-parameter
*/
public function getTableNames(?string $schema = null, bool $includeViews = false): array;

/**
* @return TableObject[]
* @return list<TableObject|ViewObject>
*
* @mago-expect lint:no-boolean-flag-parameter
*/
public function getTables(?string $schema = null, bool $includeViews = false): array;

public function getTrigger(string $triggerName, ?string $schema = null): TriggerObject;

/**
* @return string[]
* @return list<string>
*/
public function getTriggerNames(?string $schema = null): array;

/**
* @return TriggerObject[]
* @return list<TriggerObject>
*/
public function getTriggers(?string $schema = null): array;

public function getView(string $viewName, ?string $schema = null): ViewObject|TableObject;

/**
* @return string[]
* @return list<string>
*/
public function getViewNames(?string $schema = null): array;

/**
* @return ViewObject[]
* @return list<TableObject|ViewObject>
*/
public function getViews(?string $schema = null): array;
}
15 changes: 11 additions & 4 deletions src/Metadata/Object/AbstractTableObject.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,19 @@

namespace PhpDb\Metadata\Object;

/**
* @api
*/
abstract class AbstractTableObject
{
protected ?string $name = null;

protected ?string $type = null;

/** @var array<int|string, mixed>|null */
/** @var list<ColumnObject>|null */
protected ?array $columns = null;

/** @var array<int|string, mixed>|null */
/** @var list<ConstraintObject>|null */
protected ?array $constraints = null;

/**
Expand All @@ -29,7 +32,7 @@ public function __construct(?string $name = null)
/**
* Get columns
*
* @return array<int|string, mixed>|null
* @return list<ColumnObject>|null
*/
public function getColumns(): ?array
{
Expand All @@ -39,7 +42,7 @@ public function getColumns(): ?array
/**
* Get constraints
*
* @return array<int|string, mixed>|null
* @return list<ConstraintObject>|null
*/
public function getConstraints(): ?array
{
Expand All @@ -56,6 +59,8 @@ public function getName(): ?string

/**
* Set columns
*
* @param list<ColumnObject> $columns
*/
public function setColumns(array $columns): void
{
Expand All @@ -64,6 +69,8 @@ public function setColumns(array $columns): void

/**
* Set constraints
*
* @param list<ConstraintObject> $constraints
*/
public function setConstraints(array $constraints): void
{
Expand Down
59 changes: 24 additions & 35 deletions src/Metadata/Object/ColumnObject.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,46 +6,34 @@

use function array_key_exists;

class ColumnObject
final class ColumnObject
{
protected string $name;
private ?int $ordinalPosition = null;

protected string $tableName;
private string|int|bool|null $columnDefault = null;

protected ?string $schemaName = null;
private ?bool $isNullable = null;

protected ?int $ordinalPosition = null;
private ?string $dataType = null;

protected string|int|bool|null $columnDefault = null;
private ?int $characterMaximumLength = null;

protected ?bool $isNullable = null;
private ?int $characterOctetLength = null;

protected ?string $dataType = null;
private ?int $numericPrecision = null;

protected ?int $characterMaximumLength = null;
private ?int $numericScale = null;

protected ?int $characterOctetLength = null;
private ?bool $numericUnsigned = null;

protected ?int $numericPrecision = null;
/** @var array<string, mixed> */
private array $errata = [];

protected ?int $numericScale = null;

protected ?bool $numericUnsigned = null;

protected array $errata = [];

/**
* Constructor
*/
public function __construct(string $name, string $tableName, ?string $schemaName = null)
{
$this->setName($name);
$this->setTableName($tableName);

if (null !== $schemaName) {
$this->setSchemaName($schemaName);
}
}
public function __construct(
private string $name,
private string $tableName,
private ?string $schemaName = null,
) {}

/**
* @return int|null the $characterMaximumLength
Expand All @@ -64,9 +52,9 @@ public function getCharacterOctetLength(): ?int
}

/**
* @return null|string the $columnDefault
* @return string|int|bool|null the $columnDefault
*/
public function getColumnDefault(): ?string
public function getColumnDefault(): string|int|bool|null
{
return $this->columnDefault;
}
Expand All @@ -89,7 +77,7 @@ public function getErrata(string $errataName): mixed
}

/**
* @return array the $errata
* @return array<string, mixed> the $errata
*/
public function getErratas(): array
{
Expand Down Expand Up @@ -192,11 +180,12 @@ public function setErrata(string $errataName, mixed $errataValue): static
return $this;
}

/**
* @param array<string, mixed> $erratas
*/
public function setErratas(array $erratas): static
{
foreach ($erratas as $name => $value) {
$this->setErrata($name, $value);
}
$this->errata = [...$this->errata, ...$erratas];

return $this;
}
Expand Down
18 changes: 9 additions & 9 deletions src/Metadata/Object/ConstraintKeyObject.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace PhpDb\Metadata\Object;

class ConstraintKeyObject
final class ConstraintKeyObject
{
final public const FK_CASCADE = 'CASCADE';

Expand All @@ -16,25 +16,25 @@ class ConstraintKeyObject

final public const FK_SET_DEFAULT = 'SET DEFAULT';

protected ?int $ordinalPosition = null;
private ?int $ordinalPosition = null;

protected ?bool $positionInUniqueConstraint = null;
private ?bool $positionInUniqueConstraint = null;

protected ?string $referencedTableSchema = null;
private ?string $referencedTableSchema = null;

protected ?string $referencedTableName = null;
private ?string $referencedTableName = null;

protected ?string $referencedColumnName = null;
private ?string $referencedColumnName = null;

protected ?string $foreignKeyUpdateRule = null;
private ?string $foreignKeyUpdateRule = null;

protected ?string $foreignKeyDeleteRule = null;
private ?string $foreignKeyDeleteRule = null;

/**
* Constructor
*/
public function __construct(
protected string $columnName,
private string $columnName,
) {}

/**
Expand Down
Loading