qcubed/framework

View on GitHub
includes/database/QOracleDatabase.class.php

Summary

Maintainability
F
1 wk
Test Coverage

File QOracleDatabase.class.php has 496 lines of code (exceeds 250 allowed). Consider refactoring.
Open

<?php
/**
 * EXPERIMENTAL Oracle database adapter.
 *
 * @package DatabaseAdapters
Severity: Minor
Found in includes/database/QOracleDatabase.class.php - About 7 hrs to fix

    The class QOracleDatabase has an overall complexity of 82 which is very high. The configured complexity threshold is 50.
    Open

    class QOracleDatabase extends QDatabaseBase {
        const Adapter = 'Oracle Database Adapter';
        protected $objOracle;
    
        protected $EscapeIdentifierBegin = '';

    QOracleDatabase has 25 functions (exceeds 20 allowed). Consider refactoring.
    Open

    class QOracleDatabase extends QDatabaseBase {
        const Adapter = 'Oracle Database Adapter';
        protected $objOracle;
    
        protected $EscapeIdentifierBegin = '';
    Severity: Minor
    Found in includes/database/QOracleDatabase.class.php - About 2 hrs to fix

      Function ParseForInnoDbForeignKeys has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
      Open

          private function ParseForInnoDbForeignKeys($strCreateStatement) {
              // MySql nicely splits each object in a table into it's own line
              // Split the create statement into lines, and then pull out anything
              // that starts with "CONSTRAINT" and contains "FOREIGN KEY"
              $strLineArray = explode("\n", $strCreateStatement);
      Severity: Minor
      Found in includes/database/QOracleDatabase.class.php - About 1 hr to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Method SetFieldType has 34 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          protected function SetFieldType($OracleFieldType) {
      
              //Note: Info from http://download-east.oracle.com/docs/html/B10255_01/ch3.htm#1026123
              switch ($OracleFieldType) {
                  case "FLOAT":
      Severity: Minor
      Found in includes/database/QOracleDatabase.class.php - About 1 hr to fix

        Method ParseForIndexes has 29 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            private function ParseForIndexes($strCreateStatement) {
                // MySql nicely splits each object in a table into it's own line
                // Split the create statement into lines, and then pull out anything
                // that says "PRIMARY KEY", "UNIQUE KEY", or just plain ol' "KEY"
                $strLineArray = explode("\n", $strCreateStatement);
        Severity: Minor
        Found in includes/database/QOracleDatabase.class.php - About 1 hr to fix

          Method ParseForInnoDbForeignKeys has 28 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              private function ParseForInnoDbForeignKeys($strCreateStatement) {
                  // MySql nicely splits each object in a table into it's own line
                  // Split the create statement into lines, and then pull out anything
                  // that starts with "CONSTRAINT" and contains "FOREIGN KEY"
                  $strLineArray = explode("\n", $strCreateStatement);
          Severity: Minor
          Found in includes/database/QOracleDatabase.class.php - About 1 hr to fix

            Function SetFieldType has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
            Open

                protected function SetFieldType($OracleFieldType) {
            
                    //Note: Info from http://download-east.oracle.com/docs/html/B10255_01/ch3.htm#1026123
                    switch ($OracleFieldType) {
                        case "FLOAT":
            Severity: Minor
            Found in includes/database/QOracleDatabase.class.php - About 1 hr to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Function __construct has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
            Open

                public function __construct($mixFieldData, $objDb = null) {
                        
                        
                    $this->strTable =  $mixFieldData[0];
                    $this->strName = $mixFieldData[1];
            Severity: Minor
            Found in includes/database/QOracleDatabase.class.php - About 1 hr to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Function ExecuteQuery has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
            Open

                protected function ExecuteQuery($strQuery) {
                    
                    // Connect if Applicable
                    if (!$this->blnConnectedFlag) $this->Connect();
            
            
            Severity: Minor
            Found in includes/database/QOracleDatabase.class.php - About 1 hr to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Method ExecuteQuery has 27 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                protected function ExecuteQuery($strQuery) {
                    
                    // Connect if Applicable
                    if (!$this->blnConnectedFlag) $this->Connect();
            
            
            Severity: Minor
            Found in includes/database/QOracleDatabase.class.php - About 1 hr to fix

              Method __construct has 27 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                  public function __construct($mixFieldData, $objDb = null) {
                          
                          
                      $this->strTable =  $mixFieldData[0];
                      $this->strName = $mixFieldData[1];
              Severity: Minor
              Found in includes/database/QOracleDatabase.class.php - About 1 hr to fix

                Method GetColumn has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                    public function GetColumn($strColumnName, $strColumnType = null) {
                        if (!isset($this->strColumnArray[$strColumnName])) {
                            return null;
                        }
                        $strColumnValue = $this->strColumnArray[$strColumnName];
                Severity: Minor
                Found in includes/database/QOracleDatabase.class.php - About 1 hr to fix

                  Function SqlLimitVariableSuffix has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                  Open

                      public function SqlLimitVariableSuffix($strLimitInfo) {
                          // Setup limit suffix (if applicable) via a LIMIT clause
                          // the parameter receives 10 or 60,10 from instance
                          // then from Mysql style must be converted to the Oracle way
                          if (strlen($strLimitInfo)) {
                  Severity: Minor
                  Found in includes/database/QOracleDatabase.class.php - About 45 mins to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Function Execute has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                  Open

                    protected function Execute ($objResult) {
                      $blnReturn = false;
                      if($objResult)
                      {
                        if($this->commitMode) {
                  Severity: Minor
                  Found in includes/database/QOracleDatabase.class.php - About 45 mins to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Avoid too many return statements within this method.
                  Open

                                  return $strColumnValue;
                  Severity: Major
                  Found in includes/database/QOracleDatabase.class.php - About 30 mins to fix

                    Avoid too many return statements within this method.
                    Open

                                    return new QDateTime($strColumnValue);
                    Severity: Major
                    Found in includes/database/QOracleDatabase.class.php - About 30 mins to fix

                      Avoid too many return statements within this method.
                      Open

                                      return QType::Cast($strColumnValue, QType::String);
                      Severity: Major
                      Found in includes/database/QOracleDatabase.class.php - About 30 mins to fix

                        Avoid too many return statements within this method.
                        Open

                                        return QType::Cast($strColumnValue, QType::Float);
                        Severity: Major
                        Found in includes/database/QOracleDatabase.class.php - About 30 mins to fix

                          Avoid too many return statements within this method.
                          Open

                                          return QType::Cast($strColumnValue, QType::Integer);
                          Severity: Major
                          Found in includes/database/QOracleDatabase.class.php - About 30 mins to fix

                            Function ParseNameFromKeyDefinition has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                            Open

                                private function ParseNameFromKeyDefinition($strKeyDefinition) {
                                    $strKeyDefinition = trim($strKeyDefinition);
                            
                                    $intPosition = strpos($strKeyDefinition, '(');
                            
                            
                            Severity: Minor
                            Found in includes/database/QOracleDatabase.class.php - About 25 mins to fix

                            Cognitive Complexity

                            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                            A method's cognitive complexity is based on a few simple rules:

                            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                            • Code is considered more complex for each "break in the linear flow of the code"
                            • Code is considered more complex when "flow breaking structures are nested"

                            Further reading

                            Function ExecuteNonQuery has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                            Open

                                protected function ExecuteNonQuery($strNonQuery) {
                            
                                    // Connect if Applicable
                                    if (!$this->blnConnectedFlag) $this->Connect();
                                    
                            Severity: Minor
                            Found in includes/database/QOracleDatabase.class.php - About 25 mins to fix

                            Cognitive Complexity

                            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                            A method's cognitive complexity is based on a few simple rules:

                            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                            • Code is considered more complex for each "break in the linear flow of the code"
                            • Code is considered more complex when "flow breaking structures are nested"

                            Further reading

                            The method GetColumn() has a Cyclomatic Complexity of 14. The configured cyclomatic complexity threshold is 10.
                            Open

                                public function GetColumn($strColumnName, $strColumnType = null) {
                                    if (!isset($this->strColumnArray[$strColumnName])) {
                                        return null;
                                    }
                                    $strColumnValue = $this->strColumnArray[$strColumnName];

                            CyclomaticComplexity

                            Since: 0.1

                            Complexity is determined by the number of decision points in a method plus one for the method entry. The decision points are 'if', 'while', 'for', and 'case labels'. Generally, 1-4 is low complexity, 5-7 indicates moderate complexity, 8-10 is high complexity, and 11+ is very high complexity.

                            Example

                            // Cyclomatic Complexity = 11
                            class Foo {
                            1   public function example() {
                            2       if ($a == $b) {
                            3           if ($a1 == $b1) {
                                            fiddle();
                            4           } elseif ($a2 == $b2) {
                                            fiddle();
                                        } else {
                                            fiddle();
                                        }
                            5       } elseif ($c == $d) {
                            6           while ($c == $d) {
                                            fiddle();
                                        }
                            7        } elseif ($e == $f) {
                            8           for ($n = 0; $n < $h; $n++) {
                                            fiddle();
                                        }
                                    } else {
                                        switch ($z) {
                            9               case 1:
                                                fiddle();
                                                break;
                            10              case 2:
                                                fiddle();
                                                break;
                            11              case 3:
                                                fiddle();
                                                break;
                                            default:
                                                fiddle();
                                                break;
                                        }
                                    }
                                }
                            }

                            Source https://phpmd.org/rules/codesize.html#cyclomaticcomplexity

                            The method SetFieldType() has a Cyclomatic Complexity of 16. The configured cyclomatic complexity threshold is 10.
                            Open

                                protected function SetFieldType($OracleFieldType) {
                            
                                    //Note: Info from http://download-east.oracle.com/docs/html/B10255_01/ch3.htm#1026123
                                    switch ($OracleFieldType) {
                                        case "FLOAT":

                            CyclomaticComplexity

                            Since: 0.1

                            Complexity is determined by the number of decision points in a method plus one for the method entry. The decision points are 'if', 'while', 'for', and 'case labels'. Generally, 1-4 is low complexity, 5-7 indicates moderate complexity, 8-10 is high complexity, and 11+ is very high complexity.

                            Example

                            // Cyclomatic Complexity = 11
                            class Foo {
                            1   public function example() {
                            2       if ($a == $b) {
                            3           if ($a1 == $b1) {
                                            fiddle();
                            4           } elseif ($a2 == $b2) {
                                            fiddle();
                                        } else {
                                            fiddle();
                                        }
                            5       } elseif ($c == $d) {
                            6           while ($c == $d) {
                                            fiddle();
                                        }
                            7        } elseif ($e == $f) {
                            8           for ($n = 0; $n < $h; $n++) {
                                            fiddle();
                                        }
                                    } else {
                                        switch ($z) {
                            9               case 1:
                                                fiddle();
                                                break;
                            10              case 2:
                                                fiddle();
                                                break;
                            11              case 3:
                                                fiddle();
                                                break;
                                            default:
                                                fiddle();
                                                break;
                                        }
                                    }
                                }
                            }

                            Source https://phpmd.org/rules/codesize.html#cyclomaticcomplexity

                            Missing class import via use statement (line '32', column '14').
                            Open

                                        throw new Exception('Invalid Semicolon in LIMIT Info');

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '231', column '34').
                            Open

                                    $objOracleDatabaseResult = new QOracleDatabaseResult($objResult, $this);

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '34', column '14').
                            Open

                                        throw new Exception('Invalid Backtick in LIMIT Info');

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Remove error control operator '@' on line 150.
                            Open

                              protected function Execute ($objResult) {
                                $blnReturn = false;
                                if($objResult)
                                {
                                  if($this->commitMode) {

                            ErrorControlOperator

                            Error suppression should be avoided if possible as it doesn't just suppress the error, that you are trying to stop, but will also suppress errors that you didn't predict would ever occur. Consider changing error_reporting() level and/or setting up your own error handler.

                            Example

                            function foo($filePath) {
                                $file = @fopen($filPath); // hides exceptions
                                $key = @$array[$notExistingKey]; // assigns null to $key
                            }

                            Source http://phpmd.org/rules/cleancode.html#errorcontroloperator

                            Missing class import via use statement (line '473', column '22').
                            Open

                                                $objIndex = new QDatabaseIndex($strKeyName, $blnPrimaryKey = false, $blnUnique = true, $strColumnNameArray);

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '534', column '26').
                            Open

                                            $objForeignKey = new QDatabaseForeignKey($strTokenArray[0], $strTokenArray[1], $strTokenArray[2], $strTokenArray[3]);

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '87', column '14').
                            Open

                                        throw new QOracleDatabaseException("Unable to connect to Database", -1, null);

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '793', column '15').
                            Open

                                            throw new Exception("Unable to determine Oracle Database Field Type: $OracleFieldType");

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '226', column '14').
                            Open

                                        throw new QOracleDatabaseException($objOracle_error['message'],$objOracle_error['code'] , null);

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '288', column '31').
                            Open

                                        array_push($objFields, new QOracleDatabaseField($objRow, $this));

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '64', column '14').
                            Open

                                        throw new Exception('Invalid Semicolon in ORDER BY Info');

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '66', column '14').
                            Open

                                        throw new Exception('Invalid Backtick in ORDER BY Info');

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '396', column '13').
                            Open

                                    throw new Exception("Invalid Key Definition: $strKeyDefinition");

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '419', column '13').
                            Open

                                    throw new Exception("Invalid Key Definition: $strKeyDefinition");

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '565', column '13').
                            Open

                                    throw new Exception("Invalid Table Description");

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '341', column '20').
                            Open

                                        $objIndex = new QDatabaseIndex($objRow[0], $blnPrimaryKey, $blnUnique, $ColumnNameArray);

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '90', column '14').
                            Open

                                        throw new QOracleDatabaseException($objOracle_error['message'],$objOracle_error['code'] , null);

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '373', column '20').
                            Open

                                        $objIndex = new QDatabaseForeignKey($objRow[0], $ColumnNameArray,$objRow[1],$ColumnNameArray2);

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '540', column '15').
                            Open

                                            throw new Exception("Invalid Foreign Key definition: $strLine");

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '686', column '16').
                            Open

                                            return new QDateTime($strColumnValue);

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '463', column '22').
                            Open

                                                $objIndex = new QDatabaseIndex($strKeyName, $blnPrimaryKey = true, $blnUnique = true, $strColumnNameArray);

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '483', column '22').
                            Open

                                                $objIndex = new QDatabaseIndex($strKeyName, $blnPrimaryKey = false, $blnUnique = false, $strColumnNameArray);

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '267', column '14').
                            Open

                                        throw new QOracleDatabaseException($objOracle_error['message'],$objOracle_error['code'] , null);

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '159', column '17').
                            Open

                                  throw new QOracleDatabaseException($objOracle_error['message'],$objOracle_error['code'] , null);

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '424', column '13').
                            Open

                                    throw new Exception("Invalid Key Definition: $strKeyDefinition");

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Missing class import via use statement (line '633', column '14').
                            Open

                                    return new QOracleDatabaseRow($strColumnArray);

                            MissingImport

                            Since: 2.7.0

                            Importing all external classes in a file through use statements makes them clearly visible.

                            Example

                            function make() {
                                return new \stdClass();
                            }

                            Source http://phpmd.org/rules/cleancode.html#MissingImport

                            Avoid using static access to class 'QType' in method 'GetColumn'.
                            Open

                                            return QType::Cast($strColumnValue, QType::String);

                            StaticAccess

                            Since: 1.4.0

                            Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                            Example

                            class Foo
                            {
                                public function bar()
                                {
                                    Bar::baz();
                                }
                            }

                            Source https://phpmd.org/rules/cleancode.html#staticaccess

                            Avoid assigning values to variables in if clauses and the like (line '265', column '7').
                            Open

                                protected function ExecuteNonQuery($strNonQuery) {
                            
                                    // Connect if Applicable
                                    if (!$this->blnConnectedFlag) $this->Connect();
                                    

                            IfStatementAssignment

                            Since: 2.7.0

                            Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.

                            Example

                            class Foo
                            {
                                public function bar($flag)
                                {
                                    if ($foo = 'bar') { // possible typo
                                        // ...
                                    }
                                    if ($baz = 0) { // always false
                                        // ...
                                    }
                                }
                            }

                            Source http://phpmd.org/rules/cleancode.html#ifstatementassignment

                            Avoid assigning values to variables in if clauses and the like (line '89', column '7').
                            Open

                                public function Connect() {
                                    // Lookup Adapter-Specific Connection Properties
                                    $strServer = $this->Server;
                                    $strName = $this->Database;
                                    $strUsername = $this->Username;

                            IfStatementAssignment

                            Since: 2.7.0

                            Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.

                            Example

                            class Foo
                            {
                                public function bar($flag)
                                {
                                    if ($foo = 'bar') { // possible typo
                                        // ...
                                    }
                                    if ($baz = 0) { // always false
                                        // ...
                                    }
                                }
                            }

                            Source http://phpmd.org/rules/cleancode.html#ifstatementassignment

                            Avoid assigning values to variables in if clauses and the like (line '224', column '7').
                            Open

                                protected function ExecuteQuery($strQuery) {
                                    
                                    // Connect if Applicable
                                    if (!$this->blnConnectedFlag) $this->Connect();
                            
                            

                            IfStatementAssignment

                            Since: 2.7.0

                            Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.

                            Example

                            class Foo
                            {
                                public function bar($flag)
                                {
                                    if ($foo = 'bar') { // possible typo
                                        // ...
                                    }
                                    if ($baz = 0) { // always false
                                        // ...
                                    }
                                }
                            }

                            Source http://phpmd.org/rules/cleancode.html#ifstatementassignment

                            The method Execute uses an else expression. Else clauses are basically not necessary and you can simplify the code by not using them.
                            Open

                                  else {
                                      $blnReturn = @oci_execute($objResult);
                                      if (!$blnReturn) {
                                        $objOracle_error=oci_error($objResult);
                                      }

                            ElseExpression

                            Since: 1.4.0

                            An if expression with an else branch is basically not necessary. You can rewrite the conditions in a way that the else clause is not necessary and the code becomes simpler to read. To achieve this, use early return statements, though you may need to split the code it several smaller methods. For very simple assignments you could also use the ternary operations.

                            Example

                            class Foo
                            {
                                public function bar($flag)
                                {
                                    if ($flag) {
                                        // one branch
                                    } else {
                                        // another branch
                                    }
                                }
                            }

                            Source https://phpmd.org/rules/cleancode.html#elseexpression

                            Avoid using static access to class 'QType' in method 'InsertId'.
                            Open

                                    return QType::Cast($strDbRow[0], QType::Integer);        

                            StaticAccess

                            Since: 1.4.0

                            Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                            Example

                            class Foo
                            {
                                public function bar()
                                {
                                    Bar::baz();
                                }
                            }

                            Source https://phpmd.org/rules/cleancode.html#staticaccess

                            Avoid assigning values to variables in if clauses and the like (line '157', column '9').
                            Open

                              protected function Execute ($objResult) {
                                $blnReturn = false;
                                if($objResult)
                                {
                                  if($this->commitMode) {

                            IfStatementAssignment

                            Since: 2.7.0

                            Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.

                            Example

                            class Foo
                            {
                                public function bar($flag)
                                {
                                    if ($foo = 'bar') { // possible typo
                                        // ...
                                    }
                                    if ($baz = 0) { // always false
                                        // ...
                                    }
                                }
                            }

                            Source http://phpmd.org/rules/cleancode.html#ifstatementassignment

                            The method SqlLimitVariableSuffix uses an else expression. Else clauses are basically not necessary and you can simplify the code by not using them.
                            Open

                                        else{
                                            //The string LIMIT will be parsed in Query Method
                                            return "_LIMIT1_) where rownum <= $strLimitInfo";
                                        }

                            ElseExpression

                            Since: 1.4.0

                            An if expression with an else branch is basically not necessary. You can rewrite the conditions in a way that the else clause is not necessary and the code becomes simpler to read. To achieve this, use early return statements, though you may need to split the code it several smaller methods. For very simple assignments you could also use the ternary operations.

                            Example

                            class Foo
                            {
                                public function bar($flag)
                                {
                                    if ($flag) {
                                        // one branch
                                    } else {
                                        // another branch
                                    }
                                }
                            }

                            Source https://phpmd.org/rules/cleancode.html#elseexpression

                            The method ExecuteNonQuery uses an else expression. Else clauses are basically not necessary and you can simplify the code by not using them.
                            Open

                                        else {
                                            oci_execute($objResult);
                                        }

                            ElseExpression

                            Since: 1.4.0

                            An if expression with an else branch is basically not necessary. You can rewrite the conditions in a way that the else clause is not necessary and the code becomes simpler to read. To achieve this, use early return statements, though you may need to split the code it several smaller methods. For very simple assignments you could also use the ternary operations.

                            Example

                            class Foo
                            {
                                public function bar($flag)
                                {
                                    if ($flag) {
                                        // one branch
                                    } else {
                                        // another branch
                                    }
                                }
                            }

                            Source https://phpmd.org/rules/cleancode.html#elseexpression

                            Avoid using static access to class 'QType' in method 'GetColumn'.
                            Open

                                            return QType::Cast($strColumnValue, QType::Integer);

                            StaticAccess

                            Since: 1.4.0

                            Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                            Example

                            class Foo
                            {
                                public function bar()
                                {
                                    Bar::baz();
                                }
                            }

                            Source https://phpmd.org/rules/cleancode.html#staticaccess

                            Avoid using static access to class 'QType' in method 'GetColumn'.
                            Open

                                            return QType::Cast($strColumnValue->load(), QType::String);

                            StaticAccess

                            Since: 1.4.0

                            Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                            Example

                            class Foo
                            {
                                public function bar()
                                {
                                    Bar::baz();
                                }
                            }

                            Source https://phpmd.org/rules/cleancode.html#staticaccess

                            Avoid using static access to class 'QType' in method 'GetColumn'.
                            Open

                                            return QType::Cast($strColumnValue, QType::Float);

                            StaticAccess

                            Since: 1.4.0

                            Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                            Example

                            class Foo
                            {
                                public function bar()
                                {
                                    Bar::baz();
                                }
                            }

                            Source https://phpmd.org/rules/cleancode.html#staticaccess

                            The method ExecuteQuery uses an else expression. Else clauses are basically not necessary and you can simplify the code by not using them.
                            Open

                                        else {
                                            //die($strQuery);
                                            oci_execute($objResult);
                                        }

                            ElseExpression

                            Since: 1.4.0

                            An if expression with an else branch is basically not necessary. You can rewrite the conditions in a way that the else clause is not necessary and the code becomes simpler to read. To achieve this, use early return statements, though you may need to split the code it several smaller methods. For very simple assignments you could also use the ternary operations.

                            Example

                            class Foo
                            {
                                public function bar($flag)
                                {
                                    if ($flag) {
                                        // one branch
                                    } else {
                                        // another branch
                                    }
                                }
                            }

                            Source https://phpmd.org/rules/cleancode.html#elseexpression

                            Avoid unused private methods such as 'ParseForIndexes'.
                            Open

                                private function ParseForIndexes($strCreateStatement) {
                                    // MySql nicely splits each object in a table into it's own line
                                    // Split the create statement into lines, and then pull out anything
                                    // that says "PRIMARY KEY", "UNIQUE KEY", or just plain ol' "KEY"
                                    $strLineArray = explode("\n", $strCreateStatement);

                            UnusedPrivateMethod

                            Since: 0.2

                            Unused Private Method detects when a private method is declared but is unused.

                            Example

                            class Something
                            {
                                private function foo() {} // unused
                            }

                            Source https://phpmd.org/rules/unusedcode.html#unusedprivatemethod

                            Avoid unused local variables such as '$blnPrimaryKey'.
                            Open

                                                $objIndex = new QDatabaseIndex($strKeyName, $blnPrimaryKey = true, $blnUnique = true, $strColumnNameArray);

                            UnusedLocalVariable

                            Since: 0.2

                            Detects when a local variable is declared and/or assigned, but not used.

                            Example

                            class Foo {
                                public function doSomething()
                                {
                                    $i = 5; // Unused
                                }
                            }

                            Source https://phpmd.org/rules/unusedcode.html#unusedlocalvariable

                            Avoid unused private methods such as 'GetCreateStatementForTable'.
                            Open

                                private function GetCreateStatementForTable($strTableName) {
                                    // Use the MySQL "SHOW CREATE TABLE" functionality to get the table's Create statement
                                    $objResult = $this->Query(sprintf('SHOW CREATE TABLE `%s`', $strTableName));
                                    $objRow = $objResult->FetchRow();
                                    $strCreateTable = $objRow[1];

                            UnusedPrivateMethod

                            Since: 0.2

                            Unused Private Method detects when a private method is declared but is unused.

                            Example

                            class Something
                            {
                                private function foo() {} // unused
                            }

                            Source https://phpmd.org/rules/unusedcode.html#unusedprivatemethod

                            Avoid unused private methods such as 'GetTableTypeForCreateStatement'.
                            Open

                                private function GetTableTypeForCreateStatement($strCreateStatement) {
                                    // Table Type is in the last line of the Create Statement, "TYPE=DbTableType"
                                    $strLineArray = explode("\n", $strCreateStatement);
                                    $strFinalLine = strtoupper($strLineArray[count($strLineArray) - 1]);
                            
                            

                            UnusedPrivateMethod

                            Since: 0.2

                            Unused Private Method detects when a private method is declared but is unused.

                            Example

                            class Something
                            {
                                private function foo() {} // unused
                            }

                            Source https://phpmd.org/rules/unusedcode.html#unusedprivatemethod

                            Avoid unused local variables such as '$blnUnique'.
                            Open

                                                $objIndex = new QDatabaseIndex($strKeyName, $blnPrimaryKey = true, $blnUnique = true, $strColumnNameArray);

                            UnusedLocalVariable

                            Since: 0.2

                            Detects when a local variable is declared and/or assigned, but not used.

                            Example

                            class Foo {
                                public function doSomething()
                                {
                                    $i = 5; // Unused
                                }
                            }

                            Source https://phpmd.org/rules/unusedcode.html#unusedlocalvariable

                            Avoid unused parameters such as '$strColumnName'.
                            Open

                                public function InsertId($strTableName = null, $strColumnName = null) {

                            UnusedFormalParameter

                            Since: 0.2

                            Avoid passing parameters to methods or constructors and then not using those parameters.

                            Example

                            class Foo
                            {
                                private function bar($howdy)
                                {
                                    // $howdy is not used
                                }
                            }

                            Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter

                            Avoid unused parameters such as '$strLimitInfo'.
                            Open

                                public function SqlLimitVariablePrefix($strLimitInfo) {

                            UnusedFormalParameter

                            Since: 0.2

                            Avoid passing parameters to methods or constructors and then not using those parameters.

                            Example

                            class Foo
                            {
                                private function bar($howdy)
                                {
                                    // $howdy is not used
                                }
                            }

                            Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter

                            Avoid unused private methods such as 'ParseForInnoDbForeignKeys'.
                            Open

                                private function ParseForInnoDbForeignKeys($strCreateStatement) {
                                    // MySql nicely splits each object in a table into it's own line
                                    // Split the create statement into lines, and then pull out anything
                                    // that starts with "CONSTRAINT" and contains "FOREIGN KEY"
                                    $strLineArray = explode("\n", $strCreateStatement);

                            UnusedPrivateMethod

                            Since: 0.2

                            Unused Private Method detects when a private method is declared but is unused.

                            Example

                            class Something
                            {
                                private function foo() {} // unused
                            }

                            Source https://phpmd.org/rules/unusedcode.html#unusedprivatemethod

                            Avoid unused local variables such as '$strPort'.
                            Open

                                    $strPort = $this->Port;

                            UnusedLocalVariable

                            Since: 0.2

                            Detects when a local variable is declared and/or assigned, but not used.

                            Example

                            class Foo {
                                public function doSomething()
                                {
                                    $i = 5; // Unused
                                }
                            }

                            Source https://phpmd.org/rules/unusedcode.html#unusedlocalvariable

                            Avoid using count() function in for loops.
                            Open

                                    for ($intIndex = 0; $intIndex < count($strToReturn); $intIndex++) {
                                        $strColumn = $strToReturn[$intIndex];
                            
                                        if (substr($strColumn, 0, 1) == '`')
                                        $strColumn = substr($strColumn, 1, strpos($strColumn, '`', 1) - 1);

                            CountInLoopExpression

                            Since: 2.7.0

                            Using count/sizeof in loops expressions is considered bad practice and is a potential source of many bugs, especially when the loop manipulates an array, as count happens on each iteration.

                            Example

                            class Foo {
                            
                              public function bar()
                              {
                                $array = array();
                            
                                for ($i = 0; count($array); $i++) {
                                  // ...
                                }
                              }
                            }

                            Source https://phpmd.org/rules/design.html#countinloopexpression

                            Avoid using count() function in for loops.
                            Open

                                    for ($intIndex = 1; $intIndex < (count($strLineArray) - 1); $intIndex++) {
                                        $strLine = $strLineArray[$intIndex];
                            
                                        // Each object has a two-space indent
                                        // So this is a key object if any of those key-related words exist at position 2

                            CountInLoopExpression

                            Since: 2.7.0

                            Using count/sizeof in loops expressions is considered bad practice and is a potential source of many bugs, especially when the loop manipulates an array, as count happens on each iteration.

                            Example

                            class Foo {
                            
                              public function bar()
                              {
                                $array = array();
                            
                                for ($i = 0; count($array); $i++) {
                                  // ...
                                }
                              }
                            }

                            Source https://phpmd.org/rules/design.html#countinloopexpression

                            Avoid using count() function in for loops.
                            Open

                                    for ($intIndex = 1; $intIndex < (count($strLineArray) - 1); $intIndex++) {
                                        $strLine = $strLineArray[$intIndex];
                            
                                        // Check to see if the line:
                                        // * Starts with "CONSTRAINT" at position 2 AND

                            CountInLoopExpression

                            Since: 2.7.0

                            Using count/sizeof in loops expressions is considered bad practice and is a potential source of many bugs, especially when the loop manipulates an array, as count happens on each iteration.

                            Example

                            class Foo {
                            
                              public function bar()
                              {
                                $array = array();
                            
                                for ($i = 0; count($array); $i++) {
                                  // ...
                                }
                              }
                            }

                            Source https://phpmd.org/rules/design.html#countinloopexpression

                            TODO found
                            Open

                                    // TODO: auto number (sequence)

                            TODO found
                            Open

                                    // TODO: unique and primary?

                            TODO found
                            Open

                                    // TODO: Current method doesn't support key names with commas or parenthesis in them!

                            TODO found
                            Open

                                    // TODO: not null?

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

                                private function ParseForInnoDbForeignKeys($strCreateStatement) {
                                    // MySql nicely splits each object in a table into it's own line
                                    // Split the create statement into lines, and then pull out anything
                                    // that starts with "CONSTRAINT" and contains "FOREIGN KEY"
                                    $strLineArray = explode("\n", $strCreateStatement);
                            Severity: Major
                            Found in includes/database/QOracleDatabase.class.php and 1 other location - About 2 days to fix
                            includes/database/QMySqliDatabase.class.php on lines 328..380

                            Duplicated Code

                            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                            Tuning

                            This issue has a mass of 572.

                            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                            Refactorings

                            Further Reading

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

                                private function ParseForIndexes($strCreateStatement) {
                                    // MySql nicely splits each object in a table into it's own line
                                    // Split the create statement into lines, and then pull out anything
                                    // that says "PRIMARY KEY", "UNIQUE KEY", or just plain ol' "KEY"
                                    $strLineArray = explode("\n", $strCreateStatement);
                            Severity: Major
                            Found in includes/database/QOracleDatabase.class.php and 1 other location - About 2 days to fix
                            includes/database/QMySqliDatabase.class.php on lines 278..326

                            Duplicated Code

                            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                            Tuning

                            This issue has a mass of 425.

                            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                            Refactorings

                            Further Reading

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

                                private function ParseColumnNameArrayFromKeyDefinition($strKeyDefinition) {
                                    $strKeyDefinition = trim($strKeyDefinition);
                            
                                    // Get rid of the opening "(" and the closing ")"
                                    $intPosition = strpos($strKeyDefinition, '(');
                            Severity: Major
                            Found in includes/database/QOracleDatabase.class.php and 1 other location - About 1 day to fix
                            includes/database/QMySqliDatabase.class.php on lines 247..276

                            Duplicated Code

                            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                            Tuning

                            This issue has a mass of 287.

                            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                            Refactorings

                            Further Reading

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

                                private function ParseNameFromKeyDefinition($strKeyDefinition) {
                                    $strKeyDefinition = trim($strKeyDefinition);
                            
                                    $intPosition = strpos($strKeyDefinition, '(');
                            
                            
                            Severity: Major
                            Found in includes/database/QOracleDatabase.class.php and 1 other location - About 4 hrs to fix
                            includes/database/QMySqliDatabase.class.php on lines 224..243

                            Duplicated Code

                            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                            Tuning

                            This issue has a mass of 164.

                            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                            Refactorings

                            Further Reading

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

                                private function GetTableTypeForCreateStatement($strCreateStatement) {
                                    // Table Type is in the last line of the Create Statement, "TYPE=DbTableType"
                                    $strLineArray = explode("\n", $strCreateStatement);
                                    $strFinalLine = strtoupper($strLineArray[count($strLineArray) - 1]);
                            
                            
                            Severity: Major
                            Found in includes/database/QOracleDatabase.class.php and 1 other location - About 3 hrs to fix
                            includes/database/QMySqliDatabase.class.php on lines 391..402

                            Duplicated Code

                            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                            Tuning

                            This issue has a mass of 154.

                            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                            Refactorings

                            Further Reading

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

                                public function SqlSortByVariable($strSortByInfo) {
                                    // Setup sorting information (if applicable) via a ORDER BY clause
                                    if (strlen($strSortByInfo)) {
                                        if (strpos($strSortByInfo, ';') !== false)
                                        throw new Exception('Invalid Semicolon in ORDER BY Info');
                            Severity: Major
                            Found in includes/database/QOracleDatabase.class.php and 7 other locations - About 45 mins to fix
                            includes/database/QInformixPdoDatabase.class.php on lines 220..232
                            includes/database/QMySqliDatabase.class.php on lines 28..39
                            includes/database/QMySqliDatabase.class.php on lines 41..53
                            includes/database/QPostgreSqlDatabase.class.php on lines 151..163
                            includes/database/QPostgreSqlPdoDatabase.class.php on lines 188..200
                            includes/database/QSqlServer2005Database.class.php on lines 208..220
                            includes/database/QSqlServerDatabase.class.php on lines 153..165

                            Duplicated Code

                            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                            Tuning

                            This issue has a mass of 96.

                            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                            Refactorings

                            Further Reading

                            Avoid excessively long variable names like $EscapeIdentifierBegin. Keep variable name length under 20.
                            Open

                                protected $EscapeIdentifierBegin = '';

                            LongVariable

                            Since: 0.2

                            Detects when a field, formal or local variable is declared with a long name.

                            Example

                            class Something {
                                protected $reallyLongIntName = -3; // VIOLATION - Field
                                public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                                    $otherReallyLongName = -5; // VIOLATION - Local
                                    for ($interestingIntIndex = 0; // VIOLATION - For
                                         $interestingIntIndex < 10;
                                         $interestingIntIndex++ ) {
                                    }
                                }
                            }

                            Source https://phpmd.org/rules/naming.html#longvariable

                            Avoid excessively long variable names like $objOracleDatabaseResult. Keep variable name length under 20.
                            Open

                                    $objOracleDatabaseResult = new QOracleDatabaseResult($objResult, $this);

                            LongVariable

                            Since: 0.2

                            Detects when a field, formal or local variable is declared with a long name.

                            Example

                            class Something {
                                protected $reallyLongIntName = -3; // VIOLATION - Field
                                public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                                    $otherReallyLongName = -5; // VIOLATION - Local
                                    for ($interestingIntIndex = 0; // VIOLATION - For
                                         $interestingIntIndex < 10;
                                         $interestingIntIndex++ ) {
                                    }
                                }
                            }

                            Source https://phpmd.org/rules/naming.html#longvariable

                            The parameter $OracleFieldType is not named in camelCase.
                            Open

                                protected function SetFieldType($OracleFieldType) {
                            
                                    //Note: Info from http://download-east.oracle.com/docs/html/B10255_01/ch3.htm#1026123
                                    switch ($OracleFieldType) {
                                        case "FLOAT":

                            CamelCaseParameterName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name parameters.

                            Example

                            class ClassName {
                                public function doSomething($user_name) {
                                }
                            }

                            Source

                            Constant Adapter should be defined in uppercase
                            Open

                                const Adapter = 'Oracle Database Adapter';

                            ConstantNamingConventions

                            Since: 0.2

                            Class/Interface constant names should always be defined in uppercase.

                            Example

                            class Foo {
                                const MY_NUM = 0; // ok
                                const myTest = ""; // fail
                            }

                            Source https://phpmd.org/rules/naming.html#constantnamingconventions

                            The variable $objOracle_error is not named in camelCase.
                            Open

                              protected function Execute ($objResult) {
                                $blnReturn = false;
                                if($objResult)
                                {
                                  if($this->commitMode) {

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $objOracle_error is not named in camelCase.
                            Open

                                protected function ExecuteQuery($strQuery) {
                                    
                                    // Connect if Applicable
                                    if (!$this->blnConnectedFlag) $this->Connect();
                            
                            

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $max_row is not named in camelCase.
                            Open

                                public function SqlLimitVariableSuffix($strLimitInfo) {
                                    // Setup limit suffix (if applicable) via a LIMIT clause
                                    // the parameter receives 10 or 60,10 from instance
                                    // then from Mysql style must be converted to the Oracle way
                                    if (strlen($strLimitInfo)) {

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $ColumnNameArray is not named in camelCase.
                            Open

                                public function GetForeignKeysForTable($strTableName) {
                            
                                    $objForeignKeysArray = array();
                                    $objResult = $this->Query(sprintf("select uc1.constraint_name,uc2.table_name,uc2.constraint_name from user_constraints uc1,user_constraints uc2 where uc1.r_constraint_name=uc2.constraint_name and uc1.constraint_type='R' and uc1.table_name='%s'",strtoupper($strTableName)));
                                    while ($objRow = $objResult->FetchRow())

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $ColumnNameArray2 is not named in camelCase.
                            Open

                                public function GetForeignKeysForTable($strTableName) {
                            
                                    $objForeignKeysArray = array();
                                    $objResult = $this->Query(sprintf("select uc1.constraint_name,uc2.table_name,uc2.constraint_name from user_constraints uc1,user_constraints uc2 where uc1.r_constraint_name=uc2.constraint_name and uc1.constraint_type='R' and uc1.table_name='%s'",strtoupper($strTableName)));
                                    while ($objRow = $objResult->FetchRow())

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $ColumnNameArray is not named in camelCase.
                            Open

                                public function GetForeignKeysForTable($strTableName) {
                            
                                    $objForeignKeysArray = array();
                                    $objResult = $this->Query(sprintf("select uc1.constraint_name,uc2.table_name,uc2.constraint_name from user_constraints uc1,user_constraints uc2 where uc1.r_constraint_name=uc2.constraint_name and uc1.constraint_type='R' and uc1.table_name='%s'",strtoupper($strTableName)));
                                    while ($objRow = $objResult->FetchRow())

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $array_limit is not named in camelCase.
                            Open

                                public function SqlLimitVariableSuffix($strLimitInfo) {
                                    // Setup limit suffix (if applicable) via a LIMIT clause
                                    // the parameter receives 10 or 60,10 from instance
                                    // then from Mysql style must be converted to the Oracle way
                                    if (strlen($strLimitInfo)) {

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $objOracle_error is not named in camelCase.
                            Open

                                public function Connect() {
                                    // Lookup Adapter-Specific Connection Properties
                                    $strServer = $this->Server;
                                    $strName = $this->Database;
                                    $strUsername = $this->Username;

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $objOracle_error is not named in camelCase.
                            Open

                              protected function Execute ($objResult) {
                                $blnReturn = false;
                                if($objResult)
                                {
                                  if($this->commitMode) {

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $objOracle_error is not named in camelCase.
                            Open

                                protected function ExecuteNonQuery($strNonQuery) {
                            
                                    // Connect if Applicable
                                    if (!$this->blnConnectedFlag) $this->Connect();
                                    

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $ColumnNameArray2 is not named in camelCase.
                            Open

                                public function GetForeignKeysForTable($strTableName) {
                            
                                    $objForeignKeysArray = array();
                                    $objResult = $this->Query(sprintf("select uc1.constraint_name,uc2.table_name,uc2.constraint_name from user_constraints uc1,user_constraints uc2 where uc1.r_constraint_name=uc2.constraint_name and uc1.constraint_type='R' and uc1.table_name='%s'",strtoupper($strTableName)));
                                    while ($objRow = $objResult->FetchRow())

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $objOracle_error is not named in camelCase.
                            Open

                                public function Connect() {
                                    // Lookup Adapter-Specific Connection Properties
                                    $strServer = $this->Server;
                                    $strName = $this->Database;
                                    $strUsername = $this->Username;

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $ColumnNameArray is not named in camelCase.
                            Open

                                public function GetIndexesForTable($strTableName) {
                                    $objIndexArray = array();
                                    $objResult = $this->Query(sprintf("select ui.index_name,ui.index_type,ui.uniqueness,uc.constraint_type FROM user_indexes ui left join user_constraints uc on (ui.index_name=uc.index_name) WHERE ui.table_name= '%s'",strtoupper($strTableName)));
                                    while ($objRow = $objResult->FetchRow())
                                    {

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $ColumnNameArray2 is not named in camelCase.
                            Open

                                public function GetForeignKeysForTable($strTableName) {
                            
                                    $objForeignKeysArray = array();
                                    $objResult = $this->Query(sprintf("select uc1.constraint_name,uc2.table_name,uc2.constraint_name from user_constraints uc1,user_constraints uc2 where uc1.r_constraint_name=uc2.constraint_name and uc1.constraint_type='R' and uc1.table_name='%s'",strtoupper($strTableName)));
                                    while ($objRow = $objResult->FetchRow())

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $array_limit is not named in camelCase.
                            Open

                                public function SqlLimitVariableSuffix($strLimitInfo) {
                                    // Setup limit suffix (if applicable) via a LIMIT clause
                                    // the parameter receives 10 or 60,10 from instance
                                    // then from Mysql style must be converted to the Oracle way
                                    if (strlen($strLimitInfo)) {

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $objOracle_error is not named in camelCase.
                            Open

                              protected function Execute ($objResult) {
                                $blnReturn = false;
                                if($objResult)
                                {
                                  if($this->commitMode) {

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $objOracle_error is not named in camelCase.
                            Open

                                protected function ExecuteQuery($strQuery) {
                                    
                                    // Connect if Applicable
                                    if (!$this->blnConnectedFlag) $this->Connect();
                            
                            

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $objOracle_error is not named in camelCase.
                            Open

                                protected function ExecuteNonQuery($strNonQuery) {
                            
                                    // Connect if Applicable
                                    if (!$this->blnConnectedFlag) $this->Connect();
                                    

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $array_limit is not named in camelCase.
                            Open

                                public function SqlLimitVariableSuffix($strLimitInfo) {
                                    // Setup limit suffix (if applicable) via a LIMIT clause
                                    // the parameter receives 10 or 60,10 from instance
                                    // then from Mysql style must be converted to the Oracle way
                                    if (strlen($strLimitInfo)) {

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $objOracle_error is not named in camelCase.
                            Open

                                protected function ExecuteQuery($strQuery) {
                                    
                                    // Connect if Applicable
                                    if (!$this->blnConnectedFlag) $this->Connect();
                            
                            

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $nr_rows is not named in camelCase.
                            Open

                                public function CountRows() {
                                    $nr_rows =sizeof(oci_fetch_array($this->objOracleResult,OCI_NUM));
                                    if($nr_rows >1)
                                    return ($nr_rows/2);//divide by 2 because it makes OCI_BOTH by default, so ir repeats the results twice
                                    else

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $OracleFieldType is not named in camelCase.
                            Open

                                protected function SetFieldType($OracleFieldType) {
                            
                                    //Note: Info from http://download-east.oracle.com/docs/html/B10255_01/ch3.htm#1026123
                                    switch ($OracleFieldType) {
                                        case "FLOAT":

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $objOracle_error is not named in camelCase.
                            Open

                                protected function ExecuteNonQuery($strNonQuery) {
                            
                                    // Connect if Applicable
                                    if (!$this->blnConnectedFlag) $this->Connect();
                                    

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $nr_rows is not named in camelCase.
                            Open

                                public function CountRows() {
                                    $nr_rows =sizeof(oci_fetch_array($this->objOracleResult,OCI_NUM));
                                    if($nr_rows >1)
                                    return ($nr_rows/2);//divide by 2 because it makes OCI_BOTH by default, so ir repeats the results twice
                                    else

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $array_limit is not named in camelCase.
                            Open

                                public function SqlLimitVariableSuffix($strLimitInfo) {
                                    // Setup limit suffix (if applicable) via a LIMIT clause
                                    // the parameter receives 10 or 60,10 from instance
                                    // then from Mysql style must be converted to the Oracle way
                                    if (strlen($strLimitInfo)) {

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $objOracle_error is not named in camelCase.
                            Open

                                public function Connect() {
                                    // Lookup Adapter-Specific Connection Properties
                                    $strServer = $this->Server;
                                    $strName = $this->Database;
                                    $strUsername = $this->Username;

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $objOracle_error is not named in camelCase.
                            Open

                              protected function Execute ($objResult) {
                                $blnReturn = false;
                                if($objResult)
                                {
                                  if($this->commitMode) {

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $ColumnNameArray is not named in camelCase.
                            Open

                                public function GetIndexesForTable($strTableName) {
                                    $objIndexArray = array();
                                    $objResult = $this->Query(sprintf("select ui.index_name,ui.index_type,ui.uniqueness,uc.constraint_type FROM user_indexes ui left join user_constraints uc on (ui.index_name=uc.index_name) WHERE ui.table_name= '%s'",strtoupper($strTableName)));
                                    while ($objRow = $objResult->FetchRow())
                                    {

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $ColumnNameArray is not named in camelCase.
                            Open

                                public function GetIndexesForTable($strTableName) {
                                    $objIndexArray = array();
                                    $objResult = $this->Query(sprintf("select ui.index_name,ui.index_type,ui.uniqueness,uc.constraint_type FROM user_indexes ui left join user_constraints uc on (ui.index_name=uc.index_name) WHERE ui.table_name= '%s'",strtoupper($strTableName)));
                                    while ($objRow = $objResult->FetchRow())
                                    {

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $ColumnNameArray is not named in camelCase.
                            Open

                                public function GetForeignKeysForTable($strTableName) {
                            
                                    $objForeignKeysArray = array();
                                    $objResult = $this->Query(sprintf("select uc1.constraint_name,uc2.table_name,uc2.constraint_name from user_constraints uc1,user_constraints uc2 where uc1.r_constraint_name=uc2.constraint_name and uc1.constraint_type='R' and uc1.table_name='%s'",strtoupper($strTableName)));
                                    while ($objRow = $objResult->FetchRow())

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $max_row is not named in camelCase.
                            Open

                                public function SqlLimitVariableSuffix($strLimitInfo) {
                                    // Setup limit suffix (if applicable) via a LIMIT clause
                                    // the parameter receives 10 or 60,10 from instance
                                    // then from Mysql style must be converted to the Oracle way
                                    if (strlen($strLimitInfo)) {

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $OracleFieldType is not named in camelCase.
                            Open

                                protected function SetFieldType($OracleFieldType) {
                            
                                    //Note: Info from http://download-east.oracle.com/docs/html/B10255_01/ch3.htm#1026123
                                    switch ($OracleFieldType) {
                                        case "FLOAT":

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The variable $nr_rows is not named in camelCase.
                            Open

                                public function CountRows() {
                                    $nr_rows =sizeof(oci_fetch_array($this->objOracleResult,OCI_NUM));
                                    if($nr_rows >1)
                                    return ($nr_rows/2);//divide by 2 because it makes OCI_BOTH by default, so ir repeats the results twice
                                    else

                            CamelCaseVariableName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name variables.

                            Example

                            class ClassName {
                                public function doSomething() {
                                    $data_module = new DataModule();
                                }
                            }

                            Source

                            The method GetFieldsForTable is not named in camelCase.
                            Open

                                public function GetFieldsForTable($strTableName) {
                                    $objResult = $this->Query(sprintf("select * from user_tab_columns where table_name = '%s'",strtoupper($strTableName)));
                            
                                    $objFields = array();
                                    while ($objRow = $objResult->FetchRow())

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method GetIndexesForTable is not named in camelCase.
                            Open

                                public function GetIndexesForTable($strTableName) {
                                    $objIndexArray = array();
                                    $objResult = $this->Query(sprintf("select ui.index_name,ui.index_type,ui.uniqueness,uc.constraint_type FROM user_indexes ui left join user_constraints uc on (ui.index_name=uc.index_name) WHERE ui.table_name= '%s'",strtoupper($strTableName)));
                                    while ($objRow = $objResult->FetchRow())
                                    {

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method GetRows is not named in camelCase.
                            Open

                                public function GetRows() {
                                    $objDbRowArray = array();
                                    while ($objDbRow = $this->GetNextRow())
                                    array_push($objDbRowArray, $objDbRow);
                                    return $objDbRowArray;

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method GetTableTypeForCreateStatement is not named in camelCase.
                            Open

                                private function GetTableTypeForCreateStatement($strCreateStatement) {
                                    // Table Type is in the last line of the Create Statement, "TYPE=DbTableType"
                                    $strLineArray = explode("\n", $strCreateStatement);
                                    $strFinalLine = strtoupper($strLineArray[count($strLineArray) - 1]);
                            
                            

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method FetchRow is not named in camelCase.
                            Open

                                public function FetchRow() {
                                    return oci_fetch_row($this->objOracleResult);
                                }

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method GetColumn is not named in camelCase.
                            Open

                                public function GetColumn($strColumnName, $strColumnType = null) {
                                    if (!isset($this->strColumnArray[$strColumnName])) {
                                        return null;
                                    }
                                    $strColumnValue = $this->strColumnArray[$strColumnName];

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method GetForeignKeysForTable is not named in camelCase.
                            Open

                                public function GetForeignKeysForTable($strTableName) {
                            
                                    $objForeignKeysArray = array();
                                    $objResult = $this->Query(sprintf("select uc1.constraint_name,uc2.table_name,uc2.constraint_name from user_constraints uc1,user_constraints uc2 where uc1.r_constraint_name=uc2.constraint_name and uc1.constraint_type='R' and uc1.table_name='%s'",strtoupper($strTableName)));
                                    while ($objRow = $objResult->FetchRow())

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method Close is not named in camelCase.
                            Open

                                public function Close() {
                                    $this->objOracleResult->free();
                                }

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method GetColumnNameArray is not named in camelCase.
                            Open

                                public function GetColumnNameArray() {
                                    return $this->strColumnArray;
                                }

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method Execute is not named in camelCase.
                            Open

                              protected function Execute ($objResult) {
                                $blnReturn = false;
                                if($objResult)
                                {
                                  if($this->commitMode) {

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method ExecuteNonQuery is not named in camelCase.
                            Open

                                protected function ExecuteNonQuery($strNonQuery) {
                            
                                    // Connect if Applicable
                                    if (!$this->blnConnectedFlag) $this->Connect();
                                    

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method ParseColumnNameArrayFromKeyDefinition is not named in camelCase.
                            Open

                                private function ParseColumnNameArrayFromKeyDefinition($strKeyDefinition) {
                                    $strKeyDefinition = trim($strKeyDefinition);
                            
                                    // Get rid of the opening "(" and the closing ")"
                                    $intPosition = strpos($strKeyDefinition, '(');

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method FetchObject is not named in camelCase.
                            Open

                                public function FetchObject() {
                                    return oci_fetch_object($this->objOracleResult);
                                }

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method ColumnExists is not named in camelCase.
                            Open

                                public function ColumnExists($strColumnName) {
                                    return array_key_exists($strColumnName, $this->strColumnArray);
                                }

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method SqlLimitVariablePrefix is not named in camelCase.
                            Open

                                public function SqlLimitVariablePrefix($strLimitInfo) {
                                    // MySQL uses Limit by Suffixes (via a LIMIT clause)
                                    // Prefix is not used, therefore, return null
                                    return null;
                                }

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method ExplainStatement is not named in camelCase.
                            Open

                                public function ExplainStatement($sql) {
                                    return $this->Query("EXPLAIN PLAN FOR " . $sql);
                                }

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method FetchFields is not named in camelCase.
                            Open

                                public function FetchFields() {
                                    return null; // not implemented
                                }

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method GetCreateStatementForTable is not named in camelCase.
                            Open

                                private function GetCreateStatementForTable($strTableName) {
                                    // Use the MySQL "SHOW CREATE TABLE" functionality to get the table's Create statement
                                    $objResult = $this->Query(sprintf('SHOW CREATE TABLE `%s`', $strTableName));
                                    $objRow = $objResult->FetchRow();
                                    $strCreateTable = $objRow[1];

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method FetchField is not named in camelCase.
                            Open

                                public function FetchField() {
                                    return null; // not implemented
                                }

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method SetFieldType is not named in camelCase.
                            Open

                                protected function SetFieldType($OracleFieldType) {
                            
                                    //Note: Info from http://download-east.oracle.com/docs/html/B10255_01/ch3.htm#1026123
                                    switch ($OracleFieldType) {
                                        case "FLOAT":

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method SqlLimitVariableSuffix is not named in camelCase.
                            Open

                                public function SqlLimitVariableSuffix($strLimitInfo) {
                                    // Setup limit suffix (if applicable) via a LIMIT clause
                                    // the parameter receives 10 or 60,10 from instance
                                    // then from Mysql style must be converted to the Oracle way
                                    if (strlen($strLimitInfo)) {

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method ExecuteTransactionCommit is not named in camelCase.
                            Open

                                protected function ExecuteTransactionCommit() {
                                    /*$this->NonQuery('COMMIT;');
                                    // Set to AutoCommit
                                    $this->NonQuery('SET AUTOCOMMIT OFF;');*/
                                    oci_commit($this->objOracle);

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method ParseNameFromKeyDefinition is not named in camelCase.
                            Open

                                private function ParseNameFromKeyDefinition($strKeyDefinition) {
                                    $strKeyDefinition = trim($strKeyDefinition);
                            
                                    $intPosition = strpos($strKeyDefinition, '(');
                            
                            

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method ParseForIndexes is not named in camelCase.
                            Open

                                private function ParseForIndexes($strCreateStatement) {
                                    // MySql nicely splits each object in a table into it's own line
                                    // Split the create statement into lines, and then pull out anything
                                    // that says "PRIMARY KEY", "UNIQUE KEY", or just plain ol' "KEY"
                                    $strLineArray = explode("\n", $strCreateStatement);

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method ParseForInnoDbForeignKeys is not named in camelCase.
                            Open

                                private function ParseForInnoDbForeignKeys($strCreateStatement) {
                                    // MySql nicely splits each object in a table into it's own line
                                    // Split the create statement into lines, and then pull out anything
                                    // that starts with "CONSTRAINT" and contains "FOREIGN KEY"
                                    $strLineArray = explode("\n", $strCreateStatement);

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method SqlSortByVariable is not named in camelCase.
                            Open

                                public function SqlSortByVariable($strSortByInfo) {
                                    // Setup sorting information (if applicable) via a ORDER BY clause
                                    if (strlen($strSortByInfo)) {
                                        if (strpos($strSortByInfo, ';') !== false)
                                        throw new Exception('Invalid Semicolon in ORDER BY Info');

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method CountFields is not named in camelCase.
                            Open

                                public function CountFields() {
                                    return oci_num_fields($this->objOracleResult);
                                }

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method GetNextRow is not named in camelCase.
                            Open

                                public function GetNextRow() {
                                    $strColumnArray = $this->FetchArray();
                            
                                    if ($strColumnArray)
                                    return new QOracleDatabaseRow($strColumnArray);

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method Parse is not named in camelCase.
                            Open

                              public function Parse ($strQuery) {
                                // Connect if Applicable
                                if (!$this->blnConnectedFlag) $this->Connect();
                                return oci_parse($this->objOracle,$strQuery);
                              }

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method ExecuteQuery is not named in camelCase.
                            Open

                                protected function ExecuteQuery($strQuery) {
                                    
                                    // Connect if Applicable
                                    if (!$this->blnConnectedFlag) $this->Connect();
                            
                            

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method Connect is not named in camelCase.
                            Open

                                public function Connect() {
                                    // Lookup Adapter-Specific Connection Properties
                                    $strServer = $this->Server;
                                    $strName = $this->Database;
                                    $strUsername = $this->Username;

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method GetTables is not named in camelCase.
                            Open

                                public function GetTables() {
                                    $objResult = $this->Query("select table_name from tabs order by table_name");
                            
                                    $strToReturn = array();
                                    while ($strRowArray = $objResult->FetchRow())

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method ExecuteTransactionBegin is not named in camelCase.
                            Open

                                protected function ExecuteTransactionBegin() {
                                    // Set to AutoCommit
                                    //$this->NonQuery('SET AUTOCOMMIT OFF;');
                                    $this->commitMode = true;
                                }

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method CountRows is not named in camelCase.
                            Open

                                public function CountRows() {
                                    $nr_rows =sizeof(oci_fetch_array($this->objOracleResult,OCI_NUM));
                                    if($nr_rows >1)
                                    return ($nr_rows/2);//divide by 2 because it makes OCI_BOTH by default, so ir repeats the results twice
                                    else

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method FetchArray is not named in camelCase.
                            Open

                                public function FetchArray() {
                                    return oci_fetch_array($this->objOracleResult);
                                }

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method InsertId is not named in camelCase.
                            Open

                                public function InsertId($strTableName = null, $strColumnName = null) {
                                    $seqName = substr($strTableName,0, 25) . "_SEQ";
                                    $objResult = $this->Query("select "."$seqName".".currval from dual");
                                    $strDbRow = $objResult->FetchRow();
                                    return QType::Cast($strDbRow[0], QType::Integer);        

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method Close is not named in camelCase.
                            Open

                                public function Close() {
                                    oci_close($this->objOracle);
                            
                                    // Update Connected Flag
                                    $this->blnConnectedFlag = false;

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            The method ExecuteTransactionRollBack is not named in camelCase.
                            Open

                                protected function ExecuteTransactionRollBack() {
                                    /*$this->NonQuery('ROLLBACK;');
                                    // Set to AutoCommit
                                    $this->NonQuery('SET AUTOCOMMIT OFF;');*/
                                    oci_rollback($this->objOracle);

                            CamelCaseMethodName

                            Since: 0.2

                            It is considered best practice to use the camelCase notation to name methods.

                            Example

                            class ClassName {
                                public function get_name() {
                                }
                            }

                            Source

                            There are no issues that match your filters.

                            Category
                            Status