public Date subtract(Date left, HiveIntervalYearMonth right) { if (left == null || right == null) { return null; } Date dtResult = new Date(0); subtract(left, right, dtResult); return dtResult; }
public Timestamp subtract(Timestamp left, HiveIntervalYearMonth right) { if (left == null || right == null) { return null; } Timestamp tsResult = new Timestamp(0); subtract(left, right, tsResult); return tsResult; }
@Deprecated public java.sql.Date subtract(java.sql.Date left, HiveIntervalYearMonth right) { if (left == null || right == null) { return null; } java.sql.Date dtResult = new java.sql.Date(0); subtract(left, right, dtResult); return dtResult; }
@Deprecated public java.sql.Timestamp subtract(java.sql.Timestamp left, HiveIntervalYearMonth right) { if (left == null || right == null) { return null; } java.sql.Timestamp tsResult = new java.sql.Timestamp(0); subtract(left, right, tsResult); return tsResult; }
public HiveIntervalDayTime subtract(Timestamp left, Timestamp right) { if (left == null || right == null) { return null; } HiveIntervalDayTime result = new HiveIntervalDayTime(); subtract(left, right, result); return result; }
@Deprecated public HiveIntervalDayTime subtract(java.sql.Timestamp left, java.sql.Timestamp right) { if (left == null || right == null) { return null; } HiveIntervalDayTime result = new HiveIntervalDayTime(); subtract(left, right, result); return result; }
public Timestamp subtract(Timestamp left, HiveIntervalYearMonth right) { if (left == null || right == null) { return null; } Timestamp tsResult = new Timestamp(); subtract(left, right, tsResult); return tsResult; }
public Date subtract(Date left, HiveIntervalYearMonth right) { if (left == null || right == null) { return null; } Date dtResult = new Date(); subtract(left, right, dtResult); return dtResult; }
public HiveIntervalDayTime subtract(Timestamp left, Timestamp right) { if (left == null || right == null) { return null; } HiveIntervalDayTime result = new HiveIntervalDayTime(); subtract(left, right, result); return result; }
dtm.subtract( inputColVector1.asScratchTimestamp(0), value, outputColVector.getScratchTimestamp()); outputColVector.setFromScratchTimestamp(0); for(int j = 0; j != n; j++) { int i = sel[j]; dtm.subtract( inputColVector1.asScratchTimestamp(i), value, outputColVector.getScratchTimestamp()); outputColVector.setFromScratchTimestamp(i); dtm.subtract( inputColVector1.asScratchTimestamp(i), value, outputColVector.getScratchTimestamp()); outputColVector.setFromScratchTimestamp(i); for(int j = 0; j != n; j++) { int i = sel[j]; dtm.subtract( inputColVector1.asScratchTimestamp(i), value, outputColVector.getScratchTimestamp()); outputColVector.setFromScratchTimestamp(i); dtm.subtract( inputColVector1.asScratchTimestamp(i), value, outputColVector.getScratchTimestamp()); outputColVector.setFromScratchTimestamp(i);
outputIsNull[0] = false; scratchTimestamp2.setTime(DateWritableV2.daysToMillis((int) vector2[0])); dtm.subtract(value, scratchTimestamp2, outputColVector.getScratchIntervalDayTime()); outputColVector.setFromScratchIntervalDayTime(0); } else { outputIsNull[i] = false; scratchTimestamp2.setTime(DateWritableV2.daysToMillis((int) vector2[i])); dtm.subtract(value, scratchTimestamp2, outputColVector.getScratchIntervalDayTime()); outputColVector.setFromScratchIntervalDayTime(i); for(int i = 0; i != n; i++) { scratchTimestamp2.setTime(DateWritableV2.daysToMillis((int) vector2[i])); dtm.subtract(value, scratchTimestamp2, outputColVector.getScratchIntervalDayTime()); outputColVector.setFromScratchIntervalDayTime(i); outputIsNull[i] = inputIsNull[i]; scratchTimestamp2.setTime(DateWritableV2.daysToMillis((int) vector2[i])); dtm.subtract(value, scratchTimestamp2, outputColVector.getScratchIntervalDayTime()); outputColVector.setFromScratchIntervalDayTime(i); for(int i = 0; i != n; i++) { scratchTimestamp2.setTime(DateWritableV2.daysToMillis((int) vector2[i])); dtm.subtract(value, scratchTimestamp2, outputColVector.getScratchIntervalDayTime()); outputColVector.setFromScratchIntervalDayTime(i);
dtm.subtract( inputColVector1.asScratchIntervalDayTime(0), inputColVector2.asScratchIntervalDayTime(0), outputColVector.getScratchIntervalDayTime()); outputColVector.setFromScratchIntervalDayTime(0); for(int j = 0; j != n; j++) { int i = sel[j]; dtm.subtract( value1, inputColVector2.asScratchIntervalDayTime(i), outputColVector.getScratchIntervalDayTime()); outputColVector.setFromScratchIntervalDayTime(i); dtm.subtract( value1, inputColVector2.asScratchIntervalDayTime(i), outputColVector.getScratchIntervalDayTime()); outputColVector.setFromScratchIntervalDayTime(i); for(int j = 0; j != n; j++) { int i = sel[j]; dtm.subtract( inputColVector1.asScratchIntervalDayTime(i), value2, outputColVector.getScratchIntervalDayTime()); outputColVector.setFromScratchIntervalDayTime(i); dtm.subtract( inputColVector1.asScratchIntervalDayTime(i), value2, outputColVector.getScratchIntervalDayTime()); outputColVector.setFromScratchIntervalDayTime(i); for(int j = 0; j != n; j++) { int i = sel[j]; dtm.subtract( inputColVector1.asScratchIntervalDayTime(i), inputColVector2.asScratchIntervalDayTime(i), outputColVector.getScratchIntervalDayTime()); outputColVector.setFromScratchIntervalDayTime(i);
private static void checkIntervalDayTimeArithmetic( String left, char operationType, String right, String expected) throws Exception { HiveIntervalDayTime leftInterval = left == null ? null : HiveIntervalDayTime.valueOf(left); HiveIntervalDayTime rightInterval = right == null ? null : HiveIntervalDayTime.valueOf(right); HiveIntervalDayTime expectedResult = expected == null ? null : HiveIntervalDayTime.valueOf(expected); HiveIntervalDayTime testResult = null; DateTimeMath dtm = new DateTimeMath(); switch (operationType) { case '-': testResult = dtm.subtract(leftInterval, rightInterval); break; case '+': testResult = dtm.add(leftInterval, rightInterval); break; default: throw new IllegalArgumentException("Invalid operation " + operationType); } assertEquals(String.format("%s %s %s", leftInterval, operationType, rightInterval), expectedResult, testResult); }
private static void checkIntervalYearMonthArithmetic( String left, char operationType, String right, String expected) throws Exception { HiveIntervalYearMonth leftInterval = left == null ? null: HiveIntervalYearMonth.valueOf(left); HiveIntervalYearMonth rightInterval = right == null ? null : HiveIntervalYearMonth.valueOf(right); HiveIntervalYearMonth expectedResult = expected == null ? null : HiveIntervalYearMonth.valueOf(expected); HiveIntervalYearMonth testResult = null; DateTimeMath dtm = new DateTimeMath(); switch (operationType) { case '-': testResult = dtm.subtract(leftInterval, rightInterval); break; case '+': testResult = dtm.add(leftInterval, rightInterval); break; default: throw new IllegalArgumentException("Invalid operation " + operationType); } assertEquals(String.format("%s %s %s", leftInterval, operationType, rightInterval), expectedResult, testResult); }
HiveIntervalYearMonth iym2 = PrimitiveObjectInspectorUtils.getHiveIntervalYearMonth( arguments[intervalArg2Idx].get(), inputOIs[intervalArg2Idx]); return handleIntervalYearMonthResult(dtm.subtract(iym1, iym2)); Date dt1 = PrimitiveObjectInspectorUtils.getDate( arguments[dtArg1Idx].get(), inputOIs[dtArg1Idx]); return handleDateResult(dtm.subtract(dt1, iym1)); Timestamp ts1 = PrimitiveObjectInspectorUtils.getTimestamp( arguments[dtArg1Idx].get(), inputOIs[dtArg1Idx]); return handleTimestampResult(dtm.subtract(ts1, iym1)); HiveIntervalDayTime idt2 = PrimitiveObjectInspectorUtils.getHiveIntervalDayTime( arguments[intervalArg2Idx].get(), inputOIs[intervalArg2Idx]); return handleIntervalDayTimeResult(dtm.subtract(idt1, idt2)); Timestamp ts1 = PrimitiveObjectInspectorUtils.getTimestamp( arguments[dtArg1Idx].get(), inputOIs[dtArg1Idx]); return handleTimestampResult(dtm.subtract(ts1, idt1)); Timestamp ts2 = PrimitiveObjectInspectorUtils.getTimestamp( arguments[dtArg2Idx].get(), inputOIs[dtArg2Idx]); return handleIntervalDayTimeResult(dtm.subtract(ts1, ts2));
private static void checkTsArithmetic( String left, String right, String expected) throws Exception { Timestamp leftTs = null; if (left != null) { leftTs = Timestamp.valueOf(left); } Timestamp rightTs = null; if (left != null) { rightTs = Timestamp.valueOf(right); } HiveIntervalDayTime expectedResult = null; if (expected != null) { expectedResult = HiveIntervalDayTime.valueOf(expected); } DateTimeMath dtm = new DateTimeMath(); HiveIntervalDayTime testResult = dtm.subtract(leftTs, rightTs); assertEquals(String.format("%s - %s", leftTs, rightTs), expectedResult, testResult); } }
HiveIntervalYearMonth iym2 = PrimitiveObjectInspectorUtils.getHiveIntervalYearMonth( arguments[intervalArg2Idx].get(), inputOIs[intervalArg2Idx]); return handleIntervalYearMonthResult(dtm.subtract(iym1, iym2)); Date dt1 = PrimitiveObjectInspectorUtils.getDate( arguments[dtArg1Idx].get(), inputOIs[dtArg1Idx]); return handleDateResult(dtm.subtract(dt1, iym1)); Timestamp ts1 = PrimitiveObjectInspectorUtils.getTimestamp( arguments[dtArg1Idx].get(), inputOIs[dtArg1Idx]); return handleTimestampResult(dtm.subtract(ts1, iym1)); HiveIntervalDayTime idt2 = PrimitiveObjectInspectorUtils.getHiveIntervalDayTime( arguments[intervalArg2Idx].get(), inputOIs[intervalArg2Idx]); return handleIntervalDayTimeResult(dtm.subtract(idt1, idt2)); Timestamp ts1 = PrimitiveObjectInspectorUtils.getTimestamp( arguments[dtArg1Idx].get(), inputOIs[dtArg1Idx]); return handleTimestampResult(dtm.subtract(ts1, idt1)); Timestamp ts2 = PrimitiveObjectInspectorUtils.getTimestamp( arguments[dtArg2Idx].get(), inputOIs[dtArg2Idx]); return handleIntervalDayTimeResult(dtm.subtract(ts1, ts2));
private static void checkTsIntervalDayTimeArithmetic( String left, char operationType, String right, String expected) throws Exception { Timestamp leftTs = null; if (left != null) { leftTs = Timestamp.valueOf(left); } HiveIntervalDayTime rightInterval = right == null ? null : HiveIntervalDayTime.valueOf(right); Timestamp expectedResult = null; if (expected != null) { expectedResult = Timestamp.valueOf(expected); } Timestamp testResult = null; DateTimeMath dtm = new DateTimeMath(); switch (operationType) { case '-': testResult = dtm.subtract(leftTs, rightInterval); break; case '+': testResult = dtm.add(leftTs, rightInterval); break; default: throw new IllegalArgumentException("Invalid operation " + operationType); } assertEquals(String.format("%s %s %s", leftTs, operationType, rightInterval), expectedResult, testResult); }
private static void checkTimestampIntervalYearMonthArithmetic( String left, char operationType, String right, String expected) throws Exception { Timestamp leftTs = null; if (left != null) { leftTs = Timestamp.valueOf(left); } HiveIntervalYearMonth rightInterval = null; if (right != null) { rightInterval = HiveIntervalYearMonth.valueOf(right); } Timestamp expectedResult = null; if (expected != null) { expectedResult = Timestamp.valueOf(expected); } Timestamp testResult = null; DateTimeMath dtm = new DateTimeMath(); switch (operationType) { case '-': testResult = dtm.subtract(leftTs, rightInterval); break; case '+': testResult = dtm.add(leftTs, rightInterval); break; default: throw new IllegalArgumentException("Invalid operation " + operationType); } assertEquals(String.format("%s %s %s", leftTs, operationType, rightInterval), expectedResult, testResult); }
private static void checkDateIntervalDayTimeArithmetic( String left, char operationType, String right, String expected) throws Exception { Date leftDt = null; if (left != null) { leftDt = Date.valueOf(left); } HiveIntervalYearMonth rightInterval = null; if (right != null) { rightInterval = HiveIntervalYearMonth.valueOf(right); } Date expectedResult = null; if (expected != null) { expectedResult = Date.valueOf(expected); } Date testResult = null; DateTimeMath dtm = new DateTimeMath(); switch (operationType) { case '-': testResult = dtm.subtract(leftDt, rightInterval); break; case '+': testResult = dtm.add(leftDt, rightInterval); break; default: throw new IllegalArgumentException("Invalid operation " + operationType); } assertEquals(String.format("%s %s %s", leftDt, operationType, rightInterval), expectedResult, testResult); }