Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
$Id: TODO,v 1.6.2.2 2005/11/26 21:29:31 wez Exp $
2
 
3
Roadmap for PDO
4
 
5
Core, version 1.1:
6
==================
7
 
8
 - Add PDO::queryParams(), similar to PDO::query(), but accepts
9
   an array of parameters as the second argument, pushing the remaining
10
   args (which are args to setFetchMode()) up by one.
11
 
12
 - Separate the handle factory call into two phases:
13
   - handle creation
14
   - connecting
15
 
16
   This would then allow PDO to call setAttribute()
17
   for each driver option specified in the constructor.
18
   Right now, the handling of driver attributes is a bit sloppy.
19
 
20
 - Add:
21
   pdo.max_persistent
22
   pdo.persistent_timeout
23
   pdo.ping_interval
24
 
25
   with the same meanings as those options from oci8.
26
 
27
 - BLOB/CLOB.
28
   Investigate the various APIs to determine if we can
29
   transparently map BLOBs and CLOBs as PDO_PARAM_LOB.
30
   If the API needs hints from the client side, we need
31
   to introduce a PDO_PARAM_CLOB to differentiate between
32
   binary and character data.
33
 
34
 - Character set selection.
35
   Generalize/standardize this.
36
 
37
 - meta data.
38
   Formalize getColumnMeta().
39
   Look at retrieving lists of tables and other objects in the db.
40
 
41
 - tracing/logging/debugging
42
   Add ini options:
43
 
44
   pdo.trace_file
45
   pdo.enable_tracing
46
 
47
   And corresponding attributes, ATTR_TRACE_FILE, ATTR_TRACING_ENABLE,
48
   settable at dbh and stmt levels independently.  If set at the dbh level,
49
   the stmt will inherit its value.  If not set explicitly in code, the
50
   defaults for the dbh will come from the INI settings.
51
 
52
   ATTR_TRACE_FILE will accept a string or a stream.
53
 
54
   The INI options are useful for administrative tracing/debugging.
55
   Trace mode will output very verbose info.
56
 
57
 
58
General DB API Roundup:
59
=========
60
  Consider how the following can be implemented in PDO:
61
 
62
  mysqli_change_user(); alters auth credentials on a live connection
63
  mysqli_info(); info about rows affected by last query
64
  mysqli_master_query(); force query to run on master
65
  mysqli_ping(); ping / reconnect
66
  mysqli_stat(); one line summary of server status
67
 
68
  oci_password_change()
69
 
70
  Also consider master/slave and/or failover server configuration.
71
 
72
 
73
Postgres:
74
=========
75
 
76
 - Real large object support.
77
 - Someone with more pgsql experience can suggest more features
78
 
79
Oracle:
80
=======
81
 
82
 - Support for array types and collections.
83
 
84
Userspace PDO Driver:
85
=====================
86
 
87
 - Will be hard.
88
 
89
PDO Session module:
90
===================
91
 
92
 - Is it worth writing in C?
93
   Probably not.
94
 
95
 
96
vim:se et ts=2 sw=2 tw=78:
97