Hi,
Thank you for your email

Thanks and Regards
Charlin

On Wed, 24 Apr, 2024, 4:42 pm Pavel Tupitsyn, <ptupit...@apache.org> wrote:

> Same thing. Fields get flattened for SQL, so you've got one column from
> Employee and another from EmpInfo causing a conflict.
>
> On Wed, Apr 24, 2024 at 2:06 PM Charlin S <charli...@hotelhub.com> wrote:
>
>> Hi,
>> Thank you for the email.
>> What about EmpInfo? Main class and child class having EmpName field
>> (error 1)
>>
>> Thanks and Regards,
>> Charlin
>>
>>
>> On Wed, 24 Apr, 2024, 4:25 pm Pavel Tupitsyn, <ptupit...@apache.org>
>> wrote:
>>
>>> Employee class has two fields with the same name:
>>>
>>>   [QuerySqlField]
>>>   public string EMPCode { get; set; }
>>>
>>>   [QuerySqlField]
>>>   public string EmpCode { get; set; }
>>>
>>>
>>> Ignite 2.10 ignored this and used only one of those for SQL, which may
>>> lead to subtle bugs. So we added this validation.
>>>
>>> You'll have to rename one of the fields, or override SQL field name in
>>> the attribute:
>>> [QuerySqlField(Name = "EMPCode2")]
>>>
>>> On Wed, Apr 24, 2024 at 10:01 AM Charlin S <charli...@hotelhub.com>
>>> wrote:
>>>
>>>> Hi All,
>>>> I am upgrading Ignite from 2.10 to 2.16 and getting Multiple query
>>>> fields are associated with the same alias error for *EMPCode* and *EmpName,
>>>> *which is working with Ignite 2.10. unable to create Employee cache.
>>>>
>>>> Error 1:
>>>> System.Exception: IgniteException for chache ::  Employee
>>>>  ---> Apache.Ignite.Core.Cache.CacheException: class
>>>> org.apache.ignite.IgniteCheckedException: Multiple query fields are
>>>> associated with the same alias [alias=EMPNAME]
>>>>
>>>> Error 2:
>>>>   System.Exception: IgniteException for chache ::  Employee
>>>>  ---> Apache.Ignite.Core.Cache.CacheException: class
>>>> org.apache.ignite.IgniteCheckedException: Multiple query fields are
>>>> associated with the same alias [alias=EMPCODE]
>>>>
>>>> Error 2 can be corrected by removing TmcCode property but why same
>>>> error for EmpName?
>>>>
>>>> my class file
>>>> Public class Employee: IBinarizable
>>>> {
>>>>         [QuerySqlField]
>>>>         public string EMPCode { get; set; }
>>>>         [QuerySqlField]
>>>>         public string EmpCode { get; set; }
>>>>         [QuerySqlField]
>>>>         public string EmpName { get; set; }
>>>>         [QuerySqlField]
>>>>         public EmpInfo EmpInformation { get; set; }
>>>>
>>>>         public void WriteBinary(IBinaryWriter writer)
>>>>         {
>>>>             if (writer != null)
>>>>             {
>>>>                 writer.WriteString("empcode", EMPCode);
>>>>                 writer.WriteString("empname",  EmpName );
>>>>                 writer.WriteObject(" empInformation",  EmpInformation
>>>> );
>>>>             }
>>>>         }
>>>>          public void ReadBinary(IBinaryReader reader)
>>>>         {
>>>>             if (reader != null)
>>>>             {
>>>>                  EMPCode = reader.ReadString("empcode");
>>>>                  EmpName = reader.ReadString("empname");
>>>>                   EmpInformation     = reader.ReadString("
>>>> empInformation");
>>>>             }
>>>>          }
>>>>    }
>>>>
>>>>   public class EmpInfo : IBinarizable
>>>>   {
>>>>         [QuerySqlField]
>>>>         public string EmpName { get; set; }
>>>>         [QuerySqlField]
>>>>         public string EmpAddress{ get; set; }
>>>>
>>>>        public void WriteBinary(IBinaryWriter writer)
>>>>         {
>>>>             if (writer != null)
>>>>             {
>>>>                 writer.WriteString(" empname  ",  EmpName   );
>>>>                 writer.WriteString(" empaddress  ",   EmpAddress  );
>>>>             }
>>>>         }
>>>>          public void ReadBinary(IBinaryReader reader)
>>>>         {
>>>>             if (reader != null)
>>>>             {
>>>>                   EmpName   = reader.ReadString(" empname  ");
>>>>                   EmpAddress  = reader.ReadString(" empaddress  ");
>>>>             }
>>>>          }
>>>>   }
>>>>
>>>> Thanks & Regards,
>>>> Charlin
>>>>
>>>>
>>>>

Reply via email to