コード例 #1
0
CAMdataHandler::CAMdataHandler(long size, int dType)
{
        allocateData(size,dType);
        setTypeFlag(dType);
        temporaryFlag   = 0;
        referenceCount  = 0;
}
コード例 #2
0
void CAMdataHandler::initialize(long size, int dType)
{
        destroyData();
        allocateData(size,dType);
        setTypeFlag(dType);
        temporaryFlag   = 0;
}
コード例 #3
0
ファイル: vdbemem.c プロジェクト: KnowNo/test-code-backup
/*
** Delete any previous value and set the value to be a BLOB of length
** n containing all zeros.
*/
void sqlite3VdbeMemSetZeroBlob(Mem *pMem, int n){
  sqlite3VdbeMemRelease(pMem);
  setTypeFlag(pMem, MEM_Blob);
  pMem->flags = MEM_Blob|MEM_Zero;
  pMem->type = SQLITE_BLOB;
  pMem->n = 0;
  if( n<0 ) n = 0;
  pMem->u.i = n;
  pMem->enc = SQLITE_UTF8;
}
コード例 #4
0
ファイル: vdbemem.c プロジェクト: KnowNo/test-code-backup
/*
** Convert pMem so that it has types MEM_Real or MEM_Int or both.
** Invalidate any prior representations.
*/
int sqlite3VdbeMemNumerify(Mem *pMem){
  double r1, r2;
  i64 i;
  assert( (pMem->flags & (MEM_Int|MEM_Real|MEM_Null))==0 );
  assert( (pMem->flags & (MEM_Blob|MEM_Str))!=0 );
  assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) );
  r1 = sqlite3VdbeRealValue(pMem);
  i = doubleToInt64(r1);
  r2 = (double)i;
  if( r1==r2 ){
    sqlite3VdbeMemIntegerify(pMem);
  }else{
    pMem->r = r1;
    setTypeFlag(pMem, MEM_Real);
  }
  return SQLITE_OK;
}
コード例 #5
0
CAMdataHandler::CAMdataHandler( const CAMdataHandler& A)
{
    if(A.temporaryFlag == 1)
    {
        dataType        = A.dataType;
        dataSize        = A.dataSize;
        dataPointer     = A.dataPointer;
        temporaryFlag   = 0;
        referenceCount  = 0;

    }
    else
    {
        allocateData(A.dataSize,A.dataType);
        setTypeFlag(A.dataType);
        copyData(A.dataSize,A.dataPointer);
        temporaryFlag   = 0;
        referenceCount  = 0;
    }
}
コード例 #6
0
void  CAMdataHandler::initialize(const CAMdataHandler& A)
{


    if(A.temporaryFlag == 1)
    {
        dataType        = A.dataType;
        dataSize        = A.dataSize;
        dataPointer     = A.dataPointer;
        temporaryFlag   = 0;
    }
    else
    {
        destroyData();
        allocateData(A.dataSize,A.dataType);
        setTypeFlag(A.dataType);
        copyData(A.dataSize,A.dataPointer);
        temporaryFlag   = 0;
    }
}
コード例 #7
0
//
//********************************************************************************
//                    ASSIGNMENT
//********************************************************************************
//
CAMdataHandler&  CAMdataHandler::operator =( const CAMdataHandler& A)
{
    if(A.temporaryFlag == 1)
    {
        dataType        = A.dataType;
        dataSize        = A.dataSize;
        dataPointer     = A.dataPointer;
        temporaryFlag   = 0;
        referenceCount  = 0;
    }
    else
    {
        destroyData();
        allocateData(A.dataSize,A.dataType);
        setTypeFlag(A.dataType);
        copyData(A.dataSize,A.dataPointer);
        temporaryFlag   = 0;
        referenceCount  = 0;
    }
    return *this;
}
コード例 #8
0
ファイル: vdbemem.c プロジェクト: KnowNo/test-code-backup
/*
** Delete any previous value and set the value stored in *pMem to NULL.
*/
void sqlite3VdbeMemSetNull(Mem *pMem){
  setTypeFlag(pMem, MEM_Null);
  pMem->type = SQLITE_NULL;
}
コード例 #9
0
ファイル: vdbemem.c プロジェクト: KnowNo/test-code-backup
/*
** Convert pMem so that it is of type MEM_Real.
** Invalidate any prior representations.
*/
int sqlite3VdbeMemRealify(Mem *pMem){
  assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) );
  pMem->r = sqlite3VdbeRealValue(pMem);
  setTypeFlag(pMem, MEM_Real);
  return SQLITE_OK;
}
コード例 #10
0
ファイル: vdbemem.c プロジェクト: KnowNo/test-code-backup
/*
** Convert pMem to type integer.  Invalidate any prior representations.
*/
int sqlite3VdbeMemIntegerify(Mem *pMem){
  assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) );
  pMem->u.i = sqlite3VdbeIntValue(pMem);
  setTypeFlag(pMem, MEM_Int);
  return SQLITE_OK;
}