Ejemplo n.º 1
0
        /// <summary>
        /// Create new database - just create empty header page
        /// </summary>
        public void CreateNew()
        {
            // open file as create mode
            using (var stream = _fileHandler.CreateFile(_filename, false))
            {
                _log.Write(Logger.DISK, "initialize new datafile");

                // if has a initial size, reserve this space
                if (_initialSize > 0)
                {
                    _log.Write(Logger.DISK, "initial datafile size {0}", _initialSize);
                    stream.SetLength(_initialSize);
                }

                // create a new header page in bytes
                var bytes = this.CreateHeaderPage().WritePage();

                // write bytes on page
                stream.Write(bytes, 0, BasePage.PAGE_SIZE);
            }
        }