]> wagnertech.de Git - projects.git/blobdiff - verleihnix/Verleihnix/impl/data/build/classes/propel/om/BaseMediumPeer.php
verleihnix komplett eingescheckt
[projects.git] / verleihnix / Verleihnix / impl / data / build / classes / propel / om / BaseMediumPeer.php
diff --git a/verleihnix/Verleihnix/impl/data/build/classes/propel/om/BaseMediumPeer.php b/verleihnix/Verleihnix/impl/data/build/classes/propel/om/BaseMediumPeer.php
new file mode 100644 (file)
index 0000000..d9307e6
--- /dev/null
@@ -0,0 +1,850 @@
+<?php
+
+
+/**
+ * Base static class for performing query and update operations on the 'medium' table.
+ *
+ *
+ *
+ * @package propel.generator.propel.om
+ */
+abstract class BaseMediumPeer
+{
+
+    /** the default database name for this class */
+    const DATABASE_NAME = 'mkrimi';
+
+    /** the table name for this class */
+    const TABLE_NAME = 'medium';
+
+    /** the related Propel class for this table */
+    const OM_CLASS = 'Medium';
+
+    /** the related TableMap class for this table */
+    const TM_CLASS = 'MediumTableMap';
+
+    /** The total number of columns. */
+    const NUM_COLUMNS = 8;
+
+    /** The number of lazy-loaded columns. */
+    const NUM_LAZY_LOAD_COLUMNS = 0;
+
+    /** The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS) */
+    const NUM_HYDRATE_COLUMNS = 8;
+
+    /** the column name for the id field */
+    const ID = 'medium.id';
+
+    /** the column name for the mod field */
+    const MOD = 'medium.mod';
+
+    /** the column name for the autor field */
+    const AUTOR = 'medium.autor';
+
+    /** the column name for the titel field */
+    const TITEL = 'medium.titel';
+
+    /** the column name for the eigentumer field */
+    const EIGENTUMER = 'medium.eigentumer';
+
+    /** the column name for the zz_bei field */
+    const ZZ_BEI = 'medium.zz_bei';
+
+    /** the column name for the kommentar field */
+    const KOMMENTAR = 'medium.kommentar';
+
+    /** the column name for the class_key field */
+    const CLASS_KEY = 'medium.class_key';
+
+    /** A key representing a particular subclass */
+    const CLASSKEY_1 = '1';
+
+    /** A key representing a particular subclass */
+    const CLASSKEY_KRIMI = '1';
+
+    /** A class that can be returned by this peer. */
+    const CLASSNAME_1 = 'Krimi';
+
+    /** A key representing a particular subclass */
+    const CLASSKEY_2 = '2';
+
+    /** A key representing a particular subclass */
+    const CLASSKEY_HORBUCH = '2';
+
+    /** A class that can be returned by this peer. */
+    const CLASSNAME_2 = 'Horbuch';
+
+    /** A key representing a particular subclass */
+    const CLASSKEY_3 = '3';
+
+    /** A key representing a particular subclass */
+    const CLASSKEY_ROMAN = '3';
+
+    /** A class that can be returned by this peer. */
+    const CLASSNAME_3 = 'Roman';
+
+    /** The default string format for model objects of the related table **/
+    const DEFAULT_STRING_FORMAT = 'YAML';
+
+    /**
+     * An identity map to hold any loaded instances of Medium objects.
+     * This must be public so that other peer classes can access this when hydrating from JOIN
+     * queries.
+     * @var        array Medium[]
+     */
+    public static $instances = array();
+
+
+    /**
+     * holds an array of fieldnames
+     *
+     * first dimension keys are the type constants
+     * e.g. MediumPeer::$fieldNames[MediumPeer::TYPE_PHPNAME][0] = 'Id'
+     */
+    protected static $fieldNames = array (
+        BasePeer::TYPE_PHPNAME => array ('Id', 'Mod', 'Autor', 'Titel', 'Eigentumer', 'ZzBei', 'Kommentar', 'ClassKey', ),
+        BasePeer::TYPE_STUDLYPHPNAME => array ('id', 'mod', 'autor', 'titel', 'eigentumer', 'zzBei', 'kommentar', 'classKey', ),
+        BasePeer::TYPE_COLNAME => array (MediumPeer::ID, MediumPeer::MOD, MediumPeer::AUTOR, MediumPeer::TITEL, MediumPeer::EIGENTUMER, MediumPeer::ZZ_BEI, MediumPeer::KOMMENTAR, MediumPeer::CLASS_KEY, ),
+        BasePeer::TYPE_RAW_COLNAME => array ('ID', 'MOD', 'AUTOR', 'TITEL', 'EIGENTUMER', 'ZZ_BEI', 'KOMMENTAR', 'CLASS_KEY', ),
+        BasePeer::TYPE_FIELDNAME => array ('id', 'mod', 'autor', 'titel', 'eigentumer', 'zz_bei', 'kommentar', 'class_key', ),
+        BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, )
+    );
+
+    /**
+     * holds an array of keys for quick access to the fieldnames array
+     *
+     * first dimension keys are the type constants
+     * e.g. MediumPeer::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
+     */
+    protected static $fieldKeys = array (
+        BasePeer::TYPE_PHPNAME => array ('Id' => 0, 'Mod' => 1, 'Autor' => 2, 'Titel' => 3, 'Eigentumer' => 4, 'ZzBei' => 5, 'Kommentar' => 6, 'ClassKey' => 7, ),
+        BasePeer::TYPE_STUDLYPHPNAME => array ('id' => 0, 'mod' => 1, 'autor' => 2, 'titel' => 3, 'eigentumer' => 4, 'zzBei' => 5, 'kommentar' => 6, 'classKey' => 7, ),
+        BasePeer::TYPE_COLNAME => array (MediumPeer::ID => 0, MediumPeer::MOD => 1, MediumPeer::AUTOR => 2, MediumPeer::TITEL => 3, MediumPeer::EIGENTUMER => 4, MediumPeer::ZZ_BEI => 5, MediumPeer::KOMMENTAR => 6, MediumPeer::CLASS_KEY => 7, ),
+        BasePeer::TYPE_RAW_COLNAME => array ('ID' => 0, 'MOD' => 1, 'AUTOR' => 2, 'TITEL' => 3, 'EIGENTUMER' => 4, 'ZZ_BEI' => 5, 'KOMMENTAR' => 6, 'CLASS_KEY' => 7, ),
+        BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'mod' => 1, 'autor' => 2, 'titel' => 3, 'eigentumer' => 4, 'zz_bei' => 5, 'kommentar' => 6, 'class_key' => 7, ),
+        BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, )
+    );
+
+    /**
+     * Translates a fieldname to another type
+     *
+     * @param      string $name field name
+     * @param      string $fromType One of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME
+     *                         BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM
+     * @param      string $toType   One of the class type constants
+     * @return string          translated name of the field.
+     * @throws PropelException - if the specified name could not be found in the fieldname mappings.
+     */
+    public static function translateFieldName($name, $fromType, $toType)
+    {
+        $toNames = MediumPeer::getFieldNames($toType);
+        $key = isset(MediumPeer::$fieldKeys[$fromType][$name]) ? MediumPeer::$fieldKeys[$fromType][$name] : null;
+        if ($key === null) {
+            throw new PropelException("'$name' could not be found in the field names of type '$fromType'. These are: " . print_r(MediumPeer::$fieldKeys[$fromType], true));
+        }
+
+        return $toNames[$key];
+    }
+
+    /**
+     * Returns an array of field names.
+     *
+     * @param      string $type The type of fieldnames to return:
+     *                      One of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME
+     *                      BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM
+     * @return array           A list of field names
+     * @throws PropelException - if the type is not valid.
+     */
+    public static function getFieldNames($type = BasePeer::TYPE_PHPNAME)
+    {
+        if (!array_key_exists($type, MediumPeer::$fieldNames)) {
+            throw new PropelException('Method getFieldNames() expects the parameter $type to be one of the class constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME, BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM. ' . $type . ' was given.');
+        }
+
+        return MediumPeer::$fieldNames[$type];
+    }
+
+    /**
+     * Convenience method which changes table.column to alias.column.
+     *
+     * Using this method you can maintain SQL abstraction while using column aliases.
+     * <code>
+     *         $c->addAlias("alias1", TablePeer::TABLE_NAME);
+     *         $c->addJoin(TablePeer::alias("alias1", TablePeer::PRIMARY_KEY_COLUMN), TablePeer::PRIMARY_KEY_COLUMN);
+     * </code>
+     * @param      string $alias The alias for the current table.
+     * @param      string $column The column name for current table. (i.e. MediumPeer::COLUMN_NAME).
+     * @return string
+     */
+    public static function alias($alias, $column)
+    {
+        return str_replace(MediumPeer::TABLE_NAME.'.', $alias.'.', $column);
+    }
+
+    /**
+     * Add all the columns needed to create a new object.
+     *
+     * Note: any columns that were marked with lazyLoad="true" in the
+     * XML schema will not be added to the select list and only loaded
+     * on demand.
+     *
+     * @param      Criteria $criteria object containing the columns to add.
+     * @param      string   $alias    optional table alias
+     * @throws PropelException Any exceptions caught during processing will be
+     *          rethrown wrapped into a PropelException.
+     */
+    public static function addSelectColumns(Criteria $criteria, $alias = null)
+    {
+        if (null === $alias) {
+            $criteria->addSelectColumn(MediumPeer::ID);
+            $criteria->addSelectColumn(MediumPeer::MOD);
+            $criteria->addSelectColumn(MediumPeer::AUTOR);
+            $criteria->addSelectColumn(MediumPeer::TITEL);
+            $criteria->addSelectColumn(MediumPeer::EIGENTUMER);
+            $criteria->addSelectColumn(MediumPeer::ZZ_BEI);
+            $criteria->addSelectColumn(MediumPeer::KOMMENTAR);
+            $criteria->addSelectColumn(MediumPeer::CLASS_KEY);
+        } else {
+            $criteria->addSelectColumn($alias . '.id');
+            $criteria->addSelectColumn($alias . '.mod');
+            $criteria->addSelectColumn($alias . '.autor');
+            $criteria->addSelectColumn($alias . '.titel');
+            $criteria->addSelectColumn($alias . '.eigentumer');
+            $criteria->addSelectColumn($alias . '.zz_bei');
+            $criteria->addSelectColumn($alias . '.kommentar');
+            $criteria->addSelectColumn($alias . '.class_key');
+        }
+    }
+
+    /**
+     * Returns the number of rows matching criteria.
+     *
+     * @param      Criteria $criteria
+     * @param      boolean $distinct Whether to select only distinct columns; deprecated: use Criteria->setDistinct() instead.
+     * @param      PropelPDO $con
+     * @return int Number of matching rows.
+     */
+    public static function doCount(Criteria $criteria, $distinct = false, PropelPDO $con = null)
+    {
+        // we may modify criteria, so copy it first
+        $criteria = clone $criteria;
+
+        // We need to set the primary table name, since in the case that there are no WHERE columns
+        // it will be impossible for the BasePeer::createSelectSql() method to determine which
+        // tables go into the FROM clause.
+        $criteria->setPrimaryTableName(MediumPeer::TABLE_NAME);
+
+        if ($distinct && !in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) {
+            $criteria->setDistinct();
+        }
+
+        if (!$criteria->hasSelectClause()) {
+            MediumPeer::addSelectColumns($criteria);
+        }
+
+        $criteria->clearOrderByColumns(); // ORDER BY won't ever affect the count
+        $criteria->setDbName(MediumPeer::DATABASE_NAME); // Set the correct dbName
+
+        if ($con === null) {
+            $con = Propel::getConnection(MediumPeer::DATABASE_NAME, Propel::CONNECTION_READ);
+        }
+        // BasePeer returns a PDOStatement
+        $stmt = BasePeer::doCount($criteria, $con);
+
+        if ($row = $stmt->fetch(PDO::FETCH_NUM)) {
+            $count = (int) $row[0];
+        } else {
+            $count = 0; // no rows returned; we infer that means 0 matches.
+        }
+        $stmt->closeCursor();
+
+        return $count;
+    }
+    /**
+     * Selects one object from the DB.
+     *
+     * @param      Criteria $criteria object used to create the SELECT statement.
+     * @param      PropelPDO $con
+     * @return Medium
+     * @throws PropelException Any exceptions caught during processing will be
+     *          rethrown wrapped into a PropelException.
+     */
+    public static function doSelectOne(Criteria $criteria, PropelPDO $con = null)
+    {
+        $critcopy = clone $criteria;
+        $critcopy->setLimit(1);
+        $objects = MediumPeer::doSelect($critcopy, $con);
+        if ($objects) {
+            return $objects[0];
+        }
+
+        return null;
+    }
+    /**
+     * Selects several row from the DB.
+     *
+     * @param      Criteria $criteria The Criteria object used to build the SELECT statement.
+     * @param      PropelPDO $con
+     * @return array           Array of selected Objects
+     * @throws PropelException Any exceptions caught during processing will be
+     *          rethrown wrapped into a PropelException.
+     */
+    public static function doSelect(Criteria $criteria, PropelPDO $con = null)
+    {
+        return MediumPeer::populateObjects(MediumPeer::doSelectStmt($criteria, $con));
+    }
+    /**
+     * Prepares the Criteria object and uses the parent doSelect() method to execute a PDOStatement.
+     *
+     * Use this method directly if you want to work with an executed statement directly (for example
+     * to perform your own object hydration).
+     *
+     * @param      Criteria $criteria The Criteria object used to build the SELECT statement.
+     * @param      PropelPDO $con The connection to use
+     * @throws PropelException Any exceptions caught during processing will be
+     *          rethrown wrapped into a PropelException.
+     * @return PDOStatement The executed PDOStatement object.
+     * @see        BasePeer::doSelect()
+     */
+    public static function doSelectStmt(Criteria $criteria, PropelPDO $con = null)
+    {
+        if ($con === null) {
+            $con = Propel::getConnection(MediumPeer::DATABASE_NAME, Propel::CONNECTION_READ);
+        }
+
+        if (!$criteria->hasSelectClause()) {
+            $criteria = clone $criteria;
+            MediumPeer::addSelectColumns($criteria);
+        }
+
+        // Set the correct dbName
+        $criteria->setDbName(MediumPeer::DATABASE_NAME);
+
+        // BasePeer returns a PDOStatement
+        return BasePeer::doSelect($criteria, $con);
+    }
+    /**
+     * Adds an object to the instance pool.
+     *
+     * Propel keeps cached copies of objects in an instance pool when they are retrieved
+     * from the database.  In some cases -- especially when you override doSelect*()
+     * methods in your stub classes -- you may need to explicitly add objects
+     * to the cache in order to ensure that the same objects are always returned by doSelect*()
+     * and retrieveByPK*() calls.
+     *
+     * @param Medium $obj A Medium object.
+     * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
+     */
+    public static function addInstanceToPool($obj, $key = null)
+    {
+        if (Propel::isInstancePoolingEnabled()) {
+            if ($key === null) {
+                $key = (string) $obj->getId();
+            } // if key === null
+            MediumPeer::$instances[$key] = $obj;
+        }
+    }
+
+    /**
+     * Removes an object from the instance pool.
+     *
+     * Propel keeps cached copies of objects in an instance pool when they are retrieved
+     * from the database.  In some cases -- especially when you override doDelete
+     * methods in your stub classes -- you may need to explicitly remove objects
+     * from the cache in order to prevent returning objects that no longer exist.
+     *
+     * @param      mixed $value A Medium object or a primary key value.
+     *
+     * @return void
+     * @throws PropelException - if the value is invalid.
+     */
+    public static function removeInstanceFromPool($value)
+    {
+        if (Propel::isInstancePoolingEnabled() && $value !== null) {
+            if (is_object($value) && $value instanceof Medium) {
+                $key = (string) $value->getId();
+            } elseif (is_scalar($value)) {
+                // assume we've been passed a primary key
+                $key = (string) $value;
+            } else {
+                $e = new PropelException("Invalid value passed to removeInstanceFromPool().  Expected primary key or Medium object; got " . (is_object($value) ? get_class($value) . ' object.' : var_export($value,true)));
+                throw $e;
+            }
+
+            unset(MediumPeer::$instances[$key]);
+        }
+    } // removeInstanceFromPool()
+
+    /**
+     * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table.
+     *
+     * For tables with a single-column primary key, that simple pkey value will be returned.  For tables with
+     * a multi-column primary key, a serialize()d version of the primary key will be returned.
+     *
+     * @param      string $key The key (@see getPrimaryKeyHash()) for this instance.
+     * @return Medium Found object or null if 1) no instance exists for specified key or 2) instance pooling has been disabled.
+     * @see        getPrimaryKeyHash()
+     */
+    public static function getInstanceFromPool($key)
+    {
+        if (Propel::isInstancePoolingEnabled()) {
+            if (isset(MediumPeer::$instances[$key])) {
+                return MediumPeer::$instances[$key];
+            }
+        }
+
+        return null; // just to be explicit
+    }
+
+    /**
+     * Clear the instance pool.
+     *
+     * @return void
+     */
+    public static function clearInstancePool($and_clear_all_references = false)
+    {
+      if ($and_clear_all_references) {
+        foreach (MediumPeer::$instances as $instance) {
+          $instance->clearAllReferences(true);
+        }
+      }
+        MediumPeer::$instances = array();
+    }
+
+    /**
+     * Method to invalidate the instance pool of all tables related to medium
+     * by a foreign key with ON DELETE CASCADE
+     */
+    public static function clearRelatedInstancePool()
+    {
+    }
+
+    /**
+     * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table.
+     *
+     * For tables with a single-column primary key, that simple pkey value will be returned.  For tables with
+     * a multi-column primary key, a serialize()d version of the primary key will be returned.
+     *
+     * @param      array $row PropelPDO resultset row.
+     * @param      int $startcol The 0-based offset for reading from the resultset row.
+     * @return string A string version of PK or null if the components of primary key in result array are all null.
+     */
+    public static function getPrimaryKeyHashFromRow($row, $startcol = 0)
+    {
+        // If the PK cannot be derived from the row, return null.
+        if ($row[$startcol] === null) {
+            return null;
+        }
+
+        return (string) $row[$startcol];
+    }
+
+    /**
+     * Retrieves the primary key from the DB resultset row
+     * For tables with a single-column primary key, that simple pkey value will be returned.  For tables with
+     * a multi-column primary key, an array of the primary key columns will be returned.
+     *
+     * @param      array $row PropelPDO resultset row.
+     * @param      int $startcol The 0-based offset for reading from the resultset row.
+     * @return mixed The primary key of the row
+     */
+    public static function getPrimaryKeyFromRow($row, $startcol = 0)
+    {
+
+        return (int) $row[$startcol];
+    }
+
+    /**
+     * The returned array will contain objects of the default type or
+     * objects that inherit from the default.
+     *
+     * @throws PropelException Any exceptions caught during processing will be
+     *          rethrown wrapped into a PropelException.
+     */
+    public static function populateObjects(PDOStatement $stmt)
+    {
+        $results = array();
+
+        // populate the object(s)
+        while ($row = $stmt->fetch(PDO::FETCH_NUM)) {
+            $key = MediumPeer::getPrimaryKeyHashFromRow($row, 0);
+            if (null !== ($obj = MediumPeer::getInstanceFromPool($key))) {
+                // We no longer rehydrate the object, since this can cause data loss.
+                // See http://www.propelorm.org/ticket/509
+                // $obj->hydrate($row, 0, true); // rehydrate
+                $results[] = $obj;
+            } else {
+                // class must be set each time from the record row
+                $cls = MediumPeer::getOMClass($row, 0);
+                $cls = substr('.'.$cls, strrpos('.'.$cls, '.') + 1);
+                $obj = new $cls();
+                $obj->hydrate($row);
+                $results[] = $obj;
+                MediumPeer::addInstanceToPool($obj, $key);
+            } // if key exists
+        }
+        $stmt->closeCursor();
+
+        return $results;
+    }
+    /**
+     * Populates an object of the default type or an object that inherit from the default.
+     *
+     * @param      array $row PropelPDO resultset row.
+     * @param      int $startcol The 0-based offset for reading from the resultset row.
+     * @throws PropelException Any exceptions caught during processing will be
+     *          rethrown wrapped into a PropelException.
+     * @return array (Medium object, last column rank)
+     */
+    public static function populateObject($row, $startcol = 0)
+    {
+        $key = MediumPeer::getPrimaryKeyHashFromRow($row, $startcol);
+        if (null !== ($obj = MediumPeer::getInstanceFromPool($key))) {
+            // We no longer rehydrate the object, since this can cause data loss.
+            // See http://www.propelorm.org/ticket/509
+            // $obj->hydrate($row, $startcol, true); // rehydrate
+            $col = $startcol + MediumPeer::NUM_HYDRATE_COLUMNS;
+        } else {
+            $cls = MediumPeer::getOMClass($row, $startcol);
+            $obj = new $cls();
+            $col = $obj->hydrate($row, $startcol);
+            MediumPeer::addInstanceToPool($obj, $key);
+        }
+
+        return array($obj, $col);
+    }
+
+    /**
+     * Returns the TableMap related to this peer.
+     * This method is not needed for general use but a specific application could have a need.
+     * @return TableMap
+     * @throws PropelException Any exceptions caught during processing will be
+     *          rethrown wrapped into a PropelException.
+     */
+    public static function getTableMap()
+    {
+        return Propel::getDatabaseMap(MediumPeer::DATABASE_NAME)->getTable(MediumPeer::TABLE_NAME);
+    }
+
+    /**
+     * Add a TableMap instance to the database for this peer class.
+     */
+    public static function buildTableMap()
+    {
+      $dbMap = Propel::getDatabaseMap(BaseMediumPeer::DATABASE_NAME);
+      if (!$dbMap->hasTable(BaseMediumPeer::TABLE_NAME)) {
+        $dbMap->addTableObject(new \MediumTableMap());
+      }
+    }
+
+    /**
+     * The returned Class will contain objects of the default type or
+     * objects that inherit from the default.
+     *
+     * @param      array $row PropelPDO result row.
+     * @param      int $colnum Column to examine for OM class information (first is 0).
+     * @throws PropelException Any exceptions caught during processing will be
+     *          rethrown wrapped into a PropelException.
+     */
+    public static function getOMClass($row = 0, $colnum = 0)
+    {
+        try {
+
+            $omClass = null;
+            $classKey = $row[$colnum + 7];
+
+            switch ($classKey) {
+
+                case MediumPeer::CLASSKEY_1:
+                    $omClass = MediumPeer::CLASSNAME_1;
+                    break;
+
+                case MediumPeer::CLASSKEY_2:
+                    $omClass = MediumPeer::CLASSNAME_2;
+                    break;
+
+                case MediumPeer::CLASSKEY_3:
+                    $omClass = MediumPeer::CLASSNAME_3;
+                    break;
+
+                default:
+                    $omClass = MediumPeer::OM_CLASS;
+
+            } // switch
+
+        } catch (Exception $e) {
+            throw new PropelException('Unable to get OM class.', $e);
+        }
+
+        return $omClass;
+    }
+
+    /**
+     * Performs an INSERT on the database, given a Medium or Criteria object.
+     *
+     * @param      mixed $values Criteria or Medium object containing data that is used to create the INSERT statement.
+     * @param      PropelPDO $con the PropelPDO connection to use
+     * @return mixed           The new primary key.
+     * @throws PropelException Any exceptions caught during processing will be
+     *          rethrown wrapped into a PropelException.
+     */
+    public static function doInsert($values, PropelPDO $con = null)
+    {
+        if ($con === null) {
+            $con = Propel::getConnection(MediumPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
+        }
+
+        if ($values instanceof Criteria) {
+            $criteria = clone $values; // rename for clarity
+        } else {
+            $criteria = $values->buildCriteria(); // build Criteria from Medium object
+        }
+
+        if ($criteria->containsKey(MediumPeer::ID) && $criteria->keyContainsValue(MediumPeer::ID) ) {
+            throw new PropelException('Cannot insert a value for auto-increment primary key ('.MediumPeer::ID.')');
+        }
+
+
+        // Set the correct dbName
+        $criteria->setDbName(MediumPeer::DATABASE_NAME);
+
+        try {
+            // use transaction because $criteria could contain info
+            // for more than one table (I guess, conceivably)
+            $con->beginTransaction();
+            $pk = BasePeer::doInsert($criteria, $con);
+            $con->commit();
+        } catch (Exception $e) {
+            $con->rollBack();
+            throw $e;
+        }
+
+        return $pk;
+    }
+
+    /**
+     * Performs an UPDATE on the database, given a Medium or Criteria object.
+     *
+     * @param      mixed $values Criteria or Medium object containing data that is used to create the UPDATE statement.
+     * @param      PropelPDO $con The connection to use (specify PropelPDO connection object to exert more control over transactions).
+     * @return int             The number of affected rows (if supported by underlying database driver).
+     * @throws PropelException Any exceptions caught during processing will be
+     *          rethrown wrapped into a PropelException.
+     */
+    public static function doUpdate($values, PropelPDO $con = null)
+    {
+        if ($con === null) {
+            $con = Propel::getConnection(MediumPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
+        }
+
+        $selectCriteria = new Criteria(MediumPeer::DATABASE_NAME);
+
+        if ($values instanceof Criteria) {
+            $criteria = clone $values; // rename for clarity
+
+            $comparison = $criteria->getComparison(MediumPeer::ID);
+            $value = $criteria->remove(MediumPeer::ID);
+            if ($value) {
+                $selectCriteria->add(MediumPeer::ID, $value, $comparison);
+            } else {
+                $selectCriteria->setPrimaryTableName(MediumPeer::TABLE_NAME);
+            }
+
+        } else { // $values is Medium object
+            $criteria = $values->buildCriteria(); // gets full criteria
+            $selectCriteria = $values->buildPkeyCriteria(); // gets criteria w/ primary key(s)
+        }
+
+        // set the correct dbName
+        $criteria->setDbName(MediumPeer::DATABASE_NAME);
+
+        return BasePeer::doUpdate($selectCriteria, $criteria, $con);
+    }
+
+    /**
+     * Deletes all rows from the medium table.
+     *
+     * @param      PropelPDO $con the connection to use
+     * @return int             The number of affected rows (if supported by underlying database driver).
+     * @throws PropelException
+     */
+    public static function doDeleteAll(PropelPDO $con = null)
+    {
+        if ($con === null) {
+            $con = Propel::getConnection(MediumPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
+        }
+        $affectedRows = 0; // initialize var to track total num of affected rows
+        try {
+            // use transaction because $criteria could contain info
+            // for more than one table or we could emulating ON DELETE CASCADE, etc.
+            $con->beginTransaction();
+            $affectedRows += BasePeer::doDeleteAll(MediumPeer::TABLE_NAME, $con, MediumPeer::DATABASE_NAME);
+            // Because this db requires some delete cascade/set null emulation, we have to
+            // clear the cached instance *after* the emulation has happened (since
+            // instances get re-added by the select statement contained therein).
+            MediumPeer::clearInstancePool();
+            MediumPeer::clearRelatedInstancePool();
+            $con->commit();
+
+            return $affectedRows;
+        } catch (Exception $e) {
+            $con->rollBack();
+            throw $e;
+        }
+    }
+
+    /**
+     * Performs a DELETE on the database, given a Medium or Criteria object OR a primary key value.
+     *
+     * @param      mixed $values Criteria or Medium object or primary key or array of primary keys
+     *              which is used to create the DELETE statement
+     * @param      PropelPDO $con the connection to use
+     * @return int The number of affected rows (if supported by underlying database driver).  This includes CASCADE-related rows
+     *                         if supported by native driver or if emulated using Propel.
+     * @throws PropelException Any exceptions caught during processing will be
+     *          rethrown wrapped into a PropelException.
+     */
+     public static function doDelete($values, PropelPDO $con = null)
+     {
+        if ($con === null) {
+            $con = Propel::getConnection(MediumPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
+        }
+
+        if ($values instanceof Criteria) {
+            // invalidate the cache for all objects of this type, since we have no
+            // way of knowing (without running a query) what objects should be invalidated
+            // from the cache based on this Criteria.
+            MediumPeer::clearInstancePool();
+            // rename for clarity
+            $criteria = clone $values;
+        } elseif ($values instanceof Medium) { // it's a model object
+            // invalidate the cache for this single object
+            MediumPeer::removeInstanceFromPool($values);
+            // create criteria based on pk values
+            $criteria = $values->buildPkeyCriteria();
+        } else { // it's a primary key, or an array of pks
+            $criteria = new Criteria(MediumPeer::DATABASE_NAME);
+            $criteria->add(MediumPeer::ID, (array) $values, Criteria::IN);
+            // invalidate the cache for this object(s)
+            foreach ((array) $values as $singleval) {
+                MediumPeer::removeInstanceFromPool($singleval);
+            }
+        }
+
+        // Set the correct dbName
+        $criteria->setDbName(MediumPeer::DATABASE_NAME);
+
+        $affectedRows = 0; // initialize var to track total num of affected rows
+
+        try {
+            // use transaction because $criteria could contain info
+            // for more than one table or we could emulating ON DELETE CASCADE, etc.
+            $con->beginTransaction();
+
+            $affectedRows += BasePeer::doDelete($criteria, $con);
+            MediumPeer::clearRelatedInstancePool();
+            $con->commit();
+
+            return $affectedRows;
+        } catch (Exception $e) {
+            $con->rollBack();
+            throw $e;
+        }
+    }
+
+    /**
+     * Validates all modified columns of given Medium object.
+     * If parameter $columns is either a single column name or an array of column names
+     * than only those columns are validated.
+     *
+     * NOTICE: This does not apply to primary or foreign keys for now.
+     *
+     * @param Medium $obj The object to validate.
+     * @param      mixed $cols Column name or array of column names.
+     *
+     * @return mixed TRUE if all columns are valid or the error message of the first invalid column.
+     */
+    public static function doValidate($obj, $cols = null)
+    {
+        $columns = array();
+
+        if ($cols) {
+            $dbMap = Propel::getDatabaseMap(MediumPeer::DATABASE_NAME);
+            $tableMap = $dbMap->getTable(MediumPeer::TABLE_NAME);
+
+            if (! is_array($cols)) {
+                $cols = array($cols);
+            }
+
+            foreach ($cols as $colName) {
+                if ($tableMap->hasColumn($colName)) {
+                    $get = 'get' . $tableMap->getColumn($colName)->getPhpName();
+                    $columns[$colName] = $obj->$get();
+                }
+            }
+        } else {
+
+        }
+
+        return BasePeer::doValidate(MediumPeer::DATABASE_NAME, MediumPeer::TABLE_NAME, $columns);
+    }
+
+    /**
+     * Retrieve a single object by pkey.
+     *
+     * @param int $pk the primary key.
+     * @param      PropelPDO $con the connection to use
+     * @return Medium
+     */
+    public static function retrieveByPK($pk, PropelPDO $con = null)
+    {
+
+        if (null !== ($obj = MediumPeer::getInstanceFromPool((string) $pk))) {
+            return $obj;
+        }
+
+        if ($con === null) {
+            $con = Propel::getConnection(MediumPeer::DATABASE_NAME, Propel::CONNECTION_READ);
+        }
+
+        $criteria = new Criteria(MediumPeer::DATABASE_NAME);
+        $criteria->add(MediumPeer::ID, $pk);
+
+        $v = MediumPeer::doSelect($criteria, $con);
+
+        return !empty($v) > 0 ? $v[0] : null;
+    }
+
+    /**
+     * Retrieve multiple objects by pkey.
+     *
+     * @param      array $pks List of primary keys
+     * @param      PropelPDO $con the connection to use
+     * @return Medium[]
+     * @throws PropelException Any exceptions caught during processing will be
+     *          rethrown wrapped into a PropelException.
+     */
+    public static function retrieveByPKs($pks, PropelPDO $con = null)
+    {
+        if ($con === null) {
+            $con = Propel::getConnection(MediumPeer::DATABASE_NAME, Propel::CONNECTION_READ);
+        }
+
+        $objs = null;
+        if (empty($pks)) {
+            $objs = array();
+        } else {
+            $criteria = new Criteria(MediumPeer::DATABASE_NAME);
+            $criteria->add(MediumPeer::ID, $pks, Criteria::IN);
+            $objs = MediumPeer::doSelect($criteria, $con);
+        }
+
+        return $objs;
+    }
+
+} // BaseMediumPeer
+
+// This is the static code needed to register the TableMap for this table with the main Propel class.
+//
+BaseMediumPeer::buildTableMap();
+