Can you confirm the latest trunk works for you with your existing (legacy) data?
On Wednesday, 7 January 2015 13:12:57 UTC-6, mweissen wrote: > > Ok, I think, I have found some answers: > > (1) My current version is 2.9.11 (source) and I have checked it some > minutes ago: > http://www.web2py.com/examples/static/web2py_src.zip does not contain a > dal/-folder but a dal.py > > (2) I have found the dal/-folder now in version 2.9.12 Beta. > > (3) I am sorry but the lines TRUE = 'True' and so on are not parts of the > offical file - my mistake, I think I have got it from an experimental > version. Maybe I have tried few months ago something like this proposal: > https://github.com/web2py/web2py/pull/580/files > > Sorry again for this misleading discussion. > > 2015-01-07 17:52 GMT+01:00 Massimo Di Pierro <[email protected]>: > >> I am pretty sure this worked fine. That said... we did a lot of >> refactoring of dal recently and that could have caused the problem. But, I >> am very confused. If you have a recent dal version you should not have a >> dal.py file. You should have a dal/ folder. >> >> What version of web2py do you have? >> >> >> On Wednesday, 7 January 2015 08:44:23 UTC-6, mweissen wrote: >>> >>> Let's say I create a table with >>> db.define_table('booltest', Field('b', 'boolean')) >>> >>> web2py generates something like >>> CREATE TABLE booltest (b char(1)); >>> >>> Now we will insert a new record >>> db.booltest.insert(b=True); >>> >>> The error message is >>> "Wert zu lang für Typ character(1)" >>> which means >>> "Value too long for character(1)" >>> >>> Why? Because the generates SQL-statement is >>> INSERT INTO booltest(b) VALUES ('True') RETURNING id; >>> >>> But if I would create a table with >>> CREATE TABLE booltest (b boolean); >>> the following SQL-statements work. >>> Try it with the command line interface of postgres. >>> >>> INSERT INTO bootest2 (b) VALUES('true'); >>> INSERT INTO bootest2 (b) VALUES(TRUE); >>> INSERT INTO bootest2 (b) VALUES(true); >>> INSERT INTO bootest2 (b) VALUES(True); >>> INSERT INTO bootest2 (b) VALUES('T'); >>> INSERT INTO bootest2 (b) VALUES('on'); >>> >>> >>> Therefore I think the following lines should be changed in gluon/dal.py, >>> after line 2760 (class PostgreSQLAdapter(BaseAdapter); >>> >>> TRUE = 'True' ==> TRUE = 'T' >>> FALSE = 'False' ==> FALSE = 'F' >>> >>> or, better: >>> >>> types = {'boolean': 'CHAR(1)', ==> types = {'boolean': 'BOOLEAN', >>> >>> Right? Or did I made a mistake? >>> I cann't image that I am the first one with this problem... >>> >>> Regards, Martin >>> >>> >>> >>> > > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

