Re: Proposed change regarding trimming of strings...
[email protected] Tue, 22 Feb 2011 20:10:04 +1000
| Newsgroups | gmane.comp.java.orm.simpleorm |
|---|---|
| Message-ID | <[email protected]> |
--=====================_99322388==_
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Hello Franck,
It would be great if you could do this.
I think we probably need an enumeration like
{TRIM_TO_NULL, TRIM_NO_NULLS, NO_TRIM}
which is on both the SFieldMeta, the SConnection and the SDriver. The Connection gets a default from the driver, which provides a default to the SFieldMeta. TRIM_TO_NULL would be the default default.
Thanks,
Anthony
At 06:44 PM 21/02/2011, you wrote:
>
>
>Hi,
>>
>> But for ordinary Varchar fields, if you ever did accidentally have
>> trailing spaces in a key for a VARCHAR it would be a pretty horrible
>> bug. A user could simply accidentally add a space to an input field,
>> for example.
>
>Guess what : this is exactly what happened to me a few days ago...
>
>> Two options, be helpful or strict. I think we need both.
>>
>> So to be helpful, have setString and getString trim, and NULL convert.
>> And then have get|setStringExact which do not. SetObject should not.
>> Thus we provide basic protection. For queries, do not do any
>> conversion of ? parameters -- it is up to the user to pad with spaces
>> if that is required by the db if they insist on using CHARs. (Queries
>> are less important because they values are not persisted.)
>>
>> FindReference then uses getObject or getStringExact. So a read of a
>> record followed by a findReference will always work. (No conversions
>> should be made as data is actually being selected from the database.)
>> Beyond that, it is up to the user to pad with spaces appropriately and
>> use setStringExact in the rare situations where that is what is really
>> required.
>>
>
>This seems fine to me. Should I tackle the implementation ?
>
>Regards,
>
>Franck
>
>
Dr Anthony Berglas, [email protected] Mobile: +61 4 4838 8874
Just because it is possible to push twigs along the ground with ones nose
does not necessarily mean that is the best way to collect firewood.
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/SimpleORM/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/SimpleORM/join
(Yahoo! ID required)
<*> To change settings via email:
[email protected]
[email protected]
<*> To unsubscribe from this group, send an email to:
[email protected]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
--=====================_99322388==_
Content-Type: image/jpeg; name="5eb8785.jpg";
x-mac-type="4A504547"; x-mac-creator="4A565752"
Content-ID: <[email protected]>
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="5eb8785.jpg"
/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAPAIkDASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9u/8A
gqt/wT1/at8K/CHXvj3+wX+1X+2PF4y8Dy6r4q8e/A+8/aI+LHiu08deFDNPqeqzfD2O78RS6vpn
iPw7Bva08KaZctb6/osUljo0EPiKCyj1fp/2df8Ago38INb/AOCZ1p8d/gZ8drX4UfEq38baZ4b8
aeDP2kLz4yftf+NLX4zalYW1nJ8IPAvhS7+J+h/FLxhP47ltLHUfhhB4b1trF7K61DUrvQotSi8U
x6d+3fx2+OPw1/Zt+FHjD41/F/W5/Dnw58CWNvqPibWrbSNX16extbu/tNMgePSdCstQ1W8aS9vb
aHZaWczKJDI4WJHdf4Zv2Pv2x/2Afg9/wWT/AGkv2t/GEdnoP7NXimD4ha78CddHwt17VB4d8eeL
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
AA5n/Yt/6B/xT/8ADna5/wDEUAf/2Q==
--=====================_99322388==_--