-
Notifications
You must be signed in to change notification settings - Fork 0
Kohana Issues
cbandy edited this page Dec 1, 2011
·
20 revisions
| Issue | Version | Status | Real-Database Solution |
|---|---|---|---|
| #1893 Error in PDO sqlite | 3.0.0 | Invalid | PDO_SQLite driver implements charset() |
| #1927 Missing ; in Expression | 3.0.0 | Fixed | Unit tests |
| #1945 Raw query type | 3.0.1 | Won’t | Database::execute() et al. execute raw SQL |
| #1957 table prefix with quote_identifier() | 3.0.0 | Fixed | Split Database::quote_identifier() into quote_column(), quote_table() and quote_identifier() |
| #1998 JOIN USING in builder | 3.1.0 | Fixed | SQL_Table_Reference::using() |
| #2005 Default result $as_object = FALSE | 3.0.9 | Fixed | Default argument value in Database::execute_query() |
| #2009 Support OR in JOIN ON conditions | 3.3.0 | - |
SQL_Table_Reference::on() accepts SQL_Conditions |
| #2024 count_records() missing parameter | 3.0.0 | Fixed | Unit tests |
| #2069 BETWEEN condition | 3.0.2 | Fixed | Unit tests |
| #2130 alias support in quote_table() | 3.0.1 | Fixed | SQL_Alias class |
| #2188 PDO + PgSQL last insert id | 3.2.0 | Won’t | Native PgSQL driver |
| #2219 allow OFFSET without LIMIT | 3.0.3 | Won’t | Native builders implement as necessary |
| #2233 from()→from() should not list a table twice | 3.0.1 | Fixed | from() overwrites the table reference |
| #2239 SELECT query drops fields | 3.0.1 | Fixed | Selected columns are not manipulated by SQL_DML_Select |
| #2261 Standardized introspection | 3.0.2 | Fixed | Database_iIntrospect driver interface closely matches the SQL-92 Information Schema |
| #2264 Result::as_array() ignores $value | 3.0.2 | Fixed | Unit tests |
| #2273 PgSQL support | 3.1.0 | Won’t | Native PgSQL driver |
| #2278 Transaction support | 3.1.0 | Fixed | Database::begin(), Database::commit() and Database::rollback() |
| #2297 Allow Result serialization | 3.0.5 | Fixed | Database_Result::serializable() cbdf168a |
| #2308 table prefix ignored in introspection | 3.0.2 | Fixed | Unit tests |
| #2363 return the right length for decimal data | 3.0.3 | Fixed | Unit tests |
| #2366 cannot INSERT INTO .. SELECT | 3.0.3 | Fixed | Unit tests |
| #2376 Regression: not quoting booleans | 3.0.4 | Fixed | Unit tests |
| #2377 schema support | 3.1.0 | Fixed | SQL_Identifier allows unlimited number of namespaces |
| #2382 Move column types to config | 3.0.4 | Fixed | Drivers can override SQL::datatype() to handle non-standard types |
| #2383 Consistent introspection | 3.3.0 | – | Database_iIntrospect driver interface closely matches the SQL-92 Information Schema |
| #2388 query builder does not support parameter binding | 3.0.4 | Fixed | Builders derive from SQL_Expression which has parameter binding |
| #2399 cannot assign SELECT columns using array | 3.0.4 | Fixed | SQL_DML_Select::columns() accepts an array of columns |
| #2413 list_tables() throws exception | 3.0.4 | Fixed | Unit tests |
| #2466 Database_Result as_array() should rewind | 3.0.4 | Fixed | Database_Result::as_array() does not change the iterator position |
| #2467 ODBC cannot escape values | 3.0.4 | Invalid | Builders are passed directly to Database::execute() et al. The driver can turn this into parameterized SQL when necessary |
| #2481 Allow DELETE .. LIMIT | 3.0.4 | Fixed | Allowed in SQL_DML_Delete with documented RDBMS support |
| #2549 UNION support | 3.1.0 | Fixed | SQL_DML_Set::union() |
| #2636 Incorrect SQL generated when escaping floats | 3.0.4 | Fixed | Unit tests. Database_Numeric can be used for advanced formatting |
| #2741 count_last_query() | 3.0.5 | Fixed | Builders can be reused with LIMIT and OFFSET unset |
| #2753 Dynamically set the default database instance | 3.0.5 | Fixed | The ‘default’ Database instance can be given any configuration array in Database::instance() |
| #2760 Allow cache to be cleared and fetched in one call | 3.2.0 | Fixed | Database_Query_Cached has methods for each use case. set() will execute and cache unconditionally 2fc65909 |
| #2761 Query should not require a query type | 3.1.0 | Invalid | Split Database::query() into Database::execute_command(), Database::execute_insert() and Database::execute_query() |
| #2780 table prefixes not handled correctly in JOIN | 3.0.8 | Fixed | SQL_Table receives the table prefix while SQL_Identifier does not |
| #2799 MySQL disconnect() does not return correct boolean | 3.0.5 | Fixed | Database::disconnect() throws a Database_Exception upon error |
| #2842 Allow single expressions in WHERE | 3.3.0 | – | SQL_DML_Select::where() accepts a single SQL_Expression |
| #2851 INSERT builder not replacing placeholders with NULL | 3.0.5 | Fixed | Unit tests |
| #2859 Automatically change = NULL to IS NULL | 3.0.6 | Fixed |
= and IS should not be interchanged. SQL_Identical expression handles such matching for NULL parameter values |
| #2881 Query::cached() does not use default lifetime | 3.0.9 | Fixed | Database_Query_Cached::execute() uses the Cache driver default when no lifetime is passed |
| #2883 Allow clearing cached result of query object | 3.1.0 | Fixed | Database_Query_Cached::delete() |
| #2915 Lacking identifier option of PDO | 3.0.6 | Fixed | Every driver supports the 'quote_character' configuration option |
| #2931 NOT condition helpers | 3.3.0 | – | SQL_Conditions::not() et al. 6fab9e74 |
| #2935 Reconnect support | 3.0.10 | Fixed | Connection credentials are allowed in a trace |
| #2955 Ability to UPDATE and DELETE from multiple tables | 3.0.8 | Fixed | SQL_DML_Delete and SQL_DML_Update accept SQL_Table_Reference |
| #2974 Allow values (not identifiers) in JOIN ON conditions | 3.0.8 | Invalid |
SQL_Table_Reference::on() accepts SQL_Conditions. Columns are distinguished from values using SQL_Column |
| #2985 PDO + SQLite introspection | 3.0.8 | Won’t |
PDO_SQLite driver implements Database_iIntrospect |
| #3011 Support UPDATE .. LIMIT | 3.0.8 | Fixed | Allowed in SQL_DML_Update with documented RDBMS support |
| #3048 MSSQL SET NAMES error | 3.0.7 | Invalid | Character set configuration documented in each driver |
| #3069 PDO should include prepare() | 3.1.0 | Won’t | Database_PDO::prepare() creates a PDOStatement from raw SQL |
| #3076 Abstract query builder to support more than SQL | 3.3.0 | - | Each driver can override the builder factory methods |
| #3095 Support OR in JOIN conditions | 3.3.0 | – | SQL_Table_Reference::on() accepts SQL_Conditions |
| #3152 Throw Database_Exception instead of PDOException | 3.0.8 | Fixed | Unit tests |
| #3156 and_where() should alias where() | – | Won’t | SQL_Conditions allows any logical operator and has helpers and_column(), or_column(), et al. |
| #3165 Database::connect() should throw Database_Exception | 3.0.8 | Fixed | Unit tests |
| #3204 current() broken with PDO | 3.0.9 | Fixed | Don’t call current() when the iterator is not valid(). get() and offsetGet() have defined behavior for invalid offsets |
| #3227 Allow row result class to be passed in execute() | 3.2.0 | Fixed | Builders are passed directly to Database::execute() et al. |
| #3305 exists() support in query builder | 3.0.9 | Fixed | SQL_Conditions::exists() accepts a query builder or raw SQL |
| #3329 MySQL sql_mode in config | 3.2.0 | Fixed | Database_MySQL has a variables config option to set any number of session variables during connect() |
| #3350 Move PDO driver to module | 3.1.0 | Won’t | Unit tests |
| #3351 list table columns without the table_prefix | 3.0.10 | Fixed | Passing SQL_Identifier to table_columns() will not add the table_prefix |
| #3356 Symbol for table prefix in raw SQL | 3.1.0 | Won’t | SQL_Expression with SQL_Table parameter |
| #3389 Result::current() should return NULL | 3.1.0 | Fixed | Don’t call current() when the iterator is not valid(). get() and offsetGet() have defined behavior for invalid offsets |
| #3394 Database::count_last_query() SQL injection | 3.1.0 | Fixed | Method removed. Builder components can be reset |
| #3398 UPDATE .. ORDER BY | 3.0.9 | Fixed | Native builders for DELETE and UPDATE for MySQL |
| #3443 query builder ON should support IN | 3.0.9 | Won’t |
SQL_Table_Reference::on() accepts SQL_Conditions |
| #3412 PDO introspection | 3.3.0 | – | Introspection is an optional feature in the Database_iIntrospect interface |
| #3429 Expression parameters | 3.2.0 | Fixed | SQL_Expression allows any type of parameter |
| #3432 Nested transactions | 3.3.0 | – | 4ac9bc5a |
| #3502 Getter/setter for PDO instance | 3.2.0 | Fixed | PDO SQLite driver exposes its native features e350bf9f |
| #3569 Regression: Database subquery with aliases | 3.1.0 | – | Unit tests |
| #3608 MySQL connect() errors | 3.0.12 | Fixed | Unit tests |
| #3625 Creating tables in database | 3.3.0 | - |
SQL_DDL_Create_Table |
| #3707 escape should not add quotes | 3.2.0 | Won’t | Not all drivers can escape values. Database_iEscape::escape_literal() adds quotes because PDO does |
| #3735 Builders updated to allow unsetting LIMIT/OFFSET | 3.2.0 | Fixed | limit() and offset() can be reset with NULL on all builders |
| #3862 Allow caching via Cache module | 3.3.0 | - |
Database_Query_Cached uses the Cache module d2ad6327 |
| #3867 Query builder ignores JOINs for UPDATE/DELETE | 3.2.0 | Won’t | The syntax is not standard but is supported in the builders by using SQL_Table_Reference |
| #3872 Make instance optional in compile() | – | – | Builders are compiled by Database::execute() et al. |
| #3963 DB docs, “prepared statements” is misleading | 3.1.4 | - | Real prepared statements are handled by each driver natively |
| #4032 Logic in execute() results in empty result sets being queried again | 3.1.4 | Fixed | Database_Query_Cached uses the Cache class to store results |
| #4052 Ignore empty parentheses in or_where_close() / and_where_close() | 3.3.0 | – | SQL_Conditions::close_empty() 779b63ae |
| #4078 PDO set charset is not compatible | 3.3.0 | – | Database::set_charset() is removed and proper configuration arguments are documented ff4e3662 |
| #4103 Set MySQL session variables in a single statement | 3.2.0 | Fixed | 02ba3657 |
| #4106 PDO driver for SQLite | 3.3.0 | – | PDO_SQLite driver |
| #4342 Remove selected values | 3.3.0 | – | Reset by passing NULL to SQL_DML_Select::values() |
- #2077 – move Config_Database to database module
- #2647 – Session garbage collection
- #2667 – Session_Database missing parameter
- #2849 – Consistency when initializing classes with config dependencies
- #2852 – Enable caching at database-config level
- #2861 – list_columns() should return integer display width as well
- #3495 – Ability to remove “commands” from SQL builder
- #3842 – Easier syntax for where() and set() for inserts
- #3898 – Add support for MySQLi
- #4057 – Automatically handle aliases in GROUP BY, ORDER BY, WHERE and HAVING
- #4328 – Implement Log_Writer_Database with example schema