Example #1
0
 public void InitJoining()
 {
     // Initialize this field for joining data to it!
     FieldsImpacted = new HqlFieldGroup();
     _onJoin        = new HqlWhere(HqlWhere.NAME_ONJOIN);
     Lines          = new List <HqlValues>();
 }
Example #2
0
 public void AddField(HqlFieldGroup group)
 {
     for (int i = 0; i < group.Count; ++i)
     {
         AddField(group[i]);
     }
 }
Example #3
0
 private bool ExistsInSingle(HqlFieldGroup group)
 {
     if (!ExistsIn(Token1, group))
     {
         return(false);
     }
     if (!ExistsIn(Token2, group))
     {
         return(false);
     }
     return(true);
 }
Example #4
0
        public void LoadFieldReferences(HqlFieldGroup group)
        {
            if (group == null)
            {
                return;
            }

            for (int i = 0; i < group.Count; ++i)
            {
                LoadField(group[i]);
            }
        }
Example #5
0
        public bool ExistsIn(HqlFieldGroup group)
        {
            switch (_type)
            {
            case HqlCompareTokenType.SINGLE:
                return(ExistsInSingle(group));

            case HqlCompareTokenType.IN:
                return(ExistsInValues(group));

            default:
                throw new NotSupportedException("Unknown type of COMPARETOKEN");
            }
        }
Example #6
0
        ///////////////////////
        // Private

        private void Init(HqlFieldGroup group1, HqlFieldGroup group2, HqlFieldGroup group3)
        {
            _valuesSet = false;

            int countGroup1 = (group1 == null) ? 0 : group1.Count;
            int countGroup2 = (group2 == null) ? 0 : group2.Count;
            int countGroup3 = (group3 == null) ? 0 : group3.Count;

            HqlField[] fields1 = (group1 == null) ? null : group1.Fields;
            HqlField[] fields2 = (group2 == null) ? null : group2.Fields;
            HqlField[] fields3 = (group3 == null) ? null : group3.Fields;

            _calc    = new HqlCalc[countGroup1 + countGroup2 + countGroup3];
            _grouped = new object[countGroup1 + countGroup2 + countGroup3];

            int start = 0;

            for (int i = 0; i < countGroup1; ++i)
            {
                HqlField f = fields1[i];
                if (f.HasFunction)
                {
                    _calc[i + start] = f.Func.CreateCalcObject();
                }
            }
            start += countGroup1;

            for (int i = 0; i < countGroup2; ++i)
            {
                HqlField f = fields2[i];
                if (f.HasFunction)
                {
                    _calc[i + start] = f.Func.CreateCalcObject();
                }
            }
            start += countGroup2;

            for (int i = 0; i < countGroup3; ++i)
            {
                HqlField f = fields3[i];
                if (f.HasFunction)
                {
                    _calc[i + start] = f.Func.CreateCalcObject();
                }
            }
            //start += countGroup3;
        }
Example #7
0
        static private bool ExistsIn(HqlToken t, HqlFieldGroup group)
        {
            if (t.WordType != HqlWordType.FUNCTION && t.WordType != HqlWordType.SCALAR && t.WordType != HqlWordType.FIELD)
            {
                return(true);
            }

            for (int i = 0; i < group.Count; ++i)
            {
                if (group[i].Equals(t.Field))
                {
                    return(true);
                }
            }

            return(false);
        }
Example #8
0
        private bool ExistsInValues(HqlFieldGroup group)
        {
            if (!ExistsIn(Token1, group))
            {
                return(false);
            }

            for (int i = 0; i < _values.Count; ++i)
            {
                HqlToken t = (HqlToken)_values[i];
                if (!ExistsIn(t, group))
                {
                    return(false);
                }
            }

            return(true);
        }
Example #9
0
 public HqlFieldGroup(HqlFieldGroup a, HqlFieldGroup b)
 {
     AddField(a);
     AddField(b);
 }
Example #10
0
        ///////////////////////
        // Static Functions

        ///////////////////////
        // Constructors

        //public HqlResultRow(HqlFieldGroup group1, HqlFieldGroup group2)
        //{
        //    Init(group1, group2, null);
        //}

        public HqlResultRow(HqlFieldGroup group1, HqlFieldGroup group2, HqlFieldGroup group3)
        {
            Init(group1, group2, group3);
        }
Example #11
0
        ///////////////////////
        // Constructors

        public HqlClause(HqlWith settings)
        {
            _fieldgroup = new HqlFieldGroup();
            _settings   = settings;
        }
Example #12
0
 public HqlHavingRow(HqlFieldGroup orderby, HqlFieldGroup groupby, HqlFieldGroup select)
 {
     _orderby = orderby;
     _groupby = groupby;
     _select  = select;
 }
Example #13
0
 public HqlValues(HqlFieldGroup fieldsImpacted, HqlRecord record)
 {
     _fieldsImpacted = fieldsImpacted;
     _values1        = _fieldsImpacted.GetValues(record);
 }
Example #14
0
 public HqlValues(HqlFieldGroup fieldsImpacted, HqlValues values1, HqlValues values2)
 {
     _fieldsImpacted = fieldsImpacted;
     SetValues(values1, values2);
 }
Example #15
0
 public HqlValues(HqlFieldGroup fieldsImpacted, object[] values)
 {
     _fieldsImpacted = fieldsImpacted;
     _values1        = values;
 }