* The core dispatch function for gin_bson_extract_query. * Based on the indexing strategy, calls the appropriate * extract query function for the index and returns the output. */
| 1698 | * extract query function for the index and returns the output. |
| 1699 | */ |
| 1700 | Datum * |
| 1701 | GinBsonExtractQueryCore(BsonIndexStrategy strategy, BsonExtractQueryArgs *args) |
| 1702 | { |
| 1703 | switch (strategy) |
| 1704 | { |
| 1705 | case BSON_INDEX_STRATEGY_DOLLAR_EQUAL: |
| 1706 | { |
| 1707 | return GinBsonExtractQueryEqual(args); |
| 1708 | } |
| 1709 | |
| 1710 | case BSON_INDEX_STRATEGY_DOLLAR_GREATER: |
| 1711 | { |
| 1712 | bool isNegation = false; |
| 1713 | return GinBsonExtractQueryGreater(args, isNegation); |
| 1714 | } |
| 1715 | |
| 1716 | case BSON_INDEX_STRATEGY_DOLLAR_GREATER_EQUAL: |
| 1717 | { |
| 1718 | bool isNegation = false; |
| 1719 | return GinBsonExtractQueryGreaterEqual(args, isNegation); |
| 1720 | } |
| 1721 | |
| 1722 | case BSON_INDEX_STRATEGY_DOLLAR_LESS: |
| 1723 | { |
| 1724 | bool isNegation = false; |
| 1725 | return GinBsonExtractQueryLess(args, isNegation); |
| 1726 | } |
| 1727 | |
| 1728 | case BSON_INDEX_STRATEGY_DOLLAR_LESS_EQUAL: |
| 1729 | { |
| 1730 | bool isNegation = false; |
| 1731 | return GinBsonExtractQueryLessEqual(args, isNegation); |
| 1732 | } |
| 1733 | |
| 1734 | case BSON_INDEX_STRATEGY_DOLLAR_NOT_GT: |
| 1735 | { |
| 1736 | bool isNegation = true; |
| 1737 | return GinBsonExtractQueryGreater(args, isNegation); |
| 1738 | } |
| 1739 | |
| 1740 | case BSON_INDEX_STRATEGY_DOLLAR_NOT_GTE: |
| 1741 | { |
| 1742 | bool isNegation = true; |
| 1743 | return GinBsonExtractQueryGreaterEqual(args, isNegation); |
| 1744 | } |
| 1745 | |
| 1746 | case BSON_INDEX_STRATEGY_DOLLAR_NOT_LT: |
| 1747 | { |
| 1748 | bool isNegation = true; |
| 1749 | return GinBsonExtractQueryLess(args, isNegation); |
| 1750 | } |
| 1751 | |
| 1752 | case BSON_INDEX_STRATEGY_DOLLAR_NOT_LTE: |
| 1753 | { |
| 1754 | bool isNegation = true; |
| 1755 | return GinBsonExtractQueryLessEqual(args, isNegation); |
| 1756 | } |
| 1757 |
no test coverage detected