cubrid icon indicating copy to clipboard operation
cubrid copied to clipboard

[CBRD-26125] Coordinator for distributed transaction

Open beyondykk9 opened this issue 10 months ago • 1 comments

http://jira.cubrid.org/browse/CBRD-26125

Purpose

현재, 일부 기능만 구현되어 있는 코디네이터를 확장 구현한다.

Implementation

코디네이터의 미구현 상태인 아래 7개의 function 중 5개 function (get_participants, send_prepare, send_commit, send_abort, dump_participant)을 dblink 기능과 cci XA를 이용하여 구현한다.

struct log_2pc_global_data
{
  int (*get_participants) (int *particp_id_length, void **block_particps_ids);**
  int (*lookup_participant) (void *particp_id, int num_particps, void *block_particps_ids);
  char *(*sprintf_participant) (void *particp_id);
  void (*dump_participants) (FILE * fp, int block_length, void *block_particps_id);
  int (*send_prepare) (int gtrid, int num_particps, void *block_particps_ids);
  bool (*send_commit) (int gtrid, int num_particps, int *particp_indices, void *block_particps_ids);
  bool (*send_abort) (int gtrid, int num_particps, int *particp_indices, void *block_particps_ids, int collect);
};

Remarks

나머지 2개의 fucntion 중 lookup_participant는 필요 시 추후 구현, sprintf_participant는 이 함수를 호출하는 루틴에 직접 구현

beyondykk9 avatar Jun 25 '25 02:06 beyondykk9

/run medium sql

beyondykk9 avatar Aug 21 '25 00:08 beyondykk9