private function extractBulkInsertTableColumnsInfo(): void
  {
    // Return immediately if designation type is not appropriate for this method.
    if ($this->designationType!='bulk_insert') return;

    // Check if table is a temporary table or a non-temporary table.
    $table_is_non_temporary = MetaDataLayer::checkTableExists($this->bulkInsertTableName);

    // Create temporary table if table is non-temporary table.
    if (!$table_is_non_temporary)
    {
      MetaDataLayer::callProcedure($this->routineName);
    }

    // Get information about the columns of the table.
    $description = MetaDataLayer::describeTable($this->bulkInsertTableName);

    // Drop temporary table if table is non-temporary.
    if (!$table_is_non_temporary)
    {
      MetaDataLayer::dropTemporaryTable($this->bulkInsertTableName);
    }

    // Check number of columns in the table match the number of fields given in the designation type.
    $n1 = count($this->bulkInsertKeys);
    $n2 = count($description);
    if ($n1!=$n2)
    {
      throw new RoutineLoaderException("Number of fields %d and number of columns %d don't match.", $n1, $n2);
    }

    $this->bulkInsertColumns = self::extractColumnsFromTableDescription($description);
  }
private function extractBulkInsertTableColumnsInfo(): void
  {
    // Return immediately if designation type is not appropriate for this method.
    if ($this->designationType!='bulk_insert') return;

    // Check if table is a temporary table or a non-temporary table.
    $table_is_non_temporary = MetaDataLayer::checkTableExists($this->bulkInsertTableName);

    // Create temporary table if table is non-temporary table.
    if (!$table_is_non_temporary)
    {
      MetaDataLayer::callProcedure($this->routineName);
    }

    // Get information about the columns of the table.
    $description = MetaDataLayer::describeTable($this->bulkInsertTableName);

    // Drop temporary table if table is non-temporary.
    if (!$table_is_non_temporary)
    {
      MetaDataLayer::dropTemporaryTable($this->bulkInsertTableName);
    }

    // Check number of columns in the table match the number of fields given in the designation type.
    $n1 = count($this->bulkInsertKeys);
    $n2 = count($description);
    if ($n1!=$n2)
    {
      throw new RoutineLoaderException("Number of fields %d and number of columns %d don't match.", $n1, $n2);
    }

    $this->bulkInsertColumns = self::extractColumnsFromTableDescription($description);
  }
private function extractBulkInsertTableColumnsInfo ( ) : void { // Return immediately if designation type is not appropriate for this method. if ( $ this -> designationType != 'bulk_insert' ) return ; // Check if table is a temporary table or a non-temporary table. $ table_is_non_temporary = MetaDataLayer :: checkTableExists ( $ this -> bulkInsertTableName ) ; // Create temporary table if table is non-temporary table. if ( ! $ table_is_non_temporary ) { MetaDataLayer :: callProcedure ( $ this -> routineName ) ; } // Get information about the columns of the table. $ description = MetaDataLayer :: describeTable ( $ this -> bulkInsertTableName ) ; // Drop temporary table if table is non-temporary. if ( ! $ table_is_non_temporary ) { MetaDataLayer :: dropTemporaryTable ( $ this -> bulkInsertTableName ) ; } // Check number of columns in the table match the number of fields given in the designation type. $ n1 = count ( $ this -> bulkInsertKeys ) ; $ n2 = count ( $ description ) ; if ( $ n1 != $ n2 ) { throw new RoutineLoaderException ( "Number of fields %d and number of columns %d don't match." , $ n1 , $ n2 ) ; } $ this -> bulkInsertColumns = self :: extractColumnsFromTableDescription ( $ description ) ; }
Extracts the column names and column types of the current table for bulk insert.
Extracts the column names and column types of the current table for bulk insert .