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(OraclePreparedStatement.java:9262) oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8843) oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:9316) net.liftweb.mapper.MetaMapper$$anonfun$12$$anonfun$prepStat$1$1.apply(MetaMapper.scala:622) net.liftweb.mapper.MetaMapper$$anonfun$12$$anonfun$prepStat$1$1.apply(MetaMapper.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.scala:659) net.liftweb.mapper.MetaMapper$$anonfun$12$$anonfun$19.apply(MetaMapper.scala: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(ProtoUser.scala:360) net.liftweb.mapper.MetaMegaProtoUser$$anonfun$innerSignup$1$1.apply(ProtoUser.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$$dispatchStatefulRequest(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:373) 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.scala: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$$anonfun$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$$anonfun$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.apply(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.apply(LiftServlet.scala:525) net.liftweb.http.LiftFilterTrait$$anonfun$doFilter$1$$anonfun$apply$22.apply(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.scala:524) net.liftweb.http.LiftFilterTrait$$anonfun$doFilter$1.apply(LiftServlet.scala:518) net.liftweb.http.RequestVarHandler$$anonfun$apply$3$$anonfun$apply$4$$anonfun$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$$anonfun$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(ServletHandler.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(ContextHandlerCollection.java:230) org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) 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:520) -- 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 -~----------~----~----~----~------~----~------~--~---