Skip to content

query filter by Key fails with unsupported error #37

Open
@mark1010

Description

@mark1010

filtering by Key fails with 'Cannot encode unsupported Key type.'

gcloud 0.1.3+1, appengine 0.2.5

@Kind(name:'m_channel')  
class Channel extends Model { 
    @StringProperty()
    String name;
}

@Kind(name:'m_data')
class Data extends Model {
    @DoubleProperty()
    double value;

    @ModelKeyProperty()
    Key channelKey; 
}

query

Query q = new Query(db,Data);
q.filter('channelKey =', channelKey);
q.run().toList();

fails with

DEBUG: Container: 4418e6f400e7: 2015-02-04 10:07:15.409: ApplicationLog | Error: Uncaught error in request handler: ApplicationError: Cannot encode unsupported Key type.
#0      Codec.encodeProperty (package:appengine/src/api_impl/raw_datastore_v3_impl.dart:319:7)
dart-lang/labs#16      DatastoreV3RpcImpl.query (package:appengine/src/api_impl/raw_datastore_v3_impl.dart:527:57)
dart-lang/labs#17      Query.run.<anonymous closure> (package:gcloud/src/db/db.dart:224:33)
dart-lang/labs#18      _onListen (package:gcloud/common.dart:69:23)
dart-lang/labs#19      _runGuarded (dart:async/stream_controller.dart:664)
dart-lang/labs#20      _StreamController._subscribe.<anonymous closure> (dart:async/stream_controller.dart:513)
dart-lang/labs#21      _BufferingStreamSubscription._guardCallback (dart:async/stream_impl.dart:414)
dart-lang/labs#22      _StreamController._subscribe (dart:async/stream_controller.dart:512)
dart-lang/labs#23      _ControllerStream._createSubscription (dart:async/stream_controller.dart:682)
dart-lang/labs#24      _StreamImpl.listen (dart:async/stream_impl.dart:474)
dart-lang/gcloud#10     _ForwardingStream._createSubscription (dart:async/stream_pipe.dart:96)
dart-lang/labs#25     _ForwardingStream.listen (dart:async/stream_pipe.dart:88)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions