@@ -2273,14 +2273,14 @@ MtmBuildConnectivityMatrix(nodemask_t* matrix)
22732273}
22742274
22752275
2276- static int MtmGetNumberOfVotingNodes ()
2276+ static int MtmGetNumberOfVotingNodes (nodemask_t clique )
22772277{
22782278int i ;
22792279int nVotingNodes = Mtm -> nAllNodes ;
2280- notebask_t deadNodeMask = Mtm -> deadNodeMask ;
2280+ nodemask_t deadNodeMask = Mtm -> deadNodeMask ;
22812281for (i = 0 ;deadNodeMask != 0 ;i ++ ) {
22822282if (BIT_CHECK (deadNodeMask ,i )) {
2283- if (!BIT_CHECK (newClique ,i )) {
2283+ if (!BIT_CHECK (clique ,i )) {
22842284nVotingNodes -= 1 ;
22852285}
22862286BIT_CLEAR (deadNodeMask ,i );
@@ -2299,7 +2299,7 @@ void MtmRefreshClusterStatus()
22992299nodemask_t matrix [MAX_NODES ];
23002300int cliqueSize ;
23012301nodemask_t oldClique = ~Mtm -> disabledNodeMask & (((nodemask_t )1 <<Mtm -> nAllNodes )- 1 );
2302- int nVotingNodes ;
2302+ int i , nVotingNodes ;
23032303
23042304MtmBuildConnectivityMatrix (matrix );
23052305newClique = MtmFindMaxClique (matrix ,Mtm -> nAllNodes ,& cliqueSize );
@@ -2320,7 +2320,7 @@ void MtmRefreshClusterStatus()
23202320newClique = MtmFindMaxClique (matrix ,Mtm -> nAllNodes ,& cliqueSize );
23212321}while (newClique != oldClique );
23222322
2323- nVotingNodes = MtmGetNumberOfVotingNodes ();
2323+ nVotingNodes = MtmGetNumberOfVotingNodes (newClique );
23242324if (cliqueSize >=nVotingNodes /2 + 1 || (cliqueSize == (nVotingNodes + 1 )/2 && MtmMajorNode )) {/* have quorum */
23252325fprintf (stderr ,"Old mask: " );
23262326for (i = 0 ;i < Mtm -> nAllNodes ;i ++ ) {
@@ -2385,7 +2385,8 @@ void MtmRefreshClusterStatus()
23852385 */
23862386void MtmCheckQuorum (void )
23872387{
2388- int nVotingNodes = MtmGetNumberOfVotingNodes ();
2388+ nodemask_t oldClique = ~Mtm -> disabledNodeMask & (((nodemask_t )1 <<Mtm -> nAllNodes )- 1 );
2389+ int nVotingNodes = MtmGetNumberOfVotingNodes (oldClique );
23892390
23902391if (Mtm -> nLiveNodes >=nVotingNodes /2 + 1 || (Mtm -> nLiveNodes == (nVotingNodes + 1 )/2 && MtmMajorNode )) {/* have quorum */
23912392if (Mtm -> status == MTM_IN_MINORITY ) {
@@ -4383,8 +4384,8 @@ Datum mtm_make_table_local(PG_FUNCTION_ARGS)
43834384rv = makeRangeVar (MULTIMASTER_SCHEMA_NAME ,MULTIMASTER_LOCAL_TABLES_TABLE ,-1 );
43844385rel = heap_openrv (rv ,RowExclusiveLock );
43854386if (rel != NULL ) {
4386- char * tableName = RelationGetRelationName ( rel );
4387- Oid schemaid = RelationGetNamespace ( rel );
4387+ char * tableName = get_rel_name ( reloid );
4388+ Oid schemaid = get_rel_namespace ( reloid );
43884389char * schemaName = get_namespace_name (schemaid );
43894390
43904391tupDesc = RelationGetDescr (rel );