Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Update rule change
생성일
5년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
16 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
60 행
복사
12 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
58 행
복사
복사
복사됨
복사
복사됨
@Value.Immutable
public interface Config extends RelRule.Config {
public interface Config extends RelRule.Config {
복사
복사됨
복사
복사됨
Config DEFAULT =
EMPTY.as(Config.class
)
Config DEFAULT =
ImmutableProjectFilterTransposeRule.of(
)
.withOperandFor(LogicalProject.class, LogicalFilter.class)
.withOperandFor(LogicalProject.class, LogicalFilter.class)
.withPreserveExprCondition(expr -> false)
.withPreserveExprCondition(expr -> false)
.withWholeProject(false)
.withWholeProject(false)
.withWholeFilter(false);
.withWholeFilter(false);
Config PROJECT = DEFAULT.withWholeProject(true);
Config PROJECT = DEFAULT.withWholeProject(true);
Config PROJECT_FILTER = PROJECT.withWholeFilter(true);
Config PROJECT_FILTER = PROJECT.withWholeFilter(true);
@Override default ProjectFilterTransposeRule toRule() {
@Override default ProjectFilterTransposeRule toRule() {
return new ProjectFilterTransposeRule(this);
return new ProjectFilterTransposeRule(this);
}
}
/** Expressions that should be preserved in the projection. */
/** Expressions that should be preserved in the projection. */
복사
복사됨
복사
복사됨
@ImmutableBeans.Property
PushProjector.ExprCondition preserveExprCondition();
PushProjector.ExprCondition preserveExprCondition();
/** Sets {@link #preserveExprCondition()}. */
/** Sets {@link #preserveExprCondition()}. */
Config withPreserveExprCondition(PushProjector.ExprCondition condition);
Config withPreserveExprCondition(PushProjector.ExprCondition condition);
/** Whether to push whole expressions from the project;
/** Whether to push whole expressions from the project;
* if false (the default), only pushes references. */
* if false (the default), only pushes references. */
복사
복사됨
복사
복사됨
@
ImmutableBeans.Property
@
Value.
Default
default
boolean isWholeProject()
{
@ImmutableBeans.Boolean
Default
(false)
return false;
boolean isWholeProject()
;
}
/** Sets {@link #isWholeProject()}. */
/** Sets {@link #isWholeProject()}. */
Config withWholeProject(boolean wholeProject);
Config withWholeProject(boolean wholeProject);
/** Whether to push whole expressions from the filter;
/** Whether to push whole expressions from the filter;
* if false (the default), only pushes references. */
* if false (the default), only pushes references. */
복사
복사됨
복사
복사됨
@
ImmutableBeans.Property
@
Value.
Default
default
boolean isWholeFilter()
{
@ImmutableBeans.Boolean
Default
(false)
return false;
boolean isWholeFilter()
;
}
/** Sets {@link #isWholeFilter()}. */
/** Sets {@link #isWholeFilter()}. */
Config withWholeFilter(boolean wholeFilter);
Config withWholeFilter(boolean wholeFilter);
/** Defines an operand tree for the given classes. */
/** Defines an operand tree for the given classes. */
default Config withOperandFor(Class<? extends Project> projectClass,
default Config withOperandFor(Class<? extends Project> projectClass,
Class<? extends Filter> filterClass) {
Class<? extends Filter> filterClass) {
return withOperandSupplier(b0 ->
return withOperandSupplier(b0 ->
b0.operand(projectClass).oneInput(b1 ->
b0.operand(projectClass).oneInput(b1 ->
복사
복사됨
복사
복사됨
b1.operand(filterClass).anyInputs()))
b1.operand(filterClass).anyInputs()))
;
.as(Config.class)
;
}
}
/** Defines an operand tree for the given 3 classes. */
/** Defines an operand tree for the given 3 classes. */
default Config withOperandFor(Class<? extends Project> projectClass,
default Config withOperandFor(Class<? extends Project> projectClass,
Class<? extends Filter> filterClass,
Class<? extends Filter> filterClass,
Class<? extends RelNode> inputClass) {
Class<? extends RelNode> inputClass) {
return withOperandSupplier(b0 ->
return withOperandSupplier(b0 ->
b0.operand(projectClass).oneInput(b1 ->
b0.operand(projectClass).oneInput(b1 ->
b1.operand(filterClass).oneInput(b2 ->
b1.operand(filterClass).oneInput(b2 ->
복사
복사됨
복사
복사됨
b2.operand(inputClass).anyInputs())))
b2.operand(inputClass).anyInputs())))
;
.as(Config.class)
;
}
}
}
}
저장된 비교 결과
원본
파일 열기
public interface Config extends RelRule.Config { Config DEFAULT = EMPTY.as(Config.class) .withOperandFor(LogicalProject.class, LogicalFilter.class) .withPreserveExprCondition(expr -> false) .withWholeProject(false) .withWholeFilter(false); Config PROJECT = DEFAULT.withWholeProject(true); Config PROJECT_FILTER = PROJECT.withWholeFilter(true); @Override default ProjectFilterTransposeRule toRule() { return new ProjectFilterTransposeRule(this); } /** Expressions that should be preserved in the projection. */ @ImmutableBeans.Property PushProjector.ExprCondition preserveExprCondition(); /** Sets {@link #preserveExprCondition()}. */ Config withPreserveExprCondition(PushProjector.ExprCondition condition); /** Whether to push whole expressions from the project; * if false (the default), only pushes references. */ @ImmutableBeans.Property @ImmutableBeans.BooleanDefault(false) boolean isWholeProject(); /** Sets {@link #isWholeProject()}. */ Config withWholeProject(boolean wholeProject); /** Whether to push whole expressions from the filter; * if false (the default), only pushes references. */ @ImmutableBeans.Property @ImmutableBeans.BooleanDefault(false) boolean isWholeFilter(); /** Sets {@link #isWholeFilter()}. */ Config withWholeFilter(boolean wholeFilter); /** Defines an operand tree for the given classes. */ default Config withOperandFor(Class<? extends Project> projectClass, Class<? extends Filter> filterClass) { return withOperandSupplier(b0 -> b0.operand(projectClass).oneInput(b1 -> b1.operand(filterClass).anyInputs())) .as(Config.class); } /** Defines an operand tree for the given 3 classes. */ default Config withOperandFor(Class<? extends Project> projectClass, Class<? extends Filter> filterClass, Class<? extends RelNode> inputClass) { return withOperandSupplier(b0 -> b0.operand(projectClass).oneInput(b1 -> b1.operand(filterClass).oneInput(b2 -> b2.operand(inputClass).anyInputs()))) .as(Config.class); } }
수정본
파일 열기
@Value.Immutable public interface Config extends RelRule.Config { Config DEFAULT = ImmutableProjectFilterTransposeRule.of() .withOperandFor(LogicalProject.class, LogicalFilter.class) .withPreserveExprCondition(expr -> false) .withWholeProject(false) .withWholeFilter(false); Config PROJECT = DEFAULT.withWholeProject(true); Config PROJECT_FILTER = PROJECT.withWholeFilter(true); @Override default ProjectFilterTransposeRule toRule() { return new ProjectFilterTransposeRule(this); } /** Expressions that should be preserved in the projection. */ PushProjector.ExprCondition preserveExprCondition(); /** Sets {@link #preserveExprCondition()}. */ Config withPreserveExprCondition(PushProjector.ExprCondition condition); /** Whether to push whole expressions from the project; * if false (the default), only pushes references. */ @Value.Default default boolean isWholeProject() { return false; } /** Sets {@link #isWholeProject()}. */ Config withWholeProject(boolean wholeProject); /** Whether to push whole expressions from the filter; * if false (the default), only pushes references. */ @Value.Default default boolean isWholeFilter() { return false; } /** Sets {@link #isWholeFilter()}. */ Config withWholeFilter(boolean wholeFilter); /** Defines an operand tree for the given classes. */ default Config withOperandFor(Class<? extends Project> projectClass, Class<? extends Filter> filterClass) { return withOperandSupplier(b0 -> b0.operand(projectClass).oneInput(b1 -> b1.operand(filterClass).anyInputs())); } /** Defines an operand tree for the given 3 classes. */ default Config withOperandFor(Class<? extends Project> projectClass, Class<? extends Filter> filterClass, Class<? extends RelNode> inputClass) { return withOperandSupplier(b0 -> b0.operand(projectClass).oneInput(b1 -> b1.operand(filterClass).oneInput(b2 -> b2.operand(inputClass).anyInputs()))); } }
비교하기