lib/connection/result/row_stream.js
function buildMapColumnExtractFnNames(columns, fetchAsString)
{
  var fnNameGetColumnValue = 'getColumnValue';
  var fnNameGetColumnValueAsString = 'getColumnValueAsString';

  var index, length, column;
  var mapColumnIdToExtractFnName = {};

  // if no native types need to be retrieved as strings, extract values normally
  if (!Util.exists(fetchAsString))
  {
    for (index = 0, length = columns.length; index < length; index++)
    {
      column = columns[index];
      mapColumnIdToExtractFnName[column.getId()] = fnNameGetColumnValue;
    }
  }
  else
  {
    // build a map that contains all the native types that need to be
    // retrieved as strings when extracting column values from rows
    var nativeTypesMap = {};
    for (index = 0, length = fetchAsString.length; index < length; index++)
    {
      nativeTypesMap[fetchAsString[index].toUpperCase()] = true;
    }

    // for each column, pick the appropriate extract function
    // based on whether the value needs to be retrieved as a string
    for (index = 0, length = columns.length; index < length; index++)
    {
      column = columns[index];
      mapColumnIdToExtractFnName[column.getId()] =
          nativeTypesMap[DataTypes.toNativeType(column.getType())] ?
              fnNameGetColumnValueAsString : fnNameGetColumnValue;
    }
  }

  return mapColumnIdToExtractFnName;
}
function buildMapColumnExtractFnNames(columns, fetchAsString)
{
  var fnNameGetColumnValue = 'getColumnValue';
  var fnNameGetColumnValueAsString = 'getColumnValueAsString';

  var index, length, column;
  var mapColumnIdToExtractFnName = {};

  // if no native types need to be retrieved as strings, extract values normally
  if (!Util.exists(fetchAsString))
  {
    for (index = 0, length = columns.length; index < length; index++)
    {
      column = columns[index];
      mapColumnIdToExtractFnName[column.getId()] = fnNameGetColumnValue;
    }
  }
  else
  {
    // build a map that contains all the native types that need to be
    // retrieved as strings when extracting column values from rows
    var nativeTypesMap = {};
    for (index = 0, length = fetchAsString.length; index < length; index++)
    {
      nativeTypesMap[fetchAsString[index].toUpperCase()] = true;
    }

    // for each column, pick the appropriate extract function
    // based on whether the value needs to be retrieved as a string
    for (index = 0, length = columns.length; index < length; index++)
    {
      column = columns[index];
      mapColumnIdToExtractFnName[column.getId()] =
          nativeTypesMap[DataTypes.toNativeType(column.getType())] ?
              fnNameGetColumnValueAsString : fnNameGetColumnValue;
    }
  }

  return mapColumnIdToExtractFnName;
}
function buildMapColumnExtractFnNames ( columns , fetchAsString ) { var fnNameGetColumnValue = 'getColumnValue' ; var fnNameGetColumnValueAsString = 'getColumnValueAsString' ; var index , length , column ; var mapColumnIdToExtractFnName = { } ; // if no native types need to be retrieved as strings, extract values normally if ( ! Util . exists ( fetchAsString ) ) { for ( index = 0 , length = columns . length ; index < length ; index ++ ) { column = columns [ index ] ; mapColumnIdToExtractFnName [ column . getId ( ) ] = fnNameGetColumnValue ; } } else { // build a map that contains all the native types that need to be // retrieved as strings when extracting column values from rows var nativeTypesMap = { } ; for ( index = 0 , length = fetchAsString . length ; index < length ; index ++ ) { nativeTypesMap [ fetchAsString [ index ] . toUpperCase ( ) ] = true ; } // for each column, pick the appropriate extract function // based on whether the value needs to be retrieved as a string for ( index = 0 , length = columns . length ; index < length ; index ++ ) { column = columns [ index ] ; mapColumnIdToExtractFnName [ column . getId ( ) ] = nativeTypesMap [ DataTypes . toNativeType ( column . getType ( ) ) ] ? fnNameGetColumnValueAsString : fnNameGetColumnValue ; } } return mapColumnIdToExtractFnName ; }
Builds a map in which the keys are column ids and the values are the names of
the extract functions to use when retrieving row values for the corresponding
columns.

@param {Object[]} columns
@param {String[]} fetchAsString the native types that should be retrieved as
strings.

@returns {Object}
Builds a map in which the keys are column ids and the values are the names of the extract functions to use when retrieving row values for the corresponding columns .