Hey Jon,

Sounds like Mapper is not quite sure what to do with one of the types
it created - If memory serves Derek is looking after the DB drivers
these days (the fellow who wrote oracle driver isn't active anymore),
so my advice would be log a issue here so that it doesn't get missed:

http://github.com/dpp/liftweb/issues

Cheers, Tim



On Jul 23, 12:12 pm, Jon Kleiser <jon.klei...@usit.uio.no> wrote:
> Hi,
>
> I just tried to run the todo app.
> (http://liftweb.net/docs/getting_started/mod_master.html) against our
> Oracle (10something) database. The two tables got created like this:
>
> INFO - CREATE TABLE users (id ROWID , firstname VARCHAR(32) , lastname
> VARCHAR(32) , email VARCHAR(48) , locale VARCHAR(16) , timezone
> VARCHAR(32) , password_pw VARCHAR(48) , password_slt VARCHAR(20) ,
> textarea VARCHAR(2048) , validated NUMBER , uniqueid VARCHAR(32) ,
> superuser NUMBER)
> INFO - ALTER TABLE users ADD CONSTRAINT users_PK PRIMARY KEY(id)
> INFO - CREATE TABLE todo (id ROWID , desc_c VARCHAR(128) , done NUMBER ,
> owner NUMBER , priority NUMBER)
> INFO - ALTER TABLE todo ADD CONSTRAINT todo_PK PRIMARY KEY(id)
> INFO - CREATE INDEX users_email ON users ( email )
> INFO - CREATE INDEX users_uniqueid ON users ( uniqueid )
> INFO - CREATE INDEX todo_owner ON todo ( owner )
>
> I then used Oracle's SQLDeveloper to confirm that the tables had been
> created and had the right columns. However, when I tried to "Sign Up" in
> the todo app., I got this nasty stuff right in the browser (nothing in
> the log):
>
> Exception occured while processing /user_mgt/sign_up
> Message: java.sql.SQLException: Invalid column type
>         
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>         
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
>         
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
>         
> oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePrepared 
> Statement.java:9262)
>         
> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePrepared 
> Statement.java:8843)
>         
> oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatemen 
> t.java:9316)
>         
> net.liftweb.mapper.MetaMapper$$anonfun$12$$anonfun$prepStat$1$1.apply(MetaM 
> apper.scala:622)
>         
> net.liftweb.mapper.MetaMapper$$anonfun$12$$anonfun$prepStat$1$1.apply(MetaM 
> apper.scala:616)
>         scala.Iterator$class.foreach(Iterator.scala:414)
>         scala.Iterator$$anon$14.foreach(Iterator.scala:265)
>         scala.Iterable$class.foreach(Iterable.scala:256)
>         scala.collection.mutable.HashMap.foreach(HashMap.scala:33)
>         
> net.liftweb.mapper.MetaMapper$$anonfun$12.prepStat$1(MetaMapper.scala:616)
>         
> net.liftweb.mapper.MetaMapper$$anonfun$12$$anonfun$19.apply(MetaMapper.scal 
> a:659)
>         
> net.liftweb.mapper.MetaMapper$$anonfun$12$$anonfun$19.apply(MetaMapper.scal 
> a:659)
>         net.liftweb.mapper.DB$$anonfun$prepareStatement$2.apply(DB.scala:292)
>         net.liftweb.mapper.DB$$anonfun$prepareStatement$2.apply(DB.scala:288)
>         net.liftweb.util.TimeHelpers$class.calcTime(TimeHelpers.scala:241)
>         net.liftweb.util.Helpers$.calcTime(Helpers.scala:29)
>         net.liftweb.mapper.DB$.prepareStatement(DB.scala:288)
>         net.liftweb.mapper.MetaMapper$$anonfun$12.apply(MetaMapper.scala:658)
>         net.liftweb.mapper.MetaMapper$$anonfun$12.apply(MetaMapper.scala:578)
>         net.liftweb.mapper.DB$.use(DB.scala:305)
>         net.liftweb.mapper.MetaMapper$class.save(MetaMapper.scala:577)
>         com.liftworkshop.model.User$$$M$5d72f813.save(User.scala:9)
>         com.liftworkshop.model.User$$$A$5d72f813.save(<generated>)
>         com.liftworkshop.model.User$.save(<generated>)
>         net.liftweb.mapper.Mapper$$anonfun$save$1.apply(Mapper.scala:84)
>         net.liftweb.mapper.Mapper$$anonfun$save$1.apply(Mapper.scala:84)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         net.liftweb.mapper.Safe$.runSafe(Safe.scala:44)
>         net.liftweb.mapper.Mapper$class.runSafe(Mapper.scala:50)
>         com.liftworkshop.model.User$$M$7ee2c84f.runSafe(User.scala:24)
>         com.liftworkshop.model.User$$A$7ee2c84f.runSafe(<generated>)
>         com.liftworkshop.model.User.runSafe(<generated>)
>         net.liftweb.mapper.Mapper$class.save(Mapper.scala:83)
>         com.liftworkshop.model.User$$M$7ee2c84f.save(User.scala:24)
>         com.liftworkshop.model.User$$A$7ee2c84f.save(<generated>)
>         com.liftworkshop.model.User.save(<generated>)
>         
> net.liftweb.mapper.MetaMegaProtoUser$class.testSignup$1(ProtoUser.scala:343 )
>         
> net.liftweb.mapper.MetaMegaProtoUser$$anonfun$innerSignup$1$1.apply(ProtoUs 
> er.scala:360)
>         
> net.liftweb.mapper.MetaMegaProtoUser$$anonfun$innerSignup$1$1.apply(ProtoUs 
> er.scala:360)
>         net.liftweb.http.S$NFuncHolder$$anonfun$apply$46.apply(S.scala:941)
>         net.liftweb.http.S$NFuncHolder$$anonfun$apply$46.apply(S.scala:941)
>         scala.List.map(List.scala:805)
>         net.liftweb.http.S$NFuncHolder.apply(S.scala:941)
>         
> net.liftweb.http.LiftSession$$anonfun$buildFunc$1$2.apply(LiftSession.scala 
> :307)
>         
> net.liftweb.http.LiftSession$$anonfun$5$$anonfun$apply$19.apply(LiftSession 
> .scala:322)
>         
> net.liftweb.http.LiftSession$$anonfun$5$$anonfun$apply$19.apply(LiftSession 
> .scala:322)
>         scala.List.map(List.scala:805)
>         net.liftweb.http.LiftSession$$anonfun$5.apply(LiftSession.scala:322)
>         net.liftweb.http.LiftSession$$anonfun$5.apply(LiftSession.scala:311)
>         scala.List.flatMap(List.scala:1125)
>         net.liftweb.http.LiftSession.runParams(LiftSession.scala:311)
>         net.liftweb.http.LiftSession.processRequest(LiftSession.scala:449)
>         
> net.liftweb.http.LiftServlet.net$liftweb$http$LiftServlet$$dispatchStateful 
> Request(LiftServlet.scala:244)
>         net.liftweb.http.LiftServlet$$anonfun$2.apply(LiftServlet.scala:176)
>         net.liftweb.http.LiftServlet$$anonfun$2.apply(LiftServlet.scala:176)
>         net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:398)
>         
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1$$anonfun$ 
> apply$16.apply(S.scala:453)
>         net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:372)
>         
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$doAround$1.apply(S.scala:37 3)
>         
> net.liftweb.mapper.DB$$anon$1.net$liftweb$mapper$DB$$anon$$doWith(DB.scala: 
> 117)
>         
> net.liftweb.mapper.DB$$anon$1$$anonfun$net$liftweb$mapper$DB$$anon$$doWith$ 
> 1.apply(DB.scala:118)
>         
> net.liftweb.mapper.DB$$anon$1$$anonfun$net$liftweb$mapper$DB$$anon$$doWith$ 
> 1.apply(DB.scala:118)
>         net.liftweb.mapper.DB$.use(DB.scala:305)
>         
> net.liftweb.mapper.DB$$anon$1.net$liftweb$mapper$DB$$anon$$doWith(DB.scala: 
> 118)
>         net.liftweb.mapper.DB$$anon$1.apply(DB.scala:124)
>         net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:373)
>         
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1.apply(S.s 
> cala:451)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         net.liftweb.http.S$.net$liftweb$http$S$$_nest2InnerInit(S.scala:450)
>         
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply 
> $19$$anonfun$apply$20$$anonfun$apply$21$$anonfun$apply$22$$anonfun$apply$23 
> $$anonfun$apply$24.apply(S.scala:471)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply 
> $19$$anonfun$apply$20$$anonfun$apply$21$$anonfun$apply$22$$anonfun$apply$23 
> .apply(S.scala:470)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply 
> $19$$anonfun$apply$20$$anonfun$apply$21$$anonfun$apply$22.apply(S.scala:469 )
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply 
> $19$$anonfun$apply$20$$anonfun$apply$21.apply(S.scala:468)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply 
> $19$$anonfun$apply$20.apply(S.scala:467)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply 
> $19.apply(S.scala:466)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1.apply(S.scala: 
> 465)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         net.liftweb.http.S$.net$liftweb$http$S$$_innerInit(S.scala:464)
>         
> net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$27$$anonfun$apply$28$$an 
> onfun$apply$29$$anonfun$apply$30.apply(S.scala:495)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         
> net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$27$$anonfun$apply$28$$an 
> onfun$apply$29.apply(S.scala:494)
>         net.liftweb.http.RequestVarHandler$.apply(Vars.scala:191)
>         
> net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$27$$anonfun$apply$28.app 
> ly(S.scala:493)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         
> net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$27.apply(S.scala:492)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         net.liftweb.http.S$$anonfun$_init$1.apply(S.scala:491)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         net.liftweb.http.S$._init(S.scala:490)
>         net.liftweb.http.S$.init(S.scala:334)
>         net.liftweb.http.LiftServlet.doService(LiftServlet.scala:175)
>         
> net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply(LiftServlet.scala:104)
>         
> net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply(LiftServlet.scala:104)
>         net.liftweb.util.TimeHelpers$class.calcTime(TimeHelpers.scala:241)
>         net.liftweb.util.Helpers$.calcTime(Helpers.scala:29)
>         net.liftweb.util.TimeHelpers$class.logTime(TimeHelpers.scala:250)
>         net.liftweb.util.Helpers$.logTime(Helpers.scala:29)
>         net.liftweb.http.LiftServlet.doIt$1(LiftServlet.scala:103)
>         net.liftweb.http.LiftServlet.service(LiftServlet.scala:112)
>         
> net.liftweb.http.LiftFilterTrait$$anonfun$doFilter$1$$anonfun$apply$22.appl 
> y(LiftServlet.scala:525)
>         
> net.liftweb.http.LiftFilterTrait$$anonfun$doFilter$1$$anonfun$apply$22.appl 
> y(LiftServlet.scala:525)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         net.liftweb.http.URLRewriter$.doWith(Req.scala:390)
>         
> net.liftweb.http.LiftFilterTrait$$anonfun$doFilter$1.apply(LiftServlet.scal 
> a:524)
>         
> net.liftweb.http.LiftFilterTrait$$anonfun$doFilter$1.apply(LiftServlet.scal 
> a:518)
>         
> net.liftweb.http.RequestVarHandler$$anonfun$apply$3$$anonfun$apply$4$$anonf 
> un$apply$5$$anonfun$apply$6.apply(Vars.scala:197)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         
> net.liftweb.http.RequestVarHandler$$anonfun$apply$3$$anonfun$apply$4$$anonf 
> un$apply$5.apply(Vars.scala:196)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         
> net.liftweb.http.RequestVarHandler$$anonfun$apply$3$$anonfun$apply$4.apply( 
> Vars.scala:195)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         
> net.liftweb.http.RequestVarHandler$$anonfun$apply$3.apply(Vars.scala:194)
>         net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
>         net.liftweb.http.RequestVarHandler$.apply(Vars.scala:193)
>         net.liftweb.http.LiftFilterTrait$class.doFilter(LiftServlet.scala:517)
>         net.liftweb.http.LiftFilter.doFilter(LiftServlet.scala:536)
>         
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle 
> r.java:1148)
>         
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
>         
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>         
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>         
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>         org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
>         
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCol 
> lection.java:230)
>         
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:1 
> 14)
>         
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>         org.mortbay.jetty.Server.handle(Server.java:324)
>         
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
>         
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java 
> :880)
>         org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
>         org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>         org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>         
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409 )
>         
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:52 0)
>
> --
>
> What can that "Invalid column type" be indicating?
> I'm using Lift 1.0.
>
> /Jon
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to