PageRenderTime 32ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/example/downloaded-modules/github.com/masuidrive/node-mysql/zipball/master/lib/mysql/result.js

https://github.com/hflw/question-party
JavaScript | 66 lines | 40 code | 9 blank | 17 comment | 2 complexity | f4bffb14dd3951f319bd5e6a8b829b65 MD5 | raw file
Possible License(s): BSD-3-Clause, LGPL-2.0, MIT
  1. // Result:
  2. // Result set
  3. var sys = require('sys');
  4. var utils = require('./utils');
  5. // Result set
  6. var ResultBase = function(fields) {
  7. this.fields = fields;
  8. this.records = [];
  9. this.fieldname_with_table = false;
  10. }
  11. exports.ResultBase = ResultBase;
  12. var Result = function(fields, protocol) {
  13. ResultBase.call(this, fields);
  14. this.protocol = protocol;
  15. }
  16. sys.inherits(Result, ResultBase);
  17. exports.Result = Result;
  18. Result.prototype.fetch_all = function() {
  19. var promise = this.protocol.retr_all_records(this.fields,
  20. utils.scope(this, function(rec) { // each
  21. this.records.push(rec);
  22. }),
  23. utils.scope(this, function() { // result
  24. return this;
  25. }));
  26. return promise;
  27. }
  28. Result.prototype.toHash = function(row) {
  29. var result, name, field;
  30. result = {};
  31. for(var i = 0; i<this.fields.length; ++i) {
  32. field = this.fields[i];
  33. name = ((this.fieldname_with_table && field.table) ? (field.table+".") : "") + field.name;
  34. result[name] = row[i];
  35. }
  36. return result;
  37. }
  38. var StatementResult = function(fields, protocol) {
  39. ResultBase.call(this, fields);
  40. this.protocol = protocol;
  41. }
  42. sys.inherits(StatementResult, ResultBase);
  43. exports.StatementResult = Result;
  44. /*
  45. node-mysql
  46. A node.js interface for MySQL
  47. Author: masuidrive <masui@masuidrive.jp>
  48. License: MIT License
  49. Copyright (c) Yuichiro MASUI
  50. # Original:
  51. # http://github.com/tmtm/ruby-mysql
  52. # Copyright (C) 2009-2010 TOMITA Masahiro
  53. # mailto:tommy@tmtm.org
  54. # License: Ruby's
  55. */