// Creates a new table. func (db *Database) Create(name string) (*table.Table, int) { var newTable *table.Table _, exists := db.Tables[name] if exists { return nil, st.TableAlreadyExists } if len(name) > constant.MaxTableNameLength { return nil, st.TableNameTooLong } // Create table files and directories. tablefilemanager.Create(db.Path, name) // Open the table var status int newTable, status = table.Open(db.Path, name) if status == st.OK { // Add default columns for columnName, length := range constant.DatabaseColumns() { status = newTable.Add(columnName, length) if status != st.OK { return nil, status } } db.Tables[name] = newTable } return newTable, st.OK }