fix(mac): new metaReaderReleaseLock api to keep reader's buffer
This commit is contained in:
parent
0d52e92210
commit
060eb307a9
|
@ -94,6 +94,7 @@ typedef struct SMetaEntry SMetaEntry;
|
||||||
#define META_READER_NOLOCK 0x1
|
#define META_READER_NOLOCK 0x1
|
||||||
|
|
||||||
void metaReaderInit(SMetaReader *pReader, SMeta *pMeta, int32_t flags);
|
void metaReaderInit(SMetaReader *pReader, SMeta *pMeta, int32_t flags);
|
||||||
|
void metaReaderReleaseLock(SMetaReader *pReader);
|
||||||
void metaReaderClear(SMetaReader *pReader);
|
void metaReaderClear(SMetaReader *pReader);
|
||||||
int32_t metaGetTableEntryByUid(SMetaReader *pReader, tb_uid_t uid);
|
int32_t metaGetTableEntryByUid(SMetaReader *pReader, tb_uid_t uid);
|
||||||
int metaGetTableEntryByName(SMetaReader *pReader, const char *name);
|
int metaGetTableEntryByName(SMetaReader *pReader, const char *name);
|
||||||
|
|
|
@ -24,6 +24,13 @@ void metaReaderInit(SMetaReader *pReader, SMeta *pMeta, int32_t flags) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void metaReaderReleaseLock(SMetaReader *pReader) {
|
||||||
|
if (pReader->pMeta && !(pReader->flags & META_READER_NOLOCK)) {
|
||||||
|
metaULock(pReader->pMeta);
|
||||||
|
pReader->flags |= META_READER_NOLOCK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void metaReaderClear(SMetaReader *pReader) {
|
void metaReaderClear(SMetaReader *pReader) {
|
||||||
if (pReader->pMeta && !(pReader->flags & META_READER_NOLOCK)) {
|
if (pReader->pMeta && !(pReader->flags & META_READER_NOLOCK)) {
|
||||||
metaULock(pReader->pMeta);
|
metaULock(pReader->pMeta);
|
||||||
|
|
|
@ -429,6 +429,8 @@ int32_t addTagPseudoColumnData(SReadHandle* pHandle, SExprInfo* pPseudoExpr, int
|
||||||
return terrno;
|
return terrno;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
metaReaderReleaseLock(&mr);
|
||||||
|
|
||||||
for (int32_t j = 0; j < numOfPseudoExpr; ++j) {
|
for (int32_t j = 0; j < numOfPseudoExpr; ++j) {
|
||||||
SExprInfo* pExpr = &pPseudoExpr[j];
|
SExprInfo* pExpr = &pPseudoExpr[j];
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue