int used_name::sql_data(char* buf,int size) const { int origin_size = size,len=0 ; int first_flag = 1 ; if(dirty[0]) { if(first_flag==0) {memcpy(buf,",",1); buf+= 1 ; size-= 1 ;} len =sql_name(buf,size); buf += len ; size -= len ;first_flag=0; } if(dirty[1]) { if(first_flag==0) {memcpy(buf,",",1); buf+= 1 ; size-= 1 ;} len =sql_type(buf,size); buf += len ; size -= len ;first_flag=0; } if(dirty[2]) { if(first_flag==0) {memcpy(buf,",",1); buf+= 1 ; size-= 1 ;} len =sql_server_id(buf,size); buf += len ; size -= len ;first_flag=0; } if(dirty[3]) { if(first_flag==0) {memcpy(buf,",",1); buf+= 1 ; size-= 1 ;} len =sql_status(buf,size); buf += len ; size -= len ;first_flag=0; } return origin_size - size ; }
int used_name::sql_key(char* buf,int size) const { int origin_size = size ,len = 0; len =sql_name(buf,size); buf += len ; size -= len ; memcpy(buf," and ",5); buf+= 5 ; size-= 5 ; len =sql_type(buf,size); buf += len ; size -= len ; memcpy(buf," and ",5); buf+= 5 ; size-= 5 ; len =sql_server_id(buf,size); buf += len ; size -= len ; return origin_size - size ; }
binding* operator()(const blob_t& r) const { return new binding_blob(sql_type(), r); }
binding* operator()(const std::string& r) const { return new binding_string(sql_type(), r); }
binding* operator()(const null_t&) const { return new binding_null(c_type(), sql_type()); }