public override DataTable GetSkylineTable(String querySQL, String preferenceOperators)
        {
            //Calculate cardinality
            long thresholdCardinality = 300;

            TemplateStrategy strategy;
            if (Cardinality <= thresholdCardinality)
            {
                strategy = new SPSkylineDQ();
            }
            else
            {
                if (HasIncomparablePreferences)
                {
                    strategy = new SPSkylineBNLSort();
                }
                else
                {
                    strategy = new SPSkylineBNLSortLevel();
                }
            }

            strategy.WindowHandling = WindowHandling;
            DataTable dt = strategy.GetSkylineTable(querySQL, preferenceOperators, RecordAmountLimit, true, ConnectionString, Provider, AdditionParameters, SortType);
            TimeMilliseconds = strategy.TimeInMs;
            NumberOfComparisons = strategy.NumberOfOperations;
            NumberOfMoves = strategy.NumberOfMoves;
            return dt;
        }
        public override DataTable GetSkylineTable(String querySQL, String preferenceOperators)
        {
            //Calculate cardinality
            long thresholdCardinality = 300;

            TemplateStrategy strategy;

            if (Cardinality <= thresholdCardinality)
            {
                strategy = new SPSkylineDQ();
            }
            else
            {
                if (HasIncomparablePreferences)
                {
                    strategy = new SPSkylineBNLSort();
                }
                else
                {
                    strategy = new SPSkylineBNLSortLevel();
                }
            }

            strategy.WindowHandling = WindowHandling;
            DataTable dt = strategy.GetSkylineTable(querySQL, preferenceOperators, RecordAmountLimit, true, ConnectionString, Provider, AdditionParameters, SortType);

            TimeMilliseconds    = strategy.TimeInMs;
            NumberOfComparisons = strategy.NumberOfOperations;
            NumberOfMoves       = strategy.NumberOfMoves;
            return(dt);
        }
Beispiel #3
0
 public static void GetSkyline(SqlString strQuery, SqlString strOperators, SqlInt32 numberOfRecords, SqlInt32 sortType)
 {
     SPSkylineBNLSort skyline = new SPSkylineBNLSort();
     skyline.GetSkylineTable(strQuery.ToString(), strOperators.ToString(), numberOfRecords.Value, false, Helper.CnnStringSqlclr, Helper.ProviderClr, null, sortType.Value);
 }
Beispiel #4
0
        public static void GetSkyline(SqlString strQuery, SqlString strOperators, SqlInt32 numberOfRecords, SqlInt32 sortType)
        {
            SPSkylineBNLSort skyline = new SPSkylineBNLSort();

            skyline.GetSkylineTable(strQuery.ToString(), strOperators.ToString(), numberOfRecords.Value, false, Helper.CnnStringSqlclr, Helper.ProviderClr, null, sortType.Value);
        }