keboola/php-datatypes

View on GitHub

Showing 97 of 102 total issues

Function validateLength has a Cognitive Complexity of 67 (exceeds 5 allowed). Consider refactoring.
Open

private function validateLength(string $type, $length = null): void
{
$valid = true;
switch (strtoupper($type)) {
case 'CHAR':
Severity: Minor
Found in src/Definition/MySQL.php - About 1 day to fix

File Teradata.php has 510 lines of code (exceeds 250 allowed). Consider refactoring.
Open

<?php
 
declare(strict_types=1);
 
namespace Keboola\Datatype\Definition;
Severity: Major
Found in src/Definition/Teradata.php - About 1 day to fix

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

    case self::TYPE_NUMERIC:
    if (is_null($length) || $length === '') {
    break;
    }
    $parts = explode(',', (string) $length);
    Severity: Major
    Found in src/Definition/Snowflake.php and 1 other location - About 1 day to fix
    src/Definition/Redshift.php on lines 149..174

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

    case 'NUMERIC':
    if (is_null($length) || $length === '') {
    break;
    }
    $parts = explode(',', (string) $length);
    Severity: Major
    Found in src/Definition/Redshift.php and 1 other location - About 1 day to fix
    src/Definition/Snowflake.php on lines 210..235

    Function validateLength has a Cognitive Complexity of 45 (exceeds 5 allowed). Consider refactoring.
    Open

    private function validateLength(string $type, $length = null): void
    {
    $valid = true;
    switch (strtoupper($type)) {
    case 'DECIMAL':
    Severity: Minor
    Found in src/Definition/Redshift.php - About 6 hrs to fix

    Function validateLength has a Cognitive Complexity of 45 (exceeds 5 allowed). Consider refactoring.
    Open

    private function validateLength(string $type, $length = null): void
    {
    $valid = true;
    switch (strtoupper($type)) {
    case self::TYPE_NUMBER:
    Severity: Minor
    Found in src/Definition/Snowflake.php - About 6 hrs to fix

    Identical blocks of code found in 3 locations. Consider refactoring.
    Open

    private function getLengthFromArray(array $lengthOptions): ?string
    {
    $expectedOptions = ['character_maximum', 'numeric_precision', 'numeric_scale'];
    $diff = array_diff(array_keys($lengthOptions), $expectedOptions);
    if ($diff !== []) {
    Severity: Major
    Found in src/Definition/Redshift.php and 2 other locations - About 6 hrs to fix
    src/Definition/MySQL.php on lines 100..119
    src/Definition/Snowflake.php on lines 168..187

    Identical blocks of code found in 3 locations. Consider refactoring.
    Open

    private function getLengthFromArray(array $lengthOptions): ?string
    {
    $expectedOptions = ['character_maximum', 'numeric_precision', 'numeric_scale'];
    $diff = array_diff(array_keys($lengthOptions), $expectedOptions);
    if ($diff !== []) {
    Severity: Major
    Found in src/Definition/Snowflake.php and 2 other locations - About 6 hrs to fix
    src/Definition/MySQL.php on lines 100..119
    src/Definition/Redshift.php on lines 108..127

    Identical blocks of code found in 3 locations. Consider refactoring.
    Open

    private function getLengthFromArray(array $lengthOptions): ?string
    {
    $expectedOptions = ['character_maximum', 'numeric_precision', 'numeric_scale'];
    $diff = array_diff(array_keys($lengthOptions), $expectedOptions);
    if ($diff !== []) {
    Severity: Major
    Found in src/Definition/MySQL.php and 2 other locations - About 6 hrs to fix
    src/Definition/Redshift.php on lines 108..127
    src/Definition/Snowflake.php on lines 168..187

    Method validateLength has 124 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    private function validateLength(string $type, $length = null): void
    {
    $valid = true;
    switch (strtoupper($type)) {
    case 'CHAR':
    Severity: Major
    Found in src/Definition/MySQL.php - About 4 hrs to fix

      File Exasol.php has 351 lines of code (exceeds 250 allowed). Consider refactoring.
      Open

      <?php
       
      declare(strict_types=1);
       
      namespace Keboola\Datatype\Definition;
      Severity: Minor
      Found in src/Definition/Exasol.php - About 4 hrs to fix

        Similar blocks of code found in 3 locations. Consider refactoring.
        Open

        public static function getTypeByBasetype(string $basetype): string
        {
        $basetype = strtoupper($basetype);
         
        if (!BaseType::isValid($basetype)) {
        Severity: Major
        Found in src/Definition/Exasol.php and 2 other locations - About 4 hrs to fix
        src/Definition/Snowflake.php on lines 341..367
        src/Definition/Synapse.php on lines 277..303

        Similar blocks of code found in 3 locations. Consider refactoring.
        Open

        public static function getTypeByBasetype(string $basetype): string
        {
        $basetype = strtoupper($basetype);
         
        if (!BaseType::isValid($basetype)) {
        Severity: Major
        Found in src/Definition/Snowflake.php and 2 other locations - About 4 hrs to fix
        src/Definition/Exasol.php on lines 413..439
        src/Definition/Synapse.php on lines 277..303

        Similar blocks of code found in 3 locations. Consider refactoring.
        Open

        public static function getTypeByBasetype(string $basetype): string
        {
        $basetype = strtoupper($basetype);
         
        if (!BaseType::isValid($basetype)) {
        Severity: Major
        Found in src/Definition/Synapse.php and 2 other locations - About 4 hrs to fix
        src/Definition/Exasol.php on lines 413..439
        src/Definition/Snowflake.php on lines 341..367

        File Redshift.php has 344 lines of code (exceeds 250 allowed). Consider refactoring.
        Open

        <?php
         
        declare(strict_types=1);
         
        namespace Keboola\Datatype\Definition;
        Severity: Minor
        Found in src/Definition/Redshift.php - About 4 hrs to fix

          Method validateCompression has 95 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

          private function validateCompression(string $type, string $compression): void
          {
          $valid = true;
          $type = strtoupper($type);
          switch (strtoupper($compression)) {
          Severity: Major
          Found in src/Definition/Redshift.php - About 3 hrs to fix

            Method validateLength has 89 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

            private function validateLength(string $type, $length = null): void
            {
            $valid = true;
            switch (strtoupper($type)) {
            case self::TYPE_NUMBER:
            Severity: Major
            Found in src/Definition/Snowflake.php - About 3 hrs to fix

              File Snowflake.php has 312 lines of code (exceeds 250 allowed). Consider refactoring.
              Open

              <?php
               
              declare(strict_types=1);
               
              namespace Keboola\Datatype\Definition;
              Severity: Minor
              Found in src/Definition/Snowflake.php - About 3 hrs to fix

                Method validateLength has 87 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                private function validateLength(string $type, $length = null): void
                {
                $valid = true;
                switch (strtoupper($type)) {
                case 'DECIMAL':
                Severity: Major
                Found in src/Definition/Redshift.php - About 3 hrs to fix

                  Similar blocks of code found in 2 locations. Consider refactoring.
                  Open

                  public const TYPES = [
                  self::TYPE_DECIMAL, self::TYPE_NUMERIC,
                  self::TYPE_FLOAT, self::TYPE_REAL,
                  self::TYPE_MONEY, self::TYPE_SMALLMONEY,
                  self::TYPE_BIGINT, self::TYPE_INT, self::TYPE_SMALLINT, self::TYPE_TINYINT,
                  Severity: Major
                  Found in src/Definition/Synapse.php and 1 other location - About 3 hrs to fix
                  src/Definition/Teradata.php on lines 178..204
                  Severity
                  Category
                  Status
                  Source
                  Language