Search in sources :

Example 1 with OrderBy

use of org.hypertrace.core.documentstore.OrderBy in project entity-service by hypertrace.

the class DocStoreConverterTest method testSelectionsWithOrderBy.

@Test
public void testSelectionsWithOrderBy() {
    Query query = Query.newBuilder().addEntityId("some id").addOrderBy(OrderByExpression.newBuilder().setName("col1").setOrder(SortOrder.DESC).build()).addOrderBy(OrderByExpression.newBuilder().setName("col2").build()).build();
    org.hypertrace.core.documentstore.Query transformedQuery = DocStoreConverter.transform(TENANT_ID, query, List.of("selection1", "selection2"));
    List<String> selections = transformedQuery.getSelections();
    Assertions.assertEquals(2, selections.size());
    Assertions.assertEquals("selection1", selections.get(0));
    Assertions.assertEquals("selection2", selections.get(1));
    List<OrderBy> transformedOrderBys = transformedQuery.getOrderBys();
    Assertions.assertEquals(2, transformedOrderBys.size());
    Assertions.assertEquals("col1", transformedOrderBys.get(0).getField());
    Assertions.assertFalse(transformedOrderBys.get(0).isAsc());
    Assertions.assertEquals("col2", transformedOrderBys.get(1).getField());
    Assertions.assertTrue(transformedOrderBys.get(1).isAsc());
}
Also used : OrderBy(org.hypertrace.core.documentstore.OrderBy) Query(org.hypertrace.entity.data.service.v1.Query) Test(org.junit.jupiter.api.Test)

Example 2 with OrderBy

use of org.hypertrace.core.documentstore.OrderBy in project entity-service by hypertrace.

the class DocStoreConverterTest method testOrderByConversion.

@Test
public void testOrderByConversion() {
    Query query = Query.newBuilder().addEntityId("some id").addOrderBy(OrderByExpression.newBuilder().setName("col1").setOrder(SortOrder.DESC).build()).addOrderBy(OrderByExpression.newBuilder().setName("col2").build()).build();
    org.hypertrace.core.documentstore.Query transformedQuery = DocStoreConverter.transform(TENANT_ID, query, Collections.emptyList());
    Assertions.assertEquals(0, transformedQuery.getSelections().size());
    List<OrderBy> transformedOrderBys = transformedQuery.getOrderBys();
    Assertions.assertEquals(2, transformedOrderBys.size());
    Assertions.assertEquals("col1", transformedOrderBys.get(0).getField());
    Assertions.assertFalse(transformedOrderBys.get(0).isAsc());
    Assertions.assertEquals("col2", transformedOrderBys.get(1).getField());
    Assertions.assertTrue(transformedOrderBys.get(1).isAsc());
}
Also used : OrderBy(org.hypertrace.core.documentstore.OrderBy) Query(org.hypertrace.entity.data.service.v1.Query) Test(org.junit.jupiter.api.Test)

Example 3 with OrderBy

use of org.hypertrace.core.documentstore.OrderBy in project document-store by hypertrace.

the class MongoQueryParserTest method testParseOrderByQuery.

@Test
void testParseOrderByQuery() {
    List<OrderBy> orderBys = List.of(new OrderBy("key1", true), new OrderBy("key2", false), new OrderBy("key3", true));
    assertEquals(Map.of("key1", 1, "key2", -1, "key3", 1), MongoQueryParser.parseOrderBys(orderBys));
}
Also used : OrderBy(org.hypertrace.core.documentstore.OrderBy) Test(org.junit.jupiter.api.Test)

Example 4 with OrderBy

use of org.hypertrace.core.documentstore.OrderBy in project document-store by hypertrace.

the class PostgresQueryParserTest method testParseOrderBys.

@Test
void testParseOrderBys() {
    List<OrderBy> orderBys = List.of(new OrderBy("key1", true), new OrderBy("key2", false), new OrderBy("key3", true));
    Assertions.assertEquals("document->>'key1' ASC , document->>'key2' DESC , document->>'key3' ASC", PostgresQueryParser.parseOrderBys(orderBys));
}
Also used : OrderBy(org.hypertrace.core.documentstore.OrderBy) Test(org.junit.jupiter.api.Test)

Aggregations

OrderBy (org.hypertrace.core.documentstore.OrderBy)4 Test (org.junit.jupiter.api.Test)4 Query (org.hypertrace.entity.data.service.v1.Query)2