motion-yapper 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -2
  3. data/.travis.yml +2 -0
  4. data/Gemfile +1 -0
  5. data/README.md +1 -1
  6. data/Rakefile +1 -1
  7. data/lib/motion-yapper.rb +1 -0
  8. data/lib/yapper.rb +3 -5
  9. data/lib/yapper/config.rb +2 -0
  10. data/lib/yapper/db.rb +105 -40
  11. data/lib/yapper/document.rb +7 -4
  12. data/lib/yapper/document/callbacks.rb +0 -7
  13. data/lib/yapper/document/{persistance.rb → persistence.rb} +27 -21
  14. data/lib/yapper/document/relation.rb +29 -22
  15. data/lib/yapper/document/selection.rb +122 -54
  16. data/lib/yapper/extensions.rb +12 -24
  17. data/lib/yapper/settings.rb +43 -0
  18. data/lib/yapper/timestamps.rb +2 -0
  19. data/lib/yapper/version.rb +1 -1
  20. data/{yapper.gemspec → motion-yapper.gemspec} +0 -0
  21. data/spec/integration/{where_spec.rb → criteria_spec.rb} +78 -10
  22. data/spec/integration/db_spec.rb +70 -0
  23. data/spec/integration/defaults_spec.rb +37 -0
  24. data/spec/integration/extensions_spec.rb +14 -0
  25. data/spec/integration/{persistance_spec.rb → persistence_spec.rb} +0 -0
  26. data/spec/integration/relation_spec.rb +4 -4
  27. data/vendor/Podfile.lock +9 -11
  28. data/vendor/Pods/.build/libPods-CocoaLumberjack.a +0 -0
  29. data/vendor/Pods/.build/libPods-NSData+MD5Digest.a +0 -0
  30. data/vendor/Pods/.build/libPods-YapDatabase.a +0 -0
  31. data/vendor/Pods/.build/libPods.a +0 -0
  32. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDASLLogger.h +4 -4
  33. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDAbstractDatabaseLogger.h +14 -14
  34. data/vendor/Pods/{CocoaLumberjack/Lumberjack/Extensions/ContextFilterLogFormatter.h → BuildHeaders/CocoaLumberjack/DDContextFilterLogFormatter.h} +6 -8
  35. data/vendor/Pods/BuildHeaders/CocoaLumberjack/{DispatchQueueLogFormatter.h → DDDispatchQueueLogFormatter.h} +18 -6
  36. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDFileLogger.h +67 -32
  37. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDLog+LOGV.h +99 -0
  38. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDLog.h +98 -65
  39. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDMultiFormatter.h +30 -0
  40. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDTTYLogger.h +39 -25
  41. data/vendor/Pods/BuildHeaders/YapDatabase/NSDictionary+YapDatabase.h +8 -0
  42. data/vendor/Pods/BuildHeaders/YapDatabase/YapCache.h +1 -0
  43. data/vendor/Pods/BuildHeaders/YapDatabase/YapCollectionKey.h +3 -0
  44. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabase.h +4 -4
  45. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseConnection.h +21 -19
  46. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseDefaults.h +1 -1
  47. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtensionPrivate.h +35 -31
  48. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredView.h +8 -35
  49. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewPrivate.h +0 -2
  50. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewTransaction.h +17 -17
  51. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewTypes.h +32 -0
  52. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchPrivate.h +8 -0
  53. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabasePrivate.h +43 -21
  54. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationship.h +35 -0
  55. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipConnection.h +29 -0
  56. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipEdge.h +163 -0
  57. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipEdgePrivate.h +79 -0
  58. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipNode.h +99 -0
  59. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipOptions.h +59 -0
  60. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipPrivate.h +125 -0
  61. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseRelationshipTransaction.h +384 -0
  62. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndex.h +49 -0
  63. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexPrivate.h +10 -0
  64. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexSetupPrivate.h +18 -0
  65. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseTransaction.h +131 -21
  66. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseView.h +48 -107
  67. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewChange.h +2 -2
  68. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewConnection.h +1 -0
  69. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewMappings.h +17 -0
  70. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewOptions.h +10 -3
  71. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewPrivate.h +18 -1
  72. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewTransaction.h +75 -24
  73. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewTypes.h +99 -0
  74. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDASLLogger.h +4 -4
  75. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDASLLogger.m +51 -50
  76. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDAbstractDatabaseLogger.h +14 -14
  77. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDAbstractDatabaseLogger.m +546 -546
  78. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDFileLogger.h +67 -32
  79. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDFileLogger.m +1093 -907
  80. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog+LOGV.h +99 -0
  81. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog.h +98 -65
  82. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog.m +873 -748
  83. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDTTYLogger.h +39 -25
  84. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDTTYLogger.m +1284 -1243
  85. data/vendor/Pods/{BuildHeaders/CocoaLumberjack/ContextFilterLogFormatter.h → CocoaLumberjack/Lumberjack/Extensions/DDContextFilterLogFormatter.h} +6 -8
  86. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/{ContextFilterLogFormatter.m → DDContextFilterLogFormatter.m} +70 -70
  87. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/{DispatchQueueLogFormatter.h → DDDispatchQueueLogFormatter.h} +18 -6
  88. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDDispatchQueueLogFormatter.m +253 -0
  89. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDMultiFormatter.h +30 -0
  90. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DDMultiFormatter.m +127 -0
  91. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/README.txt +1 -1
  92. data/vendor/Pods/CocoaLumberjack/README.markdown +52 -15
  93. data/vendor/Pods/Headers/CocoaLumberjack/DDASLLogger.h +4 -4
  94. data/vendor/Pods/Headers/CocoaLumberjack/DDAbstractDatabaseLogger.h +14 -14
  95. data/vendor/Pods/Headers/CocoaLumberjack/{ContextFilterLogFormatter.h → DDContextFilterLogFormatter.h} +6 -8
  96. data/vendor/Pods/Headers/CocoaLumberjack/{DispatchQueueLogFormatter.h → DDDispatchQueueLogFormatter.h} +18 -6
  97. data/vendor/Pods/Headers/CocoaLumberjack/DDFileLogger.h +67 -32
  98. data/vendor/Pods/Headers/CocoaLumberjack/DDLog+LOGV.h +99 -0
  99. data/vendor/Pods/Headers/CocoaLumberjack/DDLog.h +98 -65
  100. data/vendor/Pods/Headers/CocoaLumberjack/DDMultiFormatter.h +30 -0
  101. data/vendor/Pods/Headers/CocoaLumberjack/DDTTYLogger.h +39 -25
  102. data/vendor/Pods/Headers/YapDatabase/YapCollectionKey.h +3 -0
  103. data/vendor/Pods/Headers/YapDatabase/YapDatabase.h +4 -4
  104. data/vendor/Pods/Headers/YapDatabase/YapDatabaseConnection.h +21 -19
  105. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredView.h +8 -35
  106. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewTransaction.h +17 -17
  107. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewTypes.h +32 -0
  108. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationship.h +35 -0
  109. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipConnection.h +29 -0
  110. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipEdge.h +163 -0
  111. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipNode.h +99 -0
  112. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipOptions.h +59 -0
  113. data/vendor/Pods/Headers/YapDatabase/YapDatabaseRelationshipTransaction.h +384 -0
  114. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndex.h +49 -0
  115. data/vendor/Pods/Headers/YapDatabase/YapDatabaseTransaction.h +131 -21
  116. data/vendor/Pods/Headers/YapDatabase/YapDatabaseView.h +48 -107
  117. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewChange.h +2 -2
  118. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewConnection.h +1 -0
  119. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewMappings.h +17 -0
  120. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewOptions.h +10 -3
  121. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewTransaction.h +75 -24
  122. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewTypes.h +99 -0
  123. data/vendor/Pods/Headers/____Pods-CocoaLumberjack-prefix.h +2 -0
  124. data/vendor/Pods/Headers/____Pods-environment.h +15 -15
  125. data/vendor/Pods/Manifest.lock +9 -11
  126. data/vendor/Pods/Pods-CocoaLumberjack-Private.xcconfig +1 -1
  127. data/vendor/Pods/Pods-CocoaLumberjack-prefix.pch +2 -0
  128. data/vendor/Pods/Pods-NSData+MD5Digest-Private.xcconfig +1 -1
  129. data/vendor/Pods/Pods-YapDatabase-Private.xcconfig +1 -1
  130. data/vendor/Pods/{Pods-Acknowledgements.markdown → Pods-acknowledgements.markdown} +0 -37
  131. data/vendor/Pods/{Pods-Acknowledgements.plist → Pods-acknowledgements.plist} +0 -45
  132. data/vendor/Pods/Pods-environment.h +15 -15
  133. data/vendor/Pods/Pods.xcconfig +3 -3
  134. data/vendor/Pods/Pods.xcodeproj/project.pbxproj +2426 -3155
  135. data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods-CocoaLumberjack.xcscheme +59 -0
  136. data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods-NSData+MD5Digest.xcscheme +59 -0
  137. data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods-YapDatabase.xcscheme +59 -0
  138. data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/Pods.xcscheme +59 -0
  139. data/vendor/Pods/Pods.xcodeproj/xcuserdata/kareemk.xcuserdatad/xcschemes/xcschememanagement.plist +31 -0
  140. data/vendor/Pods/YapDatabase/README.md +3 -1
  141. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/Internal/YapDatabaseFilteredViewPrivate.h +0 -2
  142. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.h +8 -35
  143. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.m +25 -41
  144. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.h +17 -17
  145. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.m +403 -134
  146. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTypes.h +32 -0
  147. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/Internal/YapDatabaseFullTextSearchPrivate.h +8 -0
  148. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.m +8 -8
  149. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.m +113 -62
  150. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/Internal/YapDatabaseExtensionPrivate.h +35 -31
  151. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtension.m +25 -0
  152. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.m +1 -1
  153. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.m +25 -1
  154. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipEdgePrivate.h +79 -0
  155. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/Internal/YapDatabaseRelationshipPrivate.h +125 -0
  156. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationship.h +35 -0
  157. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationship.m +129 -0
  158. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.h +29 -0
  159. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipConnection.m +802 -0
  160. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.h +163 -0
  161. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipEdge.m +408 -0
  162. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipNode.h +99 -0
  163. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.h +59 -0
  164. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipOptions.m +29 -0
  165. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.h +384 -0
  166. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Relationships/YapDatabaseRelationshipTransaction.m +5254 -0
  167. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/Internal/YapDatabaseSecondaryIndexPrivate.h +10 -0
  168. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/Internal/YapDatabaseSecondaryIndexSetupPrivate.h +18 -0
  169. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.h +49 -0
  170. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.m +12 -0
  171. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.m +9 -8
  172. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.m +62 -1
  173. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.m +148 -45
  174. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPrivate.h +18 -1
  175. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.h +2 -2
  176. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.m +15 -9
  177. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.h +17 -0
  178. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.m +211 -64
  179. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.h +48 -107
  180. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.m +10 -7
  181. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.h +1 -0
  182. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.m +13 -22
  183. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewOptions.h +10 -3
  184. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.h +75 -24
  185. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.m +725 -244
  186. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTypes.h +99 -0
  187. data/vendor/Pods/YapDatabase/YapDatabase/Internal/NSDictionary+YapDatabase.h +8 -0
  188. data/vendor/Pods/YapDatabase/YapDatabase/Internal/NSDictionary+YapDatabase.m +19 -0
  189. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapCache.h +1 -0
  190. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapCache.m +12 -0
  191. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseDefaults.h +1 -1
  192. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseDefaults.m +3 -3
  193. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabasePrivate.h +43 -21
  194. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapNull.m +4 -0
  195. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.h +3 -0
  196. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.m +5 -0
  197. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabase.h +4 -4
  198. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabase.m +84 -93
  199. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseConnection.h +21 -19
  200. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseConnection.m +381 -209
  201. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.h +131 -21
  202. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.m +587 -267
  203. data/vendor/Pods/{Pods.bridgesupport → build-iPhoneSimulator/Pods.bridgesupport} +633 -2557
  204. data/vendor/Pods/build-iPhoneSimulator/libPods.a +0 -0
  205. data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.bridgesupport +2 -1
  206. data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.h +2 -1
  207. data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.m +4 -2
  208. metadata +80 -108
  209. data/Gemfile.lock +0 -63
  210. data/lib/yapper/attachment.rb +0 -48
  211. data/lib/yapper/document/attachment.rb +0 -26
  212. data/lib/yapper/sync.rb +0 -134
  213. data/lib/yapper/sync/data.rb +0 -12
  214. data/lib/yapper/sync/event.rb +0 -194
  215. data/lib/yapper/sync/queue.rb +0 -164
  216. data/spec/integration/all_spec.rb +0 -40
  217. data/spec/integration/sync_spec.rb +0 -42
  218. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPClient.h +0 -641
  219. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPClient.m +0 -1396
  220. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.h +0 -133
  221. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.m +0 -327
  222. data/vendor/Pods/AFNetworking/AFNetworking/AFImageRequestOperation.h +0 -113
  223. data/vendor/Pods/AFNetworking/AFNetworking/AFImageRequestOperation.m +0 -321
  224. data/vendor/Pods/AFNetworking/AFNetworking/AFJSONRequestOperation.h +0 -71
  225. data/vendor/Pods/AFNetworking/AFNetworking/AFJSONRequestOperation.m +0 -150
  226. data/vendor/Pods/AFNetworking/AFNetworking/AFNetworkActivityIndicatorManager.h +0 -75
  227. data/vendor/Pods/AFNetworking/AFNetworking/AFNetworkActivityIndicatorManager.m +0 -157
  228. data/vendor/Pods/AFNetworking/AFNetworking/AFNetworking.h +0 -43
  229. data/vendor/Pods/AFNetworking/AFNetworking/AFPropertyListRequestOperation.h +0 -68
  230. data/vendor/Pods/AFNetworking/AFNetworking/AFPropertyListRequestOperation.m +0 -143
  231. data/vendor/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.h +0 -370
  232. data/vendor/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.m +0 -848
  233. data/vendor/Pods/AFNetworking/AFNetworking/AFXMLRequestOperation.h +0 -89
  234. data/vendor/Pods/AFNetworking/AFNetworking/AFXMLRequestOperation.m +0 -167
  235. data/vendor/Pods/AFNetworking/AFNetworking/UIImageView+AFNetworking.h +0 -78
  236. data/vendor/Pods/AFNetworking/AFNetworking/UIImageView+AFNetworking.m +0 -191
  237. data/vendor/Pods/AFNetworking/LICENSE +0 -19
  238. data/vendor/Pods/AFNetworking/README.md +0 -208
  239. data/vendor/Pods/BuildHeaders/AFNetworking/AFHTTPClient.h +0 -641
  240. data/vendor/Pods/BuildHeaders/AFNetworking/AFHTTPRequestOperation.h +0 -133
  241. data/vendor/Pods/BuildHeaders/AFNetworking/AFImageRequestOperation.h +0 -113
  242. data/vendor/Pods/BuildHeaders/AFNetworking/AFJSONRequestOperation.h +0 -71
  243. data/vendor/Pods/BuildHeaders/AFNetworking/AFNetworkActivityIndicatorManager.h +0 -75
  244. data/vendor/Pods/BuildHeaders/AFNetworking/AFNetworking.h +0 -43
  245. data/vendor/Pods/BuildHeaders/AFNetworking/AFPropertyListRequestOperation.h +0 -68
  246. data/vendor/Pods/BuildHeaders/AFNetworking/AFURLConnectionOperation.h +0 -370
  247. data/vendor/Pods/BuildHeaders/AFNetworking/AFXMLRequestOperation.h +0 -89
  248. data/vendor/Pods/BuildHeaders/AFNetworking/UIImageView+AFNetworking.h +0 -78
  249. data/vendor/Pods/BuildHeaders/Reachability/Reachability.h +0 -109
  250. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DispatchQueueLogFormatter.m +0 -251
  251. data/vendor/Pods/Headers/AFNetworking/AFHTTPClient.h +0 -641
  252. data/vendor/Pods/Headers/AFNetworking/AFHTTPRequestOperation.h +0 -133
  253. data/vendor/Pods/Headers/AFNetworking/AFImageRequestOperation.h +0 -113
  254. data/vendor/Pods/Headers/AFNetworking/AFJSONRequestOperation.h +0 -71
  255. data/vendor/Pods/Headers/AFNetworking/AFNetworkActivityIndicatorManager.h +0 -75
  256. data/vendor/Pods/Headers/AFNetworking/AFNetworking.h +0 -43
  257. data/vendor/Pods/Headers/AFNetworking/AFPropertyListRequestOperation.h +0 -68
  258. data/vendor/Pods/Headers/AFNetworking/AFURLConnectionOperation.h +0 -370
  259. data/vendor/Pods/Headers/AFNetworking/AFXMLRequestOperation.h +0 -89
  260. data/vendor/Pods/Headers/AFNetworking/UIImageView+AFNetworking.h +0 -78
  261. data/vendor/Pods/Headers/Reachability/Reachability.h +0 -109
  262. data/vendor/Pods/Headers/YapDatabase/YapCache.h +0 -90
  263. data/vendor/Pods/Headers/YapDatabase/YapDatabaseConnectionState.h +0 -29
  264. data/vendor/Pods/Headers/YapDatabase/YapDatabaseDefaults.h +0 -37
  265. data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtensionPrivate.h +0 -440
  266. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewPrivate.h +0 -19
  267. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchPrivate.h +0 -69
  268. data/vendor/Pods/Headers/YapDatabase/YapDatabaseLogging.h +0 -158
  269. data/vendor/Pods/Headers/YapDatabase/YapDatabaseManager.h +0 -17
  270. data/vendor/Pods/Headers/YapDatabase/YapDatabasePrivate.h +0 -424
  271. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexPrivate.h +0 -73
  272. data/vendor/Pods/Headers/YapDatabase/YapDatabaseStatement.h +0 -13
  273. data/vendor/Pods/Headers/YapDatabase/YapDatabaseString.h +0 -121
  274. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewChangePrivate.h +0 -94
  275. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewMappingsPrivate.h +0 -72
  276. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewPage.h +0 -36
  277. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewPageMetadata.h +0 -27
  278. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewPrivate.h +0 -153
  279. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewRangeOptionsPrivate.h +0 -17
  280. data/vendor/Pods/Headers/YapDatabase/YapMemoryTable.h +0 -74
  281. data/vendor/Pods/Headers/YapDatabase/YapNull.h +0 -17
  282. data/vendor/Pods/Headers/YapDatabase/YapTouch.h +0 -15
  283. data/vendor/Pods/Headers/____Pods-AFNetworking-prefix.h +0 -17
  284. data/vendor/Pods/Headers/____Pods-Reachability-prefix.h +0 -5
  285. data/vendor/Pods/Pods-AFNetworking-Private.xcconfig +0 -5
  286. data/vendor/Pods/Pods-AFNetworking-dummy.m +0 -5
  287. data/vendor/Pods/Pods-AFNetworking-prefix.pch +0 -17
  288. data/vendor/Pods/Pods-AFNetworking.xcconfig +0 -1
  289. data/vendor/Pods/Pods-Reachability-Private.xcconfig +0 -5
  290. data/vendor/Pods/Pods-Reachability-dummy.m +0 -5
  291. data/vendor/Pods/Pods-Reachability-prefix.pch +0 -5
  292. data/vendor/Pods/Pods-Reachability.xcconfig +0 -1
  293. data/vendor/Pods/Reachability/LICENCE.txt +0 -24
  294. data/vendor/Pods/Reachability/README.md +0 -65
  295. data/vendor/Pods/Reachability/Reachability.h +0 -109
  296. data/vendor/Pods/Reachability/Reachability.m +0 -527
