Имейте в виду, что библиотека узлов Кассандры асинхронна, как и большинство вещей в файле node.js. Вам нужно сделать все как надо, с помощью функции обратного вызова:
executeCQLQuery = function(query, PooledConnection, options, callback) {
var hosts = [options.host + ":" + options.port];
var connection_pool = new PooledConnection({
'hosts': hosts,
'keyspace': options.keyspace
});
connection_pool.execute(query, [], callback);
exports.executeCQLQuery = executeCQLQuery;
затем используйте это так:
executeCQLQuery('select foo from bar where key="bam"', PooledConnection, {host:'foo', port:1234}, function(err, rows) {
// check for err
// do something useful with rows.
});
Еще одно предложение: не имеет смысла использовать PooledConnection в качестве аргумента. Вы должны создать его экземпляр перед вызовом executeCQLQuery.
Контрольные примеры в cassandra-node всегда хороши для начала: http://code.google.com/a/apache-extras.org/p/cassandra-node/source/browse/test/test_driver.js#280