@Test public void testIsDistinctArray() { String sql = "('a', null) is distinct from ('b', null)"; IsDistinctCriteria c = (IsDistinctCriteria)helpResolveCriteria(sql); assertEquals(String.class,((Array)c.getLeftRowValue()).getComponentType()); }
@Test public void testTimestampDateLiteral() { metadata = RealMetadataFactory.exampleBQTCached(); Criteria crit = helpResolveCriteria("bqt1.smalla.timestampvalue = '2000-01-01'"); assertTrue(((CompareCriteria)crit).getRightExpression().getType() == DataTypeManager.DefaultDataClasses.TIMESTAMP); assertEquals("bqt1.smalla.timestampvalue = {ts'2000-01-01 00:00:00.0'}", crit.toString()); }
@Test public void testIncompleteTimestampDateLiteral() { metadata = RealMetadataFactory.exampleBQTCached(); Criteria crit = helpResolveCriteria("bqt1.smalla.timestampvalue = '2000-01-01 01:02'"); assertTrue(((CompareCriteria)crit).getRightExpression().getType() == DataTypeManager.DefaultDataClasses.TIMESTAMP); assertEquals("bqt1.smalla.timestampvalue = {ts'2000-01-01 01:02:00.0'}", crit.toString()); }
@Test public void testStringConversion1() { metadata = RealMetadataFactory.exampleBQTCached(); Criteria crit = helpResolveCriteria("bqt1.smalla.datevalue = '2003-02-27'"); assertTrue(((CompareCriteria)crit).getRightExpression().getType() == DataTypeManager.DefaultDataClasses.DATE); assertEquals("bqt1.smalla.datevalue = {d'2003-02-27'}", crit.toString()); }
@Test public void testIncompleteTimestampDateLiteral2() { metadata = RealMetadataFactory.exampleBQTCached(); Criteria crit = helpResolveCriteria("bqt1.smalla.datevalue = '2000-01-01 00:00'"); assertTrue(((CompareCriteria)crit).getRightExpression().getType() == DataTypeManager.DefaultDataClasses.DATE); assertEquals("bqt1.smalla.datevalue = {d'2000-01-01'}", crit.toString()); }
@Test public void testStringConversion2() { metadata = RealMetadataFactory.exampleBQTCached(); Criteria crit = helpResolveCriteria("'2003-02-27' = bqt1.smalla.datevalue"); assertTrue(((CompareCriteria)crit).getRightExpression().getType() == DataTypeManager.DefaultDataClasses.DATE); assertEquals("{d'2003-02-27'} = bqt1.smalla.datevalue", crit.toString()); }
@Test public void testCriteria1() { CompareCriteria expected = new CompareCriteria(); ElementSymbol es = new ElementSymbol("pm1.g1.e1"); //$NON-NLS-1$ GroupSymbol gs = new GroupSymbol("pm1.g1"); //$NON-NLS-1$ es.setGroupSymbol(gs); expected.setLeftExpression(es); expected.setOperator(CompareCriteria.EQ); expected.setRightExpression(new Constant("abc")); //$NON-NLS-1$ Criteria actual = helpResolveCriteria("pm1.g1.e1 = 'abc'"); //$NON-NLS-1$ assertEquals("Did not match expected criteria", expected, actual); //$NON-NLS-1$ }
@Test public void testStringConversion3() { // Expected left expression ElementSymbol e1 = new ElementSymbol("pm3.g1.e1"); //$NON-NLS-1$ e1.setType(DataTypeManager.DefaultDataClasses.STRING); // Expected right expression Constant e2 = new Constant("2003-02-27"); //$NON-NLS-1$ // Expected criteria CompareCriteria expected = new CompareCriteria(); expected.setLeftExpression(e1); expected.setOperator(CompareCriteria.EQ); expected.setRightExpression(e2); // Resolve the query and check against expected objects CompareCriteria actual = (CompareCriteria) helpResolveCriteria("pm3.g1.e1='2003-02-27'"); //$NON-NLS-1$ //if (! actual.getLeftExpression().equals(expected.getLeftExpression())) { // System.out.println("left exprs not equal"); //} else if (!actual.getRightExpression().equals(expected.getRightExpression())) { // System.out.println("right exprs not equal"); //} assertEquals("Did not match expected criteria", expected, actual); //$NON-NLS-1$ }
/** test jdbc USER method */ @Test public void testUser() { //String sql = "select intkey from SmallA where user() = 'bqt2'"; // Expected left expression FunctionLibrary library = RealMetadataFactory.SFM.getSystemFunctionLibrary(); FunctionDescriptor fd = library.findFunction(FunctionLibrary.USER, new Class[] { }); Function user = new Function(fd.getName(), new Expression[] {}); user.setFunctionDescriptor(fd); // Expected criteria CompareCriteria expected = new CompareCriteria(); // Expected right expression Expression e1 = new Constant("bqt2", String.class); //$NON-NLS-1$ // Expected left expression expected.setLeftExpression(user); expected.setOperator(CompareCriteria.EQ); expected.setRightExpression(e1); // Resolve the query and check against expected objects CompareCriteria actual = (CompareCriteria) helpResolveCriteria("user()='bqt2'"); //$NON-NLS-1$ assertEquals("Did not match expected criteria", expected, actual); //$NON-NLS-1$ }
@Test public void testDateToTimestampConversion_defect9747() { // Expected left expression ElementSymbol e1 = new ElementSymbol("pm3.g1.e4"); //$NON-NLS-1$ e1.setType(DataTypeManager.DefaultDataClasses.TIMESTAMP); // Expected right expression Constant e2 = new Constant(TimestampUtil.createDate(96, 0, 31), DataTypeManager.DefaultDataClasses.DATE); Function f1 = new Function("convert", new Expression[] { e2, new Constant(DataTypeManager.DefaultDataTypes.TIMESTAMP)}); //$NON-NLS-1$ f1.makeImplicit(); // Expected criteria CompareCriteria expected = new CompareCriteria(); expected.setLeftExpression(e1); expected.setOperator(CompareCriteria.GT); expected.setRightExpression(f1); // Resolve the query and check against expected objects CompareCriteria actual = (CompareCriteria) helpResolveCriteria("pm3.g1.e4 > {d '1996-01-31'}"); //$NON-NLS-1$ assertEquals("Did not match expected criteria", expected, actual); //$NON-NLS-1$ }