summary refs log tree commit diff stats
path: root/lib/noun.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/noun.cpp')
-rw-r--r--lib/noun.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/noun.cpp b/lib/noun.cpp index 43fda2e..81e6613 100644 --- a/lib/noun.cpp +++ b/lib/noun.cpp
@@ -330,6 +330,13 @@ namespace verbly {
330 return *this; 330 return *this;
331 } 331 }
332 332
333 noun_query& noun_query::is_instance(bool _arg)
334 {
335 _is_instance = _arg;
336
337 return *this;
338 }
339
333 noun_query& noun_query::instance_of(const noun& _noun) 340 noun_query& noun_query::instance_of(const noun& _noun)
334 { 341 {
335 _instance_of.push_back(_noun); 342 _instance_of.push_back(_noun);
@@ -644,12 +651,17 @@ namespace verbly {
644 651
645 if (_is_proper) 652 if (_is_proper)
646 { 653 {
647 conditions.push_back("noun_id IN (SELECT instance_id FROM instantiation)"); 654 conditions.push_back("proper = 1");
648 } 655 }
649 656
650 if (_is_not_proper) 657 if (_is_not_proper)
651 { 658 {
652 conditions.push_back("noun_id NOT IN (SELECT instance_id FROM instantiation)"); 659 conditions.push_back("proper = 0");
660 }
661
662 if (_is_instance)
663 {
664 conditions.push_back("noun_id IN (SELECT instance_id FROM instantiation)");
653 } 665 }
654 666
655 if (!_instance_of.empty()) 667 if (!_instance_of.empty())