Guest User

Untitled

a guest
Oct 20th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. exports.fts_find_factory = function(that, tablename, def_fields, def_limit) {
  2.  
  3. var fn = function() {
  4. db.connect(function(err, client) {
  5. if(err && callback) { callback(err); return; }
  6. var query, options, callback, fields, limit;
  7.  
  8. query = arguments[0];
  9. callback = arguments[arguments.length - 1];
  10. if(arguments.length > 2) {
  11. options = arguments[1];
  12. }
  13.  
  14. if(options) {
  15. fields = options.fields.join(',') || def_fields.join(',');
  16. limit = options.limit || def_limit;
  17. }
  18.  
  19. client.query(
  20. "SELECT " + fields + " " +
  21. "FROM person " +
  22. "WHERE searchable_text @@ (plainto_tsquery('simple', $1) && to_tsquery('simple', $2)) " +
  23. "LIMIT " + limit,
  24. helpers.to_fts_query(query),
  25. function(err, resultSet) {
  26. if(err && callback) { callback(err); return; }
  27. callback(null, resultSet.rows);
  28. });
  29. });
  30. }
  31.  
  32. return function() {
  33. fn.apply(that, arguments);
  34. }
  35. }
Add Comment
Please, Sign In to add comment