private bool GetOrderValuesCaseSensitiveFromTables(SelectCommandContext selectCommandContext, SchemaMetaData schemaMetaData, OrderByItem eachOrderByItem)
        {
            foreach (var simpleTableSegment in selectCommandContext.GetAllTables())
            {
                var tableName     = simpleTableSegment.GetTableName().GetIdentifier().GetValue();
                var tableMetaData = schemaMetaData.Get(tableName);
                IDictionary <String, ColumnMetaData> columns = tableMetaData.GetColumns();
                var orderByItemSegment = eachOrderByItem.GetSegment();
                if (orderByItemSegment is ColumnOrderByItemSegment columnOrderByItemSegment)
                {
                    String columnName = columnOrderByItemSegment.GetColumn().GetIdentifier().GetValue();
                    if (columns.ContainsKey(columnName))
                    {
                        return(columns[columnName].CaseSensitive);
                    }
                }
                else if (orderByItemSegment is IndexOrderByItemSegment indexOrderByItemSegment)
                {
                    int    columnIndex = indexOrderByItemSegment.GetColumnIndex();
                    String columnName  = _streamDataReader.GetColumnName(columnIndex);
                    if (columns.ContainsKey(columnName))
                    {
                        return(columns[columnName].CaseSensitive);
                    }
                }
                else
                {
                    return(false);
                }
            }

            return(false);
        }
Example #2
0
        private (object[] data, Dictionary <string, int> columns) Load(IStreamDataReader streamDataReader)
        {
            int columnCount = streamDataReader.ColumnCount;

            object[] result  = new object[columnCount];
            var      columns = new Dictionary <string, int>(columnCount);

            for (int i = 0; i < columnCount; i++)
            {
                result[i] = streamDataReader.GetValue(i);
                var columnName = streamDataReader.GetColumnName(i);
                columns[columnName] = i;
            }

            return(result, columns);
        }
        private bool GetValueCaseSensitiveFromTables(IStreamDataReader streamDataReader, SelectCommandContext selectCommandContext,
                                                     SchemaMetaData schemaMetaData, int columnIndex)
        {
            foreach (var simpleTableSegment in selectCommandContext.GetAllTables())
            {
                String        tableName     = simpleTableSegment.GetTableName().GetIdentifier().GetValue();
                TableMetaData tableMetaData = schemaMetaData.Get(tableName);
                IDictionary <String, ColumnMetaData> columns = tableMetaData.GetColumns();
                String columnName = streamDataReader.GetColumnName(columnIndex);
                if (columns.ContainsKey(columnName))
                {
                    return(columns[columnName].CaseSensitive);
                }
            }

            return(false);
        }
 public string GetColumnName(int columnIndex)
 {
     return(_streamDataReader.GetColumnName(columnIndex));
 }