code: def process_nbcrow(self):
          
          self.log_response_message("got NBCROW message")
          r = self._reader
          info = self.res_info
          if not info:
              self.bad_stream('got row without info')
          assert len(info.columns) > 0
          info.row_count += 1
  
          # reading bitarray for nulls, 1 represent null values for
          # corresponding fields
          nbc = readall(r, (len(info.columns) + 7) // 8)
          for i, curcol in enumerate(info.columns):
              if tds_base.my_ord(nbc[i // 8]) & (1 << (i % 8)):
                  value = None
              else:
                  value = curcol.serializer.read(r)
              self.row[i] = value
docs: Reads and handles NBCROW stream.
  
          This stream contains list of values of one returned row in a compressed way,
          introduced in TDS 7.3.B
          Stream format url: http://msdn.microsoft.com/en-us/library/dd304783.aspx