General 클래스를 General, GeneralLite로 분리 #236

Merged
Hide_D merged 19 commits from NgGeneralClass into devel 2023-08-03 21:32:02 +09:00
Owner

내부 코드 사용례에서 General 테이블의 column을 일부만 가져오는 경우가 다수 있습니다.

다만 General 클래스에서 각종 iAction에 해당하는 트리거 함수 호출을 위해서는 모든 column을 다 가져와야 정상 동작이 가능한 만큼, iAction interface를 구현한 General 클래스와, 구현하지 않은 GeneralLite 클래스 둘로 나눕니다.

또한 General 클래스에서는 필요한 column을 다 가져오도록 변경합니다.

내부 코드 사용례에서 General 테이블의 column을 일부만 가져오는 경우가 다수 있습니다. 다만 General 클래스에서 각종 iAction에 해당하는 트리거 함수 호출을 위해서는 모든 column을 다 가져와야 정상 동작이 가능한 만큼, iAction interface를 구현한 General 클래스와, 구현하지 않은 GeneralLite 클래스 둘로 나눕니다. 또한 General 클래스에서는 필요한 column을 다 가져오도록 변경합니다.
Hide_D added 19 commits 2023-08-03 19:11:41 +09:00
- General 클래스 호환용도로는 이정도로 충분
- GeneralLite -> General 구조는 PHP에서 경고를 안띄웟서 포기
- GeneralBase에서 각각 요청하는 형태로 변경
- 여전히 GeneralBase를 인자로 받는 함수에서
  GeneralLite를 요구하거나, General을 요구하는 함수를 추가로 호출할 때
  경고가 없으므로 특히 주의해야 함.
- GeneralQueryMode - General 생성용
- GeneralLiteQueryMode - GeneralLite 생성용
- 이를 통해 확실한 에러 메시지를 내줄 것으로..
- 변경한 GeneralQueryMode에 따라 Lite가 불가능
- Lite여도 된다면 GeneralLite 클래스로 변경
- 그렇지 않다면 General 클래스로 변경
- 내부에서 어떠한 연산을 할 지 알 수 없는데,
  구현 시점에서 편의에 따라 column 여부가 차이나면
  이후에 문제가 될 수 있음
- 엔진이 살짝 무거워 질 것으로 보임
- LazyVarUpdater에다가 aux var 대응 분리
- General 클래스는 항상 모든걸 요구함
- 장기적으로 바람직 하지 않음
  - new General 호출이 그냥 가능해선 안 될 것
Hide_D merged commit 3edfff146e into devel 2023-08-03 21:32:02 +09:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: devsam/core#236