1: <?php
2:
3: /**
4: * This file is part of the Nette Framework (http://nette.org)
5: *
6: * Copyright (c) 2004, 2011 David Grudl (http://davidgrudl.com)
7: *
8: * For the full copyright and license information, please view
9: * the file license.txt that was distributed with this source code.
10: */
11:
12: namespace Nette\Database;
13:
14: use Nette;
15:
16:
17:
18: /**
19: * Supplemental PDO database driver.
20: *
21: * @author David Grudl
22: */
23: interface ISupplementalDriver
24: {
25:
26: /**
27: * Delimites identifier for use in a SQL statement.
28: * @param string
29: * @return string
30: */
31: function delimite($name);
32:
33: /**
34: * Formats date-time for use in a SQL statement.
35: * @param DateTime
36: * @return string
37: */
38: function formatDateTime(\DateTime $value);
39:
40: /**
41: * Encodes string for use in a LIKE statement.
42: * @param string
43: * @param int
44: * @return string
45: */
46: function formatLike($value, $pos);
47:
48: /**
49: * Injects LIMIT/OFFSET to the SQL query.
50: * @param string SQL query that will be modified.
51: * @param int
52: * @param int
53: * @return void
54: */
55: function applyLimit(&$sql, $limit, $offset);
56:
57: /**
58: * Normalizes result row.
59: * @param array
60: * @param Statement
61: * @return array
62: */
63: function normalizeRow($row, $statement);
64:
65: }
66: