Thanks for the code.  Worked great except I got a bunch of these:
com.google.apphosting.api.DeadlineExceededException: This request
(f557629c71ca7b8d) started at 2009/07/24 13:20:12.825 UTC and was
still executing at 2009/07/24 13:20:41.505 UTC.

but just had to hit refresh a few times.  It'd be nice if appengine
provided means to truncate/drop tables in the admin console.

Andrew

On Jun 20, 10:36 am, Charlie Zhu <[email protected]> wrote:
> Thank you, Nick,
>
> I have written code as below with low level API to delete the entry.
> It runs without error but seems not totally working. And thanks god
> that data suddenly appeared at Data Viewer and problem resolved.
>
> Code pasted here and hope it useful for others
>
> import com.google.appengine.api.datastore.DatastoreService;
> import com.google.appengine.api.datastore.DatastoreServiceFactory;
> import com.google.appengine.api.datastore.Entity;
> import com.google.appengine.api.datastore.Query;
>
>         public void doGet(HttpServletRequest req, HttpServletResponse resp)
> throws IOException {
>                  String tbname = req.getParameter("tbname");
>                  if(tbname!=null)
>                  {
>                          DatastoreService datastore =
> DatastoreServiceFactory.getDatastoreService();
>
>                          // Or perform a query
>                          Query query = new Query(tbname);
>                          for (Entity taskEntity : 
> datastore.prepare(query).asIterable()) {
>                              datastore.delete(taskEntity.getKey());
>                          }
>                  }
>         }
>
> Regards,
> Charlie
>
> On Jun 17, 11:58 pm, "Nick Johnson (Google)" <[email protected]>
> wrote:
>
>
>
> > Hi Charlie,
>
> > Your easiest option here is probably to upload an alternate major version of
> > your app with the old schema, and use that to retrieve and fix the faulty
> > entit(y|ies). Alternate approaches include using the low level datastore
> > API, or uploading a Python version that uses the low level API or
> > db.Expando.
>
> > -Nick Johnson
>
> > On Wed, Jun 17, 2009 at 9:15 AM, Charlie Zhu <[email protected]> wrote:
>
> > > Hi,
>
> > > I have tried all ways I known to delete some schema changing caused
> > > error Entities and failed.
>
> > > 1. Delete on Data Viewer on the console.
> > > Data Viewer shows "No Data Yet."
>
> > > 2. Delete by code
> > > Below is part of the codes:
> > >        Query q = pm.newQuery(CDKFingerprint.class);
> > >        List<CDKFingerprint> results2;
> > >        results2 = (List<CDKFingerprint>) q.execute();
> > >        pm.deletePersistentAll(results2);
> > > But that cause server error:
> > > java.lang.NullPointerException: Datastore entity with kind
> > > CDKFingerprint and key CDKMol(c=cc=cc=c)/CDKFingerprint(1) has a null
> > > property named bits_count.  This property is mapped to
> > > cdkhelper.CDKFingerprint.bits_count, which cannot accept null values.
> > > ...
> > > at org.datanucleus.jdo.JDOPersistenceManager.deletePersistentAll
> > > (JDOPersistenceManager.java:795)
> > > ...
>
> > > 3. Assign values to the NULL field then delete
> > > The code
> > >        for(CDKFingerprint r: results2) {
> > >                r.bits_count = 0;
> > >                pm.makePersistent(r);
> > >        }
> > > And server error again
> > > java.lang.NullPointerException: Datastore entity with kind
> > > CDKFingerprint and key CDKMol(c=cc=cc=c)/CDKFingerprint(1) has a null
> > > property named bits_count.  This property is mapped to
> > > cdkhelper.CDKFingerprint.bits_count, which cannot accept null values.
> > > ...
> > > at org.datanucleus.store.appengine.query.StreamingQueryResult
> > > $AbstractListIterator.hasNext(StreamingQueryResult.java:205)
> > > ...
>
> > > Having no idea and hoping help.
>
> > > Regards,
> > > Charlie
>
> > --
> > Nick Johnson, App Engine Developer Programs Engineer
> > Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number:
> > 368047
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to