# Character Rune Handler Documentation ## Overview This document describes the database relationships and interactions for the `dbCharacterRuneHandler` class. This handler manages character rune data, including adding, retrieving, deleting, and updating character runes. ## Handler Class **File:** `src/engine/db/handlers/dbCharacterRuneHandler.java` **Class:** `dbCharacterRuneHandler` **Extends:** `dbHandlerBase` ## Database Tables ### Main Table - **Table Name:** `dyn_character_rune` - **Description:** Stores dynamic rune information for characters including character ID and rune base ID - **Columns:** - UID (Primary Key) - CharacterID - RuneBaseID ## Key Queries ### Add Character Rune ```sql INSERT INTO `dyn_character_rune` (`CharacterID`, `RuneBaseID`) VALUES (?, ?); ``` **File:** `dbCharacterRuneHandler.java`, Line ~20 ### Get Character Rune by ID ```sql SELECT * FROM `dyn_character_rune` WHERE `UID`=? ``` **File:** `dbCharacterRuneHandler.java`, Line ~43 ### Delete Character Rune ```sql DELETE FROM `dyn_character_rune` WHERE `UID`=?; ``` **File:** `dbCharacterRuneHandler.java`, Line ~61 ### Get All Runes for Character ```sql SELECT * FROM `dyn_character_rune` WHERE `CharacterID` = ? ``` **File:** `dbCharacterRuneHandler.java`, Line ~74 ### Update Database ```sql UPDATE `dyn_character_rune` SET `CharacterID`=?, `RuneBaseID`=? WHERE `UID` = ? ``` **File:** `dbCharacterRuneHandler.java`, Line ~91 ## Relationships 1. **Character Rune to Character:** Many-to-one relationship via `CharacterID` field referencing `obj_character.UID` 2. **Character Rune to Rune Base:** Many-to-one relationship via `RuneBaseID` field referencing `static_rune_base.ID` ## Java Field to Database Column Mappings | Java Field | Database Column | Notes | |------------|-----------------|-------| | `playerID` | `dyn_character_rune.CharacterID` | Reference to character | | `runeBaseID` | `dyn_character_rune.RuneBaseID` | Reference to rune base |