@@ -0,0 +1,29 @@
1
+ #import <Foundation/Foundation.h>
2
+ #import "YapDatabaseExtensionConnection.h"
3
+
4
+ @class YapDatabaseRelationship;
5
+
6
+ /**
7
+ * Welcome to YapDatabase!
8
+ *
9
+ * The project page has a wealth of documentation if you have any questions.
10
+ * https://github.com/yaptv/YapDatabase
11
+ *
12
+ * If you're new to the project you may want to visit the wiki.
13
+ * https://github.com/yaptv/YapDatabase/wiki
14
+ *
15
+ * The YapDatabaseRelationship extension allow you to create relationships between objects,
16
+ * and configure automatic deletion rules.
17
+ *
18
+ * For tons of information about this extension, see the wiki article:
19
+ * https://github.com/yaptv/YapDatabase/wiki/Relationships
20
+ **/
21
+
22
+ @interface YapDatabaseRelationshipConnection : YapDatabaseExtensionConnection
23
+
24
+ /**
25
+ * Returns the parent view instance.
26
+ **/
27
+ @property (nonatomic, strong, readonly) YapDatabaseRelationship *relationship;
28
+
29
+ @end
@@ -0,0 +1,802 @@
1
+ #import "YapDatabaseRelationshipConnection.h"
2
+ #import "YapDatabaseRelationshipPrivate.h"
3
+ #import "YapDatabaseExtensionPrivate.h"
4
+ #import "YapDatabasePrivate.h"
5
+ #import "YapCollectionKey.h"
6
+ #import "YapDatabaseString.h"
7
+ #import "YapDatabaseLogging.h"
8
+
9
+ #if ! __has_feature(objc_arc)
10
+ #warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).
11
+ #endif
12
+
13
+ /**
14
+ * Define log level for this file: OFF, ERROR, WARN, INFO, VERBOSE
15
+ * See YapDatabaseLogging.h for more information.
16
+ **/
17
+ #if DEBUG
18
+ static const int ydbLogLevel = YDB_LOG_LEVEL_WARN;
19
+ #else
20
+ static const int ydbLogLevel = YDB_LOG_LEVEL_WARN;
21
+ #endif
22
+
23
+
24
+ @implementation YapDatabaseRelationshipConnection
25
+ {
26
+ sqlite3_stmt *findManualEdgeStatement;
27
+ sqlite3_stmt *insertEdgeStatement;
28
+ sqlite3_stmt *updateEdgeStatement;
29
+ sqlite3_stmt *deleteEdgeStatement;
30
+ sqlite3_stmt *deleteEdgesWithNodeStatement;
31
+ sqlite3_stmt *enumerateAllDstFilePathStatement;
32
+ sqlite3_stmt *enumerateForSrcStatement;
33
+ sqlite3_stmt *enumerateForDstStatement;
34
+ sqlite3_stmt *enumerateForSrcNameStatement;
35
+ sqlite3_stmt *enumerateForDstNameStatement;
36
+ sqlite3_stmt *enumerateForNameStatement;
37
+ sqlite3_stmt *enumerateForSrcDstStatement;
38
+ sqlite3_stmt *enumerateForSrcDstNameStatement;
39
+ sqlite3_stmt *countForSrcNameExcludingDstStatement;
40
+ sqlite3_stmt *countForDstNameExcludingSrcStatement;
41
+ sqlite3_stmt *countForNameStatement;
42
+ sqlite3_stmt *countForSrcStatement;
43
+ sqlite3_stmt *countForSrcNameStatement;
44
+ sqlite3_stmt *countForDstStatement;
45
+ sqlite3_stmt *countForDstNameStatement;
46
+ sqlite3_stmt *countForSrcDstStatement;
47
+ sqlite3_stmt *countForSrcDstNameStatement;
48
+ sqlite3_stmt *removeAllStatement;
49
+ sqlite3_stmt *removeAllProtocolStatement;
50
+ }
51
+
52
+ @synthesize relationship = relationship;
53
+
54
+ - (id)initWithRelationship:(YapDatabaseRelationship *)inRelationship databaseConnection:(YapDatabaseConnection *)inDbC
55
+ {
56
+ if ((self = [super init]))
57
+ {
58
+ relationship = inRelationship;
59
+ databaseConnection = inDbC;
60
+ }
61
+ return self;
62
+ }
63
+
64
+ - (void)dealloc
65
+ {
66
+ [self _flushStatements];
67
+ }
68
+
69
+ - (void)_flushStatements
70
+ {
71
+ sqlite_finalize_null(&findManualEdgeStatement);
72
+ sqlite_finalize_null(&insertEdgeStatement);
73
+ sqlite_finalize_null(&updateEdgeStatement);
74
+ sqlite_finalize_null(&deleteEdgeStatement);
75
+ sqlite_finalize_null(&deleteEdgesWithNodeStatement);
76
+ sqlite_finalize_null(&enumerateAllDstFilePathStatement);
77
+ sqlite_finalize_null(&enumerateForSrcStatement);
78
+ sqlite_finalize_null(&enumerateForDstStatement);
79
+ sqlite_finalize_null(&enumerateForSrcNameStatement);
80
+ sqlite_finalize_null(&enumerateForDstNameStatement);
81
+ sqlite_finalize_null(&enumerateForNameStatement);
82
+ sqlite_finalize_null(&enumerateForSrcDstStatement);
83
+ sqlite_finalize_null(&enumerateForSrcDstNameStatement);
84
+ sqlite_finalize_null(&countForSrcNameExcludingDstStatement);
85
+ sqlite_finalize_null(&countForDstNameExcludingSrcStatement);
86
+ sqlite_finalize_null(&countForNameStatement);
87
+ sqlite_finalize_null(&countForSrcStatement);
88
+ sqlite_finalize_null(&countForSrcNameStatement);
89
+ sqlite_finalize_null(&countForDstStatement);
90
+ sqlite_finalize_null(&countForDstNameStatement);
91
+ sqlite_finalize_null(&countForSrcDstStatement);
92
+ sqlite_finalize_null(&countForSrcDstNameStatement);
93
+ sqlite_finalize_null(&removeAllStatement);
94
+ sqlite_finalize_null(&removeAllProtocolStatement);
95
+ }
96
+
97
+ /**
98
+ * Required override method from YapDatabaseExtensionConnection
99
+ **/
100
+ - (void)_flushMemoryWithFlags:(YapDatabaseConnectionFlushMemoryFlags)flags
101
+ {
102
+ if (flags & YapDatabaseConnectionFlushMemoryFlags_Statements)
103
+ {
104
+ [self _flushStatements];
105
+ }
106
+ }
107
+
108
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
109
+ #pragma mark Accessors
110
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
111
+
112
+ /**
113
+ * Required override method from YapDatabaseExtensionConnection.
114
+ **/
115
+ - (YapDatabaseExtension *)extension
116
+ {
117
+ return relationship;
118
+ }
119
+
120
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
121
+ #pragma mark Transactions
122
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
123
+
124
+ /**
125
+ * Required override method from YapDatabaseExtensionConnection.
126
+ **/
127
+ - (id)newReadTransaction:(YapDatabaseReadTransaction *)databaseTransaction
128
+ {
129
+ YapDatabaseRelationshipTransaction *transaction =
130
+ [[YapDatabaseRelationshipTransaction alloc] initWithRelationshipConnection:self
131
+ databaseTransaction:databaseTransaction];
132
+
133
+ return transaction;
134
+ }
135
+
136
+ /**
137
+ * Required override method from YapDatabaseExtensionConnection.
138
+ **/
139
+ - (id)newReadWriteTransaction:(YapDatabaseReadWriteTransaction *)databaseTransaction
140
+ {
141
+ YapDatabaseRelationshipTransaction *transaction =
142
+ [[YapDatabaseRelationshipTransaction alloc] initWithRelationshipConnection:self
143
+ databaseTransaction:databaseTransaction];
144
+
145
+ [self prepareForReadWriteTransaction];
146
+ return transaction;
147
+ }
148
+
149
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
150
+ #pragma mark Changeset
151
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
152
+
153
+ /**
154
+ * Initializes any ivars that a read-write transaction may need.
155
+ **/
156
+ - (void)prepareForReadWriteTransaction
157
+ {
158
+ if (protocolChanges == nil)
159
+ protocolChanges = [[NSMutableDictionary alloc] init];
160
+ if (manualChanges == nil)
161
+ manualChanges = [[NSMutableDictionary alloc] init];
162
+ if (inserted == nil)
163
+ inserted = [[NSMutableSet alloc] init];
164
+ if (deletedOrder == nil)
165
+ deletedOrder = [[NSMutableArray alloc] init];
166
+ if (deletedInfo == nil)
167
+ deletedInfo = [[NSMutableDictionary alloc] init];
168
+ if (filesToDelete == nil)
169
+ filesToDelete = [[NSMutableSet alloc] init];
170
+ }
171
+
172
+ /**
173
+ * Invoked by our YapDatabaseViewTransaction at the completion of the commitTransaction method.
174
+ **/
175
+ - (void)postCommitCleanup
176
+ {
177
+ YDBLogAutoTrace();
178
+
179
+ [protocolChanges removeAllObjects];
180
+ [manualChanges removeAllObjects];
181
+ [inserted removeAllObjects];
182
+ [deletedOrder removeAllObjects];
183
+ [deletedInfo removeAllObjects];
184
+
185
+ // By nil'ing this out (instead of removing all objects)
186
+ // we can avoid a copy of this object.
187
+ if ([filesToDelete count] > 0)
188
+ filesToDelete = nil;
189
+ }
190
+
191
+ /**
192
+ * Invoked by our YapDatabaseViewTransaction at the completion of the rollbackTransaction method.
193
+ **/
194
+ - (void)postRollbackCleanup
195
+ {
196
+ YDBLogAutoTrace();
197
+
198
+ [protocolChanges removeAllObjects];
199
+ [manualChanges removeAllObjects];
200
+ [inserted removeAllObjects];
201
+ [deletedOrder removeAllObjects];
202
+ [deletedInfo removeAllObjects];
203
+ [filesToDelete removeAllObjects];
204
+ }
205
+
206
+ - (void)getInternalChangeset:(NSMutableDictionary **)internalChangesetPtr
207
+ externalChangeset:(NSMutableDictionary **)externalChangesetPtr
208
+ hasDiskChanges:(BOOL *)hasDiskChangesPtr
209
+ {
210
+ YDBLogAutoTrace();
211
+
212
+ NSMutableDictionary *internalChangeset = nil;
213
+ NSMutableDictionary *externalChangeset = nil;
214
+ BOOL hasDiskChanges = NO;
215
+
216
+ // In the future we may want to store a changeset that specifies which edges were added & removed.
217
+
218
+ *internalChangesetPtr = internalChangeset;
219
+ *externalChangesetPtr = externalChangeset;
220
+ *hasDiskChangesPtr = hasDiskChanges;
221
+ }
222
+
223
+ - (void)processChangeset:(NSDictionary *)changeset
224
+ {
225
+ // Nothing to do here.
226
+ // This method is required to be overriden by YapDatabaseExtensionConnection.
227
+ }
228
+
229
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
230
+ #pragma mark Statements
231
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
232
+
233
+ - (sqlite3_stmt *)findManualEdgeStatement
234
+ {
235
+ if (findManualEdgeStatement == NULL)
236
+ {
237
+ NSString *tableName = [relationship tableName];
238
+
239
+ NSString *string = [NSString stringWithFormat:
240
+ @"SELECT \"rowid\", \"rules\" FROM \"%@\" "
241
+ @" WHERE \"src\" = ? AND \"dst\" = ? AND \"name\" = ? AND \"manual\" = 1 LIMIT 1;",
242
+ tableName];
243
+
244
+ sqlite3 *db = databaseConnection->db;
245
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
246
+
247
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &findManualEdgeStatement, NULL);
248
+ if (status != SQLITE_OK)
249
+ {
250
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
251
+ }
252
+
253
+ FreeYapDatabaseString(&stmt);
254
+ }
255
+
256
+ return findManualEdgeStatement;
257
+ }
258
+
259
+ - (sqlite3_stmt *)insertEdgeStatement
260
+ {
261
+ if (insertEdgeStatement == NULL)
262
+ {
263
+ NSString *string = [NSString stringWithFormat:
264
+ @"INSERT INTO \"%@\" (\"name\", \"src\", \"dst\", \"rules\", \"manual\") VALUES (?, ?, ?, ?, ?);",
265
+ [relationship tableName]];
266
+
267
+ sqlite3 *db = databaseConnection->db;
268
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
269
+
270
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &insertEdgeStatement, NULL);
271
+ if (status != SQLITE_OK)
272
+ {
273
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
274
+ }
275
+
276
+ FreeYapDatabaseString(&stmt);
277
+ }
278
+
279
+ return insertEdgeStatement;
280
+ }
281
+
282
+ - (sqlite3_stmt *)updateEdgeStatement
283
+ {
284
+ if (updateEdgeStatement == NULL)
285
+ {
286
+ NSString *string = [NSString stringWithFormat:
287
+ @"UPDATE \"%@\" SET \"rules\" = ? WHERE \"rowid\" = ?;", [relationship tableName]];
288
+
289
+ sqlite3 *db = databaseConnection->db;
290
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
291
+
292
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &updateEdgeStatement, NULL);
293
+ if (status != SQLITE_OK)
294
+ {
295
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
296
+ }
297
+
298
+ FreeYapDatabaseString(&stmt);
299
+ }
300
+
301
+ return updateEdgeStatement;
302
+ }
303
+
304
+ - (sqlite3_stmt *)deleteEdgeStatement
305
+ {
306
+ if (deleteEdgeStatement == NULL)
307
+ {
308
+ NSString *string = [NSString stringWithFormat:
309
+ @"DELETE FROM \"%@\" WHERE \"rowid\" = ?;", [relationship tableName]];
310
+
311
+ sqlite3 *db = databaseConnection->db;
312
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
313
+
314
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &deleteEdgeStatement, NULL);
315
+ if (status != SQLITE_OK)
316
+ {
317
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
318
+ }
319
+
320
+ FreeYapDatabaseString(&stmt);
321
+ }
322
+
323
+ return deleteEdgeStatement;
324
+ }
325
+
326
+ - (sqlite3_stmt *)deleteEdgesWithNodeStatement
327
+ {
328
+ if (deleteEdgesWithNodeStatement == NULL)
329
+ {
330
+ NSString *string = [NSString stringWithFormat:
331
+ @"DELETE FROM \"%@\" WHERE \"src\" = ? OR \"dst\" = ?;", [relationship tableName]];
332
+
333
+ sqlite3 *db = databaseConnection->db;
334
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
335
+
336
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &deleteEdgesWithNodeStatement, NULL);
337
+ if (status != SQLITE_OK)
338
+ {
339
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
340
+ }
341
+
342
+ FreeYapDatabaseString(&stmt);
343
+ }
344
+
345
+ return deleteEdgesWithNodeStatement;
346
+ }
347
+
348
+ - (sqlite3_stmt *)enumerateAllDstFilePathStatement
349
+ {
350
+ if (enumerateAllDstFilePathStatement == NULL)
351
+ {
352
+ // The 'dst' column stores both integers and text.
353
+ // If the edge has a destination key & column, then the 'dst' affinity of row is integer (rowid of dst).
354
+ // If the edge has a destinationFilePath, the the 'dst' affinity of row is text.
355
+ //
356
+ // We've set the affinity of the 'dst' column to be none.
357
+ // Which means that we can easily find all 'dst' rows with text affinity by searching for those rows
358
+ // where: 'dst' > INT64_MAX
359
+ //
360
+ // This is because TEXT is always greater than INTEGER
361
+ //
362
+ // For more information, see the documentation: http://www.sqlite.org/datatype3.html
363
+
364
+ NSString *string = [NSString stringWithFormat:
365
+ @"SELECT \"dst\" FROM \"%@\" WHERE \"dst\" > ?;",
366
+ [relationship tableName]];
367
+
368
+ sqlite3 *db = databaseConnection->db;
369
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
370
+
371
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &enumerateAllDstFilePathStatement, NULL);
372
+ if (status != SQLITE_OK)
373
+ {
374
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
375
+ }
376
+
377
+ FreeYapDatabaseString(&stmt);
378
+ }
379
+
380
+ if (enumerateAllDstFilePathStatement)
381
+ {
382
+ // We do this outside of the if statement above
383
+ // just in case we accidentally call sqlite3_clear_bindings.
384
+
385
+ sqlite3_bind_int64(enumerateAllDstFilePathStatement, 1, INT64_MAX);
386
+ }
387
+
388
+ return enumerateAllDstFilePathStatement;
389
+ }
390
+
391
+ - (sqlite3_stmt *)enumerateForSrcStatement
392
+ {
393
+ if (enumerateForSrcStatement == NULL)
394
+ {
395
+ NSString *string = [NSString stringWithFormat:
396
+ @"SELECT \"rowid\", \"name\", \"dst\", \"rules\", \"manual\" FROM \"%@\" WHERE \"src\" = ?;",
397
+ [relationship tableName]];
398
+
399
+ sqlite3 *db = databaseConnection->db;
400
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
401
+
402
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &enumerateForSrcStatement, NULL);
403
+ if (status != SQLITE_OK)
404
+ {
405
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
406
+ }
407
+
408
+ FreeYapDatabaseString(&stmt);
409
+ }
410
+
411
+ return enumerateForSrcStatement;
412
+ }
413
+
414
+ - (sqlite3_stmt *)enumerateForDstStatement
415
+ {
416
+ if (enumerateForDstStatement == NULL)
417
+ {
418
+ NSString *string = [NSString stringWithFormat:
419
+ @"SELECT \"rowid\", \"name\", \"src\", \"rules\", \"manual\" FROM \"%@\" WHERE \"dst\" = ?;",
420
+ [relationship tableName]];
421
+
422
+ sqlite3 *db = databaseConnection->db;
423
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
424
+
425
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &enumerateForDstStatement, NULL);
426
+ if (status != SQLITE_OK)
427
+ {
428
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
429
+ }
430
+
431
+ FreeYapDatabaseString(&stmt);
432
+ }
433
+
434
+ return enumerateForDstStatement;
435
+ }
436
+
437
+ - (sqlite3_stmt *)enumerateForSrcNameStatement
438
+ {
439
+ if (enumerateForSrcNameStatement == NULL)
440
+ {
441
+ NSString *string = [NSString stringWithFormat:
442
+ @"SELECT \"rowid\", \"dst\", \"rules\", \"manual\" FROM \"%@\" WHERE \"src\" = ? AND \"name\" = ?;",
443
+ [relationship tableName]];
444
+
445
+ sqlite3 *db = databaseConnection->db;
446
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
447
+
448
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &enumerateForSrcNameStatement, NULL);
449
+ if (status != SQLITE_OK)
450
+ {
451
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
452
+ }
453
+
454
+ FreeYapDatabaseString(&stmt);
455
+ }
456
+
457
+ return enumerateForSrcNameStatement;
458
+ }
459
+
460
+ - (sqlite3_stmt *)enumerateForDstNameStatement
461
+ {
462
+ if (enumerateForDstNameStatement == NULL)
463
+ {
464
+ NSString *string = [NSString stringWithFormat:
465
+ @"SELECT \"rowid\", \"src\", \"rules\", \"manual\" FROM \"%@\" WHERE \"dst\" = ? AND \"name\" = ?;",
466
+ [relationship tableName]];
467
+
468
+ sqlite3 *db = databaseConnection->db;
469
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
470
+
471
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &enumerateForDstNameStatement, NULL);
472
+ if (status != SQLITE_OK)
473
+ {
474
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
475
+ }
476
+
477
+ FreeYapDatabaseString(&stmt);
478
+ }
479
+
480
+ return enumerateForDstNameStatement;
481
+ }
482
+
483
+ - (sqlite3_stmt *)enumerateForNameStatement
484
+ {
485
+ if (enumerateForNameStatement == NULL)
486
+ {
487
+ NSString *string = [NSString stringWithFormat:
488
+ @"SELECT \"rowid\", \"src\", \"dst\", \"rules\", \"manual\" FROM \"%@\" WHERE \"name\" = ?;",
489
+ [relationship tableName]];
490
+
491
+ sqlite3 *db = databaseConnection->db;
492
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
493
+
494
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &enumerateForNameStatement, NULL);
495
+ if (status != SQLITE_OK)
496
+ {
497
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
498
+ }
499
+
500
+ FreeYapDatabaseString(&stmt);
501
+ }
502
+
503
+ return enumerateForNameStatement;
504
+ }
505
+
506
+ - (sqlite3_stmt *)enumerateForSrcDstStatement
507
+ {
508
+ if (enumerateForSrcDstStatement == NULL)
509
+ {
510
+ NSString *string = [NSString stringWithFormat:
511
+ @"SELECT \"rowid\", \"name\", \"rules\", \"manual\" FROM \"%@\" WHERE \"src\" = ? AND \"dst\" = ?;",
512
+ [relationship tableName]];
513
+
514
+ sqlite3 *db = databaseConnection->db;
515
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
516
+
517
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &enumerateForSrcDstStatement, NULL);
518
+ if (status != SQLITE_OK)
519
+ {
520
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
521
+ }
522
+
523
+ FreeYapDatabaseString(&stmt);
524
+ }
525
+
526
+ return enumerateForSrcDstStatement;
527
+ }
528
+
529
+ - (sqlite3_stmt *)enumerateForSrcDstNameStatement
530
+ {
531
+ if (enumerateForSrcDstNameStatement == NULL)
532
+ {
533
+ NSString *string = [NSString stringWithFormat:
534
+ @"SELECT \"rowid\", \"rules\", \"manual\" FROM \"%@\" WHERE \"src\" = ? AND \"dst\" = ? AND \"name\" = ?;",
535
+ [relationship tableName]];
536
+
537
+ sqlite3 *db = databaseConnection->db;
538
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
539
+
540
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &enumerateForSrcDstNameStatement, NULL);
541
+ if (status != SQLITE_OK)
542
+ {
543
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
544
+ }
545
+
546
+ FreeYapDatabaseString(&stmt);
547
+ }
548
+
549
+ return enumerateForSrcDstNameStatement;
550
+ }
551
+
552
+ - (sqlite3_stmt *)countForSrcNameExcludingDstStatement
553
+ {
554
+ if (countForSrcNameExcludingDstStatement == NULL)
555
+ {
556
+ NSString *string = [NSString stringWithFormat:
557
+ @"SELECT COUNT(*) AS NumberOfRows FROM \"%@\" WHERE \"src\" = ? AND \"dst\" != ? AND \"name\" = ?;",
558
+ [relationship tableName]];
559
+
560
+ sqlite3 *db = databaseConnection->db;
561
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
562
+
563
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &countForSrcNameExcludingDstStatement, NULL);
564
+ if (status != SQLITE_OK)
565
+ {
566
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
567
+ }
568
+
569
+ FreeYapDatabaseString(&stmt);
570
+ }
571
+
572
+ return countForSrcNameExcludingDstStatement;
573
+ }
574
+
575
+ - (sqlite3_stmt *)countForDstNameExcludingSrcStatement
576
+ {
577
+ if (countForDstNameExcludingSrcStatement == NULL)
578
+ {
579
+ NSString *string = [NSString stringWithFormat:
580
+ @"SELECT COUNT(*) AS NumberOfRows FROM \"%@\" WHERE \"dst\" = ? AND \"src\" != ? AND \"name\" = ?;",
581
+ [relationship tableName]];
582
+
583
+ sqlite3 *db = databaseConnection->db;
584
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
585
+
586
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &countForDstNameExcludingSrcStatement, NULL);
587
+ if (status != SQLITE_OK)
588
+ {
589
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
590
+ }
591
+
592
+ FreeYapDatabaseString(&stmt);
593
+ }
594
+
595
+ return countForDstNameExcludingSrcStatement;
596
+ }
597
+
598
+ - (sqlite3_stmt *)countForNameStatement
599
+ {
600
+ if (countForNameStatement == NULL)
601
+ {
602
+ NSString *string = [NSString stringWithFormat:
603
+ @"SELECT COUNT(*) AS NumberOfRows FROM \"%@\" WHERE \"name\" = ?;",
604
+ [relationship tableName]];
605
+
606
+ sqlite3 *db = databaseConnection->db;
607
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
608
+
609
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &countForNameStatement, NULL);
610
+ if (status != SQLITE_OK)
611
+ {
612
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
613
+ }
614
+
615
+ FreeYapDatabaseString(&stmt);
616
+ }
617
+
618
+ return countForNameStatement;
619
+ }
620
+
621
+ - (sqlite3_stmt *)countForSrcStatement
622
+ {
623
+ if (countForSrcStatement == NULL)
624
+ {
625
+ NSString *string = [NSString stringWithFormat:
626
+ @"SELECT COUNT(*) AS NumberOfRows FROM \"%@\" WHERE \"src\" = ?;",
627
+ [relationship tableName]];
628
+
629
+ sqlite3 *db = databaseConnection->db;
630
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
631
+
632
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &countForSrcStatement, NULL);
633
+ if (status != SQLITE_OK)
634
+ {
635
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
636
+ }
637
+
638
+ FreeYapDatabaseString(&stmt);
639
+ }
640
+
641
+ return countForSrcStatement;
642
+ }
643
+
644
+ - (sqlite3_stmt *)countForSrcNameStatement
645
+ {
646
+ if (countForSrcNameStatement == NULL)
647
+ {
648
+ NSString *string = [NSString stringWithFormat:
649
+ @"SELECT COUNT(*) AS NumberOfRows FROM \"%@\" WHERE \"src\" = ? AND \"name\" = ?;",
650
+ [relationship tableName]];
651
+
652
+ sqlite3 *db = databaseConnection->db;
653
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
654
+
655
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &countForSrcNameStatement, NULL);
656
+ if (status != SQLITE_OK)
657
+ {
658
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
659
+ }
660
+
661
+ FreeYapDatabaseString(&stmt);
662
+ }
663
+
664
+ return countForSrcNameStatement;
665
+ }
666
+
667
+ - (sqlite3_stmt *)countForDstStatement
668
+ {
669
+ if (countForDstStatement == NULL)
670
+ {
671
+ NSString *string = [NSString stringWithFormat:
672
+ @"SELECT COUNT(*) AS NumberOfRows FROM \"%@\" WHERE \"dst\" = ?;",
673
+ [relationship tableName]];
674
+
675
+ sqlite3 *db = databaseConnection->db;
676
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
677
+
678
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &countForDstStatement, NULL);
679
+ if (status != SQLITE_OK)
680
+ {
681
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
682
+ }
683
+
684
+ FreeYapDatabaseString(&stmt);
685
+ }
686
+
687
+ return countForDstStatement;
688
+ }
689
+
690
+ - (sqlite3_stmt *)countForDstNameStatement
691
+ {
692
+ if (countForDstNameStatement == NULL)
693
+ {
694
+ NSString *string = [NSString stringWithFormat:
695
+ @"SELECT COUNT(*) AS NumberOfRows FROM \"%@\" WHERE \"dst\" = ? AND \"name\" = ?;",
696
+ [relationship tableName]];
697
+
698
+ sqlite3 *db = databaseConnection->db;
699
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
700
+
701
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &countForDstNameStatement, NULL);
702
+ if (status != SQLITE_OK)
703
+ {
704
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
705
+ }
706
+
707
+ FreeYapDatabaseString(&stmt);
708
+ }
709
+
710
+ return countForDstNameStatement;
711
+ }
712
+
713
+ - (sqlite3_stmt *)countForSrcDstStatement
714
+ {
715
+ if (countForSrcDstStatement == NULL)
716
+ {
717
+ NSString *string = [NSString stringWithFormat:
718
+ @"SELECT COUNT(*) AS NumberOfRows FROM \"%@\" WHERE \"src\" = ? AND \"dst\" = ?;",
719
+ [relationship tableName]];
720
+
721
+ sqlite3 *db = databaseConnection->db;
722
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
723
+
724
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &countForSrcDstStatement, NULL);
725
+ if (status != SQLITE_OK)
726
+ {
727
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
728
+ }
729
+
730
+ FreeYapDatabaseString(&stmt);
731
+ }
732
+
733
+ return countForSrcDstStatement;
734
+ }
735
+
736
+ - (sqlite3_stmt *)countForSrcDstNameStatement
737
+ {
738
+ if (countForSrcDstNameStatement == NULL)
739
+ {
740
+ NSString *string = [NSString stringWithFormat:
741
+ @"SELECT COUNT(*) AS NumberOfRows FROM \"%@\" WHERE \"src\" = ? AND \"dst\" = ? AND \"name\" = ?;",
742
+ [relationship tableName]];
743
+
744
+ sqlite3 *db = databaseConnection->db;
745
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
746
+
747
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &countForSrcDstNameStatement, NULL);
748
+ if (status != SQLITE_OK)
749
+ {
750
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
751
+ }
752
+
753
+ FreeYapDatabaseString(&stmt);
754
+ }
755
+
756
+ return countForSrcDstNameStatement;
757
+ }
758
+
759
+ - (sqlite3_stmt *)removeAllStatement
760
+ {
761
+ if (removeAllStatement == NULL)
762
+ {
763
+ NSString *string = [NSString stringWithFormat:@"DELETE FROM \"%@\";", [relationship tableName]];
764
+
765
+ sqlite3 *db = databaseConnection->db;
766
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
767
+
768
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &removeAllStatement, NULL);
769
+ if (status != SQLITE_OK)
770
+ {
771
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
772
+ }
773
+
774
+ FreeYapDatabaseString(&stmt);
775
+ }
776
+
777
+ return removeAllStatement;
778
+ }
779
+
780
+ - (sqlite3_stmt *)removeAllProtocolStatement
781
+ {
782
+ if (removeAllProtocolStatement == NULL)
783
+ {
784
+ NSString *string = [NSString stringWithFormat:
785
+ @"DELETE FROM \"%@\" WHERE \"manual\" = 0;", [relationship tableName]];
786
+
787
+ sqlite3 *db = databaseConnection->db;
788
+ YapDatabaseString stmt; MakeYapDatabaseString(&stmt, string);
789
+
790
+ int status = sqlite3_prepare_v2(db, stmt.str, stmt.length+1, &removeAllProtocolStatement, NULL);
791
+ if (status != SQLITE_OK)
792
+ {
793
+ YDBLogError(@"%@: Error creating prepared statement: %d %s", THIS_METHOD, status, sqlite3_errmsg(db));
794
+ }
795
+
796
+ FreeYapDatabaseString(&stmt);
797
+ }
798
+
799
+ return removeAllProtocolStatement;
800
+ }
801
+
802
+ @end