Search in sources :

Example 11 with Index

use of org.folio.dbschema.Index in project raml-module-builder by folio-org.

the class IndexTest method sqlExpressionNotTruncated.

@Test
void sqlExpressionNotTruncated() {
    Index idx = index("testIdx", "testIdx");
    idx.setSqlExpression("concat_space_sql(a, b)");
    assertEquals("concat_space_sql(a, b)", idx.getFinalTruncatedSqlExpression("test_table"));
}
Also used : Index(org.folio.dbschema.Index) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 12 with Index

use of org.folio.dbschema.Index in project raml-module-builder by folio-org.

the class IndexTest method indexStringTypeTrue.

@Test
void indexStringTypeTrue() {
    Index idx = new Index();
    idx.setFieldName("testField");
    idx.setStringType(true);
    idx.setupIndex();
    assertEquals("left(lower(f_unaccent(jsonb->>'testField')),600)", idx.getFinalTruncatedSqlExpression("test_table"));
}
Also used : Index(org.folio.dbschema.Index) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 13 with Index

use of org.folio.dbschema.Index in project raml-module-builder by folio-org.

the class IndexTest method indexExpressionDotsInPath.

@Test
void indexExpressionDotsInPath() {
    Index idx = index("testIdx", "dummy");
    idx.setMultiFieldNames("blah.blah2.field1,blah.blah2.field2");
    assertEquals("concat_space_sql(test_table.jsonb->'blah'->'blah2'->>'field1' , test_table.jsonb->'blah'->'blah2'->>'field2')", idx.getFinalSqlExpression("test_table"));
}
Also used : Index(org.folio.dbschema.Index) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 14 with Index

use of org.folio.dbschema.Index in project raml-module-builder by folio-org.

the class IndexTest method multiFieldNames.

@Test
void multiFieldNames() {
    Index idx = index("testIdx", "testIdx");
    idx.setMultiFieldNames("field1,field2,field3");
    assertEquals("concat_space_sql(test_table.jsonb->>'field1' , test_table.jsonb->>'field2' , test_table.jsonb->>'field3')", idx.getFinalSqlExpression("test_table"));
}
Also used : Index(org.folio.dbschema.Index) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 15 with Index

use of org.folio.dbschema.Index in project raml-module-builder by folio-org.

the class IndexTest method fieldPath.

@Test
void fieldPath() {
    Index idx = index("testIdx", "testIdx");
    assertEquals("testIdx", idx.getFinalSqlExpression("test_table"));
}
Also used : Index(org.folio.dbschema.Index) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Aggregations

Index (org.folio.dbschema.Index)22 Test (org.junit.jupiter.api.Test)16 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)16 DbIndex (org.folio.cql2pgjson.model.DbIndex)5 Modifier (org.z3950.zing.cql.Modifier)3 CQLFeatureUnsupportedException (org.folio.cql2pgjson.exception.CQLFeatureUnsupportedException)2 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 Collections (java.util.Collections)1 HashMap (java.util.HashMap)1 LinkedList (java.util.LinkedList)1 List (java.util.List)1 Map (java.util.Map)1 Level (java.util.logging.Level)1 Logger (java.util.logging.Logger)1 Pattern (java.util.regex.Pattern)1 ObjectUtils (org.apache.commons.lang3.ObjectUtils)1 StringUtils (org.apache.commons.lang3.StringUtils)1 FieldException (org.folio.cql2pgjson.exception.FieldException)1 QueryValidationException (org.folio.cql2pgjson.exception.QueryValidationException)1