This did come up in discussion. Functionally speaking a space is no different to an empty String, though technically they are different. So it will be a trade off to ignore explicitly sent spaces by users.
On 10 January 2017 at 11:01, Madhawa Gunasekara <[email protected]> wrote: > So what will happen if the user sends a space? So It's better to add a > configuration to avoid these situations. then user can handle this. WDYT ? > > On Tue, Jan 10, 2017 at 10:54 AM, Uvindra Dias Jayasinha <[email protected] > > wrote: > >> To be more precise, if a user explicitly sends "" then we will set the >> value to space, enabling us to convert back to "". >> >> But if the field is not set(ignored by the user) then the default NULL >> will be saved. This will make things consistant across all DB's. >> >> On 10 January 2017 at 10:41, Uvindra Dias Jayasinha <[email protected]> >> wrote: >> >>> Note that there is a clear break in the UX of the REST API if we allow >>> pass empty strings to Oracle(due to the conversion to NULL). Oracle treats >>> "" as NULL but this is incorrect in the REST/JSON world. >>> >>> If a user enters an empty string "" they will expect to get "" back, >>> which will not happen with Oracles default behaviour. Therefore in order to >>> keep consistency of the REST API I dont see an alternative other than >>> having space as the default value. We can get rid of the space when >>> returning by simply trimming the String so we don't need to have any >>> special filtering logic. >>> >>> On 10 January 2017 at 10:34, Akalanka Pagoda Arachchi < >>> [email protected]> wrote: >>> >>>> +1 to keep default as NULL instead of a space. >>>> >>>> Having a space will require adding trimming logic to the underlying >>>> code and methods like 'isNullOrEmpty' will bypass this string if there's a >>>> space. >>>> >>>> Thanks, >>>> Akalanka. >>>> >>>> On Tue, Jan 10, 2017 at 10:23 AM, Lahiru Cooray <[email protected]> >>>> wrote: >>>> >>>>> >>>>> >>>>> On Mon, Jan 9, 2017 at 7:54 AM, Isuru Haththotuwa <[email protected]> >>>>> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Fri, Jan 6, 2017 at 5:19 PM, Uvindra Dias Jayasinha < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Setting a default value for empty fields being sent seems to be best. >>>>>>> >>>>>>> Furthermore we can have default values set in our DTO objects in >>>>>>> case a given field is omitted altogether. >>>>>>> >>>>>>> So handling both the above scenarios can overcome the limitation in >>>>>>> Oracle. >>>>>>> >>>>>>> But I dont know if this is good for the REST API user experience, >>>>>>> when retrieving data that contains these default values. >>>>>>> >>>>>> Additionally this could affect the user experience in UIs as well. >>>>>> >>>>>> How about we just keep a default value to NULL in DB level and then >>>>>> filter it from UI? Since anyway Oracle treats zero length String as >>>>>> NULLs, >>>>>> even if the user enters an empty String it will then be automatically. >>>>>> The >>>>>> rest API will still return the default value if invoked directly though. >>>>>> >>>>> >>>>> +1 to keep default as NULL which is more natural >>>>> Further rather than filtering in the UI, how about directly do it in >>>>> the query itself using COALESCE() built-in function (which is an ANSI >>>>> standard and better performing than IS NULL) >>>>> >>>>> eg: SELECT COALESCE(field_name,'') as field_name //if the field >>>>> value is null it will map to empty >>>>> >>>>> >>>>> >>>>>>> On 6 January 2017 at 15:28, Tharindu Dharmarathna < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Fri, Jan 6, 2017 at 3:26 PM, Tharindu Dharmarathna < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hi All, >>>>>>>>> >>>>>>>>> I faced $Subject in Oracle database while running integration test >>>>>>>>> on C5 on top. >>>>>>>>> >>>>>>>>> *Observation* >>>>>>>>> >>>>>>>>> when insert empty string ("") it was save as null in database. >>>>>>>>> >>>>>>>>> While going through SO I had found [1] , which did happen in >>>>>>>>> oracle database. >>>>>>>>> >>>>>>>>> >>>>>>>>> We have come up with several ways to handle empty strings which >>>>>>>>> user sends through the rest api. >>>>>>>>> >>>>>>>>> 1. Validate the request and send error when giving empty strings >>>>>>>>> 2. Set default value like "N/A" into the fields which send as >>>>>>>>> empty. >>>>>>>>> >>>>>>>>> Is there any other way to handle this problem ?. >>>>>>>>> >>>>>>>>> [1] - http://stackoverflow.com/questions/13278773/null-vs-empty- >>>>>>>>> string-in-oracle >>>>>>>>> >>>>>>>>> Thanks >>>>>>>>> >>>>>>>>> >>>>>>>>> *Tharindu Dharmarathna*Software Engineer >>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>> lean.enterprise.middleware >>>>>>>>> >>>>>>>>> mobile: *+94779109091 <+94%2077%20910%209091>* >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> *Tharindu Dharmarathna*Software Engineer >>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>> lean.enterprise.middleware >>>>>>>> >>>>>>>> mobile: *+94779109091 <+94%2077%20910%209091>* >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Regards, >>>>>>> Uvindra >>>>>>> >>>>>>> Mobile: 777733962 >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Thanks and Regards, >>>>>> >>>>>> Isuru H. >>>>>> +94 716 358 048 <+94%2071%20635%208048>* <http://wso2.com/>* >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Dev mailing list >>>>>> [email protected] >>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Lahiru Cooray* >>>>> Software Engineer >>>>> WSO2, Inc.;http://wso2.com/ >>>>> lean.enterprise.middleware >>>>> >>>>> Mobile: +94 715 654154 <+94%2071%20565%204154> >>>>> >>>>> _______________________________________________ >>>>> Dev mailing list >>>>> [email protected] >>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>> >>>>> >>>> >>>> >>>> -- >>>> *Darshana Akalanka Pagoda Arachchi,* >>>> *Senior Software Engineer, WSO2* >>>> *+94777118016 <+94%2077%20711%208016>* >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> [email protected] >>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>> >>>> >>> >>> >>> -- >>> Regards, >>> Uvindra >>> >>> Mobile: 777733962 >>> >> >> >> >> -- >> Regards, >> Uvindra >> >> Mobile: 777733962 >> >> _______________________________________________ >> Dev mailing list >> [email protected] >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > *Madhawa Gunasekara* > Software Engineer > WSO2 Inc.; http://wso2.com > lean.enterprise.middleware > > mobile: +94 719411002 <+94+719411002> > blog: *http://madhawa-gunasekara.blogspot.com > <http://madhawa-gunasekara.blogspot.com>* > linkedin: *http://lk.linkedin.com/in/mgunasekara > <http://lk.linkedin.com/in/mgunasekara>* > -- Regards, Uvindra Mobile: 777733962
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
