});
});
+ it('should execute a query with an x.y join path when x.y.naturalKeyOfY is needed', function (done) {
+ var sql = 'select xt.js_init(true);xt.post($${"nameSpace":"XM","type":"ItemSiteListItem","dispatch":{"functionName":"fetch","parameters":{"orderBy":[{"attribute":"item.number"}],"rowOffset":0,"rowLimit":50,"parameters":[{"attribute":"isActive","operator":"=","value":true},{"attribute":"item.classCode","operator":"","isCharacteristic":false,"value":"TOYS-CARS"}]}},"encoding":"rjson","username":"admin","encryptionKey":"foo"}$$);';
+
+ datasource.query(sql, creds, function (err, res) {
+ var results;
+ assert.isNull(err);
+ assert.equal(1, res.rowCount, JSON.stringify(res.rows));
+ results = JSON.parse(res.rows[1].get);
+ assert.isNumber(results.length);
+ done();
+ });
+ });
+
it('should execute a query with ambiguous column filters', function (done) {
var sql = 'select xt.js_init(true);select xt.get($${"nameSpace":"XM","type":"ToDoListItem","query":{"orderBy":[{"attribute":"priorityOrder"},{"attribute":"dueDate"},{"attribute":"name"}],"parameters":[{"attribute":"isActive","operator":"=","value":true},{"attribute":["owner.username","assignedTo.username"],"operator":"","isCharacteristic":false,"value":"admin"},{"attribute":"uuid","operator":"=","value":"23eef809-2f7c-4289-9eab-a72d621a6adb"}],"rowOffset":0,"rowLimit":50},"username":"admin","encryptionKey":"this is any content"}$$);';