Guest User

Untitled

a guest
May 22nd, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.77 KB | None | 0 0
  1. function createClass(parent)
  2. local newClass = {}
  3. function newClass:new(instance)
  4. local instance = instance or {}
  5. setmetatable(instance, {__index = newClass})
  6. return instance
  7. end
  8.  
  9. if(parent ~= nil) then
  10. setmetatable(newClass, {__index = parent})
  11. end
  12.  
  13. function newClass:getSelf()
  14. return newClass
  15. end
  16.  
  17. function newClass:getParent()
  18. return baseClass
  19. end
  20.  
  21. function newClass:isa(class)
  22. local tmp = newClass
  23. while(tmp ~= nil) do
  24. if(tmp == class) then
  25. return true
  26. end
  27.  
  28. tmp = tmp:getParent()
  29. end
  30.  
  31. return false
  32. end
  33.  
  34. function newClass:setAttributes(attributes)
  35. for k, v in pairs(attributes) do
  36. newClass[k] = v
  37. end
  38. end
  39.  
  40. return newClass
  41. end
  42.  
  43.  
  44.  
  45. if(result == nil) then
  46. print("> WARNING: Couldn't load database lib.")
  47. return
  48. end
  49.  
  50. Result = createClass(nil)
  51. Result:setAttributes({
  52. id = -1,
  53. query = ""
  54. })
  55.  
  56. function Result:getID()
  57. return self.id
  58. end
  59.  
  60. function Result:setID(_id)
  61. self.id = _id
  62. end
  63.  
  64. function Result:getQuery()
  65. return self.query
  66. end
  67.  
  68. function Result:setQuery(_query)
  69. self.query = _query
  70. end
  71.  
  72. function Result:create(_query)
  73. self:setQuery(_query)
  74. local _id = db.storeQuery(self:getQuery())
  75. if(_id) then
  76. self:setID(_id)
  77. end
  78.  
  79. return self:getID()
  80. end
  81.  
  82. function Result:getRows(free)
  83. local free = free or false
  84. if(self:getID() == -1) then
  85. error("[Result:getRows] Result not set!")
  86. end
  87.  
  88. local c = 0
  89. repeat
  90. c = c + 1
  91. until not self:next()
  92.  
  93. local _query = self:getQuery()
  94. self:free()
  95. if(not free) then
  96. self:create(_query)
  97. end
  98.  
  99. return c
  100. end
  101.  
  102. function Result:getDataInt(s)
  103. if(self:getID() == -1) then
  104. error("[Result:getDataInt] Result not set!")
  105. end
  106.  
  107. return result.getDataInt(self:getID(), s)
  108. end
  109.  
  110. function Result:getDataLong(s)
  111. if(self:getID() == -1) then
  112. error("[Result:getDataLong] Result not set!")
  113. end
  114.  
  115. return result.getDataLong(self:getID(), s)
  116. end
  117.  
  118. function Result:getDataString(s)
  119. if(self:getID() == -1) then
  120. error("[Result:getDataString] Result not set!")
  121. end
  122.  
  123. return result.getDataString(self:getID(), s)
  124. end
  125.  
  126. function Result:getDataStream(s)
  127. if(self:getID() == -1) then
  128. error("[Result:getDataStream] Result not set!")
  129. end
  130.  
  131. return result.getDataStream(self:getID(), s)
  132. end
  133.  
  134. function Result:next()
  135. if(self:getID() == -1) then
  136. error("[Result:next] Result not set!")
  137. end
  138.  
  139. return result.next(self:getID())
  140. end
  141.  
  142. function Result:free()
  143. if(self:getID() == -1) then
  144. error("[Result:free] Result not set!")
  145. end
  146.  
  147. self:setQuery("")
  148. local ret = result.free(self:getID())
  149. self:setID(-1)
  150. return ret
  151. end
  152.  
  153. Result.numRows = Result.getRows
  154. function db.getResult(query)
  155. if(type(query) ~= 'string') then
  156. return nil
  157. end
  158.  
  159. local ret = Result:new()
  160. ret:create(query)
  161. return ret
  162. end
Add Comment
Please, Sign In to add comment