Ejemplo n.º 1
0
        public IEnumerator UpdateResultCount(bool _runID, string _filterA, string _filterB, Action <int> countOut)
        {
            int count = 0;

            string rowCountQ = "SELECT x FROM (\n";

            //make the query
            for (int i = 0; i < tableStrings.Count; i++)
            {
                rowCountQ += CreateQueryString(tableStrings[i], _runID, "count(*) x", _filterA, _filterB);//TODO broken since refactor
                if (i != tableStrings.Count - 1)
                {
                    rowCountQ += "\nUNION ALL\n";
                }
            }
            rowCountQ += "\n) AS x;";

            // submit the query
            SQL.SQLIO.RawData rawData = new GraphicsTestFramework.SQL.SQLIO.RawData();
            Debug.LogWarning(rowCountQ);
            yield return(StartCoroutine(SQL.SQLIO.SQLRequest(rowCountQ, (value => { rawData = value; }))));//Get all tables // SQLCHECK

            //get the count and remove empty table results
            for (int i = tableStrings.Count - 1; i >= 0; i--)
            {
                int tableRowCount = 0;
                int.TryParse(rawData.data[i][0], out tableRowCount);//convert the cell form a string to int(or try at least)
                if (tableRowCount == 0)
                {
                    tableStrings.RemoveAt(i);
                }
                else
                {
                    count += tableRowCount;
                }
            }

            //Display the
            string resultRowString = "Filtered Results : ";

            if (count < maxResults)
            {
                resultRowString += "<color=#008000ff>" + count + "</color>";
            }
            else
            {
                resultRowString += "<color=#f00000ff>" + count + "</color>";
            }
            filterCountText.text = resultRowString;
            countOut(count);
        }
Ejemplo n.º 2
0
        IEnumerator FetchFilterData(Action <ResultsIOData[]> outData)
        {
            List <ResultsIOData> riod = new List <ResultsIOData>();

            foreach (string table in tableStrings)
            {
                SQL.SQLIO.TableStrings ts = SQL.SQLIO.TableStringToStrings(table);
                string            query   = CreateQueryString(table, runID, commonFields, null, ("'%runID|" + currentRunID + "%'")); ///hardcoded to run id
                SQL.SQLIO.RawData rawData = new GraphicsTestFramework.SQL.SQLIO.RawData();
                yield return(StartCoroutine(SQL.SQLIO.SQLRequest(query, (value => { rawData = value; }))));                          //Get all tables // SQLCHECK

                riod.Add(SQL.SQLIO.ConvertRawDataToResultsIOData(ts.suite, ts.testType, rawData, ts.baseline));
            }
            outData(riod.ToArray());
        }
Ejemplo n.º 3
0
        IEnumerator GetTableNames(string query)
        {
            SQL.SQLIO.RawData rawData = new GraphicsTestFramework.SQL.SQLIO.RawData();
            yield return(StartCoroutine(SQL.SQLIO.SQLRequest(query, (value => { rawData = value; }))));           //Get all tables // SQLCHECK

            foreach (string[] strArr in rawData.data)
            {
                if (strArr[0].Split(new char[] { '_' }, StringSplitOptions.None).Length == 3)
                {
                    tableStrings.Add(strArr[0]);
                    tableCount++;
                }
            }

            if (baseTableStrings == null)
            {
                baseTableStrings = tableStrings.ToArray();
            }

            suiteTestTypes.Add(new List <string>());
            suiteTestTypes.Add(new List <string>());

            for (int i = 0; i < tableStrings.Count; i++)
            {
                Debug.Log("splitting " + tableStrings[i]);
                string[] split = tableStrings[i].Split(new char[] { '_' }, StringSplitOptions.None);
                if (!suiteTestTypes[0].Contains(split[0]))
                {
                    suiteTestTypes[0].Add(split[0]);
                }
                if (!suiteTestTypes[1].Contains(split[1]))
                {
                    suiteTestTypes[1].Add(split[1]);
                }
            }
            if (tableOptions.suiteMask)
            {
                tableOptions.suiteMask.Init(suiteTestTypes[0].ToArray());
            }
            if (tableOptions.testTypeMask)
            {
                tableOptions.testTypeMask.Init(suiteTestTypes[1].ToArray());
            }

            yield return(StartCoroutine(UpdateResultCount(runID, null, null, (value => { rowCount = value; }))));
        }