public function compile_insert( &$query )
	{
		$build = ( $query->ignore ? 'insert ignore' : 'insert' ).' into '.$this->escape_table( $query ).' ';

		$value_collection = $query->values;

		// Get the array keys from the first array in the collection.
		// We use them as insert keys.
		$build .= '('.$this->escape_list( array_keys( reset( $value_collection ) ) ).') values ';

		// add the array values.
		foreach( $value_collection as $values )
		{
			$build .= '('.$this->parameterize( $values ).'), ';
		}

		// cut the last comma away
		return substr( $build, 0, -2 );
	}