-
Notifications
You must be signed in to change notification settings - Fork 35
/
package_mssql.xml
570 lines (554 loc) · 21.7 KB
/
package_mssql.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
<?xml version="1.0" encoding="UTF-8"?>
<package packagerversion="1.9.1" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
<name>MDB2_Driver_mssql</name>
<channel>pear.php.net</channel>
<summary>mssql MDB2 driver</summary>
<description>This is the MS SQL Server MDB2 driver.</description>
<lead>
<name>David Coallier</name>
<user>davidc</user>
<email>davidc@agoraproduction.com</email>
<active>yes</active>
</lead>
<lead>
<name>Lukas Kahwe Smith</name>
<user>lsmith</user>
<email>smith@pooteeweet.org</email>
<active>no</active>
</lead>
<lead>
<name>Nathan Fredrickson</name>
<user>nrf</user>
<email>nathan@silverorange.com</email>
<active>yes</active>
</lead>
<lead>
<name>Lorenzo Alberton</name>
<user>quipo</user>
<email>l.alberton@quipo.it</email>
<active>yes</active>
</lead>
<helper>
<name>Ali Fazelzadeh</name>
<user>afz</user>
<email>afz@dev-code.com</email>
<active>yes</active>
</helper>
<date>2010-08-29</date>
<time>12:46:42</time>
<version>
<release>1.5.0b3</release>
<api>1.5.0b3</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license>BSD License</license>
<notes>
- Fixed bug #16612: Added the timestamp database attribute [genericbob]
- fixed bug #16118: escape doesn't take into account trailing backslashes [urkle]
- request #16903: Add ability to use ODBTP extension [hedroom]
- fixed numRows() with setLimit()
open todo items:
- explore fast limit/offset emulation (Request #4544)
</notes>
<contents>
<dir baseinstalldir="/" name="/">
<dir name="MDB2">
<dir name="Driver">
<dir name="Datatype">
<file name="mssql.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /MDB2/Driver/Datatype -->
<dir name="Function">
<file name="mssql.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /MDB2/Driver/Function -->
<dir name="Manager">
<file name="mssql.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /MDB2/Driver/Manager -->
<dir name="Native">
<file name="mssql.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /MDB2/Driver/Native -->
<dir name="Reverse">
<file name="mssql.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /MDB2/Driver/Reverse -->
<file name="mssql.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /MDB2/Driver -->
</dir> <!-- /MDB2 -->
<dir name="tests">
<file name="MDB2_nonstandard_mssql.php" role="test" />
</dir> <!-- /tests -->
<file name="package_mssql.xml" role="data" />
</dir> <!-- / -->
</contents>
<dependencies>
<required>
<php>
<min>5.3.0</min>
</php>
<pearinstaller>
<min>1.9.1</min>
</pearinstaller>
<package>
<name>MDB2</name>
<channel>pear.php.net</channel>
<min>2.5.0b3</min>
</package>
<extension>
<name>mssql</name>
</extension>
</required>
</dependencies>
<phprelease />
<changelog>
<release>
<version>
<release>1.5.0b3</release>
<api>1.5.0b3</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2010-08-29</date>
<license>BSD License</license>
<notes>
- Fixed bug #16612: Added the timestamp database attribute [genericbob]
- fixed bug #16118: escape doesn't take into account trailing backslashes [urkle]
- request #16903: Add ability to use ODBTP extension [hedroom]
- fixed numRows() with setLimit()
open todo items:
- explore fast limit/offset emulation (Request #4544)
</notes>
</release>
<release>
<version>
<release>1.3.0b2</release>
<api>1.3.0b2</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2009-01-14</date>
<license>BSD License</license>
<notes>
- fixed bug #11571: when using setLimit(), numRows() returns wrong values
- fixed bug #12117: disconnect() does not work as documented
- fixed bug #14019: MDB2 is not aware of MS-SQL 'smalldatetime' type
open todo items:
- explore fast limit/offset emulation (Request #4544)
</notes>
</release>
<release>
<version>
<release>1.3.0b1</release>
<api>1.3.0b1</api>
</version>
<stability>
<release>alpha</release>
<api>alpha</api>
</stability>
<date>2008-03-15</date>
<license>BSD License</license>
<notes>
- fixed bug #12391: fixed lastInsertID() (thanks to Marius Toma)
- fixed bug #12599: BLOB quoting incorrect (thanks to Ferdy Hanssen)
- fixed bug #12697: MDB2_Driver_mssql fails to load with the sybase_ct extension
- request #12731: added truncateTable() in the Manager module
- request #12732: added vacuum() in the Manager module for OPTIMIZE/VACUUM TABLE abstraction
- request #12800: added alterDatabase() in the Manager module [afz]
- fixed bug #12924: correctly handle internal expected errors even with custom error handling
- extended alterTable() support in the Manager module [afz]
- added standaloneQuery() and databaseExists()
- request #13106: added unixtimestamp() in the Function module
open todo items:
- explore fast limit/offset emulation (Request #4544)
</notes>
</release>
<release>
<version>
<release>1.3.0a2</release>
<api>1.3.0a2</api>
</version>
<stability>
<release>alpha</release>
<api>alpha</api>
</stability>
<date>2007-12-06</date>
<license>BSD License</license>
<notes>
- fixed bug #11571: when using setLimit(), numRows() returns wrong values
- request #12012: added collation support in createDatabase() and in createTable()
for table fields
open todo items:
- explore fast limit/offset emulation (Request #4544)
</notes>
</release>
<release>
<version>
<release>1.3.0a1</release>
<api>1.3.0a1</api>
</version>
<stability>
<release>alpha</release>
<api>alpha</api>
</stability>
<date>2007-10-28</date>
<license>BSD License</license>
<notes>
- initial support for FOREIGN KEY and CHECK constraints in the Reverse and Manager modules
- fixed bug #9735, #11175, #11228: two instances fail to keep different databases selected
- request #11297: added support for "schema.table" notation in the Reverse module
- request #11445: added support for unicode datatypes (nchar, nvarchar, ntext)
- fixed bug #11479: wrong query in nextID()
- fixed bug #11790: avoid array_diff() because it has a memory leak in PHP 5.1.x
- request #11797: don't use mssql_field_name() in listTableFields() in the Manager module
since it only returns the first 30 chars
- fixed bug #12010: MDB2_PORTABILITY_RTRIM option was ignored
- fixed bug #12083: createTable() in the Manager module now returns MDB2_OK on success,
as documented
- fixed bug #12269: tableInfo() in the Reverse module detect 'clob' data type
as first option
open todo items:
- explore fast limit/offset emulation (Request #4544)
</notes>
</release>
<release>
<version>
<release>1.2.1</release>
<api>1.2.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2007-05-03</date>
<license>BSD License</license>
<notes>
- return length as "precision,scale" for NUMERIC and DECIMAL fields in mapNativeDatatype()
- in getTableIndexDefinition() and getTableConstraintDefinition() in the Reverse
module, also return the field position in the index/constraint
open todo items:
- explore fast limit/offset emulation (Request #4544)
</notes>
</release>
<release>
<version>
<release>1.2.0</release>
<api>1.2.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2007-03-13</date>
<license>BSD License</license>
<notes>
- added ability to escape wildcard characters in escape() and quote()
- added setTransactionIsolation()
- added savepoint support to beginTransaction(), commit() and rollback()
- added debug() call at the end of a query/prepare/execute calling (Request #7933)
- added context array parameter to debug() and make use of it whereever sensible
- added optional method name parameter to raiseError() and use whereever possible
- added ability to escape wildcard characters in escape() and quote()
- added debug() call at the end of a query/prepare/execute calling (Request #7933)
- added 'nativetype' output to tableInfo() and getTableFieldDefinition()
- added 'mdb2type' output to getTableFieldDefinition()
- reworked tableInfo() to use a common implementation based on getTableFieldDefinition()
when a table name is passed (Bug #8124)
- fixed incorrect regex in mapNativeDatatype() (Bug #8256) (thx ioz at ionosfera dot com)
- use old DSN when rolling back open transactions in disconnect()
- MSSQL requires making columns exlicitly NULLable (Bug #8359)
- do not list empty contraints and indexes
- added support for autoincrement via IDENTITY in getDeclaration()
- ALTER TABLE bug when adding more than 1 column (Bug #8373)
- fixed handling return values when disable_query is set in _doQuery() and _execute()
- added dropIndex() to the manager module
- increased MDB2 dependency to XXX
- renamed valid_types property to valid_default_values in the Datatype module
- increased PHP dependency due to bug #31195
- using 'ADD COLUMN' syntax instead of just 'ADD' in alterTable()
- fixed bug #9024: typo in error checking
- fixed inheritance structure of convertResult()
- added support for new 'disable_iso_date' date DSN option (Request #8739)
- fix typos in error handling in a few places (bug #9024)
- do not skip id generation in nextId() when creating a sequence on demand
because this prevents lastInsertID() from working
- added support for more error codes (patch by Adam Harvey)
- migrated to package.xml version 2
- implemented getTableFieldDefinition() in the Reverse module
- implemented getTableIndexDefinition() in the Reverse module
- implemented getTableConstraintDefinition() in the Reverse module
- implemented getTriggerDefinition() in the Reverse module
- implemented listTableConstraints() in the Manager module
- implemented listFunctions() in the Manager module
- implemented listDatabases() in the Manager module
- implemented listUsers() in the Manager module
- implemented guid() in the Function module [globally unique identifier]
- implemented a fallback mechanism within getTableIndexDefinition() in the Reverse
module to ignore the 'idxname_format' option and use the index name as provided
in case of failure before returning an error
- added a 'nativetype_map_callback' option to map native data declarations back to
custom data types (thanks to Andrew Hill).
- added missing integer data types and their length in _mapNativeDatatype()
- phpdoc fixes
open todo items:
- explore fast limit/offset emulation (Request #4544)
</notes>
</release>
<release>
<version>
<release>1.1.2</release>
<api>1.1.2</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2007-01-10</date>
<license>BSD License</license>
<notes>
- removed mysql_select_db and used mssql_select_db
open todo items:
- explore fast limit/offset emulation (Request #4544)
</notes>
</release>
<release>
<version>
<release>1.1.0</release>
<api>1.1.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2006-06-15</date>
<license uri="http://www.example.com">BSD License</license>
<notes>
- added the listTableTriggers() method to the Manager.
- added the listViews() method to the Manager.
- aligned _modifyQuery() signature and phpdoc
- added the map datatype patch for (bug #6863)
- added support for length in reverse engineering of integer fields
- added 'result_introspection' supported metadata support
- fixed alterTable() when adding/dropping multiple columns
- properly quote table names in tableInfo() (related to bug #6573)
- use connected_server_info in getServerVersion() as a cache cache
- use parent::disconnect() in disconnect()
- added support for length in integer reverse engineering
- some fixes regarding boolean reverse engineering
- protect against sql injection in the reverse and manager module
- explicitly set is_manip parameter to false for transaction debug calls
- various minor tweaks to error messages, phpdoc and adding stub methods to the
common driver
- typo fixes in phpdoc (thx Stoyan)
- added support for fixed and variable types for 'text' in declarations,
as well as in reverse engineering (Request #1523)
- made _doQuery() return a reference
- added userinfo's to all raiseError calls that previously had none
- added 'prepared_statements' supported meta data setting
- limit fetch to 1 row in listTableFields()
- use setCharset() in connect()/_doConnect()
- generalized quoteIdentifier() with a property
- drop parentheses from executeStoredProc() syntax (bug #7855)
- switched most array_key_exists() calls to !empty() to improve readability and performance
- fixed a few edge cases and potential warnings
- added ability to rewrite queries for query(), exec() and prepare() using a debug handler callback
- added implementation for now() and substring() (Request #7774)
- check if result/connection has not yet been freed/dicsonnected before
attempting to free a result set(Bug #7790)
- fix range offsets (bug #7448)
- revert change that would prefer 'clob' over 'text' for TEXT fields
(this was breaking runtime instrospection)
- use SCOPE_IDENTITY() when version >= 8 (SQL Server 2000) otherwise fallback to
@@IDENTITY to retrieve last inserted value (bug #7291)
- implement getServerVersion()
- removed bogus but unharmful code from mapNativeDatatype()
</notes>
</release>
<release>
<version>
<release>1.0.1</release>
<api>1.0.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2006-04-16</date>
<license uri="http://www.example.com">BSD License</license>
<notes>
- added the listTableTriggers() method to the Manager.
- added the listViews() method to the Manager.
- aligned _modifyQuery() signature and phpdoc
- added the map datatype patch for (bug #6863)
- added support for length in reverse engineering of integer fields
- added 'result_introspection' supported metadata support
- fixed alterTable() when adding/dropping multiple columns
- properly quote table names in tableInfo() (related to bug #6573)
- use connected_server_info in getServerVersion() as a cache cache
- use parent::disconnect() in disconnect()
- added support for length in integer reverse engineering
- some fixes regarding boolean reverse engineering
- protect against sql injection in the reverse and manager module
</notes>
</release>
<release>
<version>
<release>1.0.0</release>
<api>1.0.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2006-02-09</date>
<license uri="http://www.example.com">BSD License</license>
<notes>
- unified case fixing in the list*() methods
- use getConnection() to access connection property
- split index and constraint handling
- quote identifiers where possible inside the manager methods depending on
the new 'quote_identifier' option (defaults to off)
- refactored get*Declaration() methods to use getTypeDeclaration()
- setting in_transaction to false on disconnect
- added new Function modules to handle difference in SQL functions
- force rollback() with open transactions on disconnect
- escape floats to make sure they do not contain evil characters (bug #5608)
- split off manipulation queries into exec() method from the query() method *BC BREAK*
- only if result_types is set to false in prepare() method the query will be
handled as a DML statement *BC BREAK*
- use lastInsertID() method in nextID()
- cleanup _checkSequence() method to not raise errors when no table was found
- added 'mdbtype' to tableInfo() output
- changed 'len' to 'length' in tableInfo() output *BC BREAK*
- explicitly pass if the module is phptype specific in all loadModule calls (bug #6226)
- fixed signature of quoteIdentifier() to make second param optional
- fixed signature of executeStoredProc()
- typo fixes in error handling of nextResult() and numRows() calls
- nextResult() returns false if there are no more result sets to read
- _fixIndexName() now just attempts to remove possible formatting
- renamed _isSequenceName() to _fixSequenceName()
- _fixSequenceName() now just attempts to remove possible formatting, and only
returns a boolean if no formatting was applied when the new "check" parameter is set to true
- added support for length in decimal columns
- removed ugly hack for quote parameter in quote() since it was insufficient
(escaping also needs to be prevented)
- handle null as resource when disable_query option is enabled in result object
open todo items:
- add missing index/contraint methods to the manager and reverse module methods
- ensure that all primary/unique/foreign key handling is only in the contraint methods
- fix alterTable()
</notes>
</release>
<release>
<version>
<release>0.2.0</release>
<api>0.2.0</api>
</version>
<stability>
<release>alpha</release>
<api>alpha</api>
</stability>
<date>2005-12-18</date>
<license uri="http://www.example.com">BSD License</license>
<notes>
- unified case fixing in the list*() methods
- use getConnection() to access connection property
- split index and constraint handling
- quote identifiers where possible inside the manager methods depending on
the new 'quote_identifier' option (defaults to off)
- refactored get*Declaration() methods to use getTypeDeclaration()
- setting in_transaction to false on disconnect
- added new Function modules to handle difference in SQL functions
- force rollback() with open transactions on disconnect
- escape floats to make sure they do not contain evil characters (bug #5608)
- split off manipulation queries into exec() method from the query() method *BC BREAK*
- only if result_types is set to false in prepare() method the query will be
handled as a DML statement *BC BREAK*
- use lastInsertID() method in nextID()
- cleanup _checkSequence() method to not raise errors when no table was found
- added 'mdbtype' to tableInfo() output
- changed 'len' to 'length' in tableInfo() output *BC BREAK*
open todo items:
- added missing index/contraint methods to the manager and reverse module methods
- ensure that all primary/unique/foreign key handling is only in the contraint methods
</notes>
</release>
<release>
<version>
<release>0.1.1</release>
<api>0.1.1</api>
</version>
<stability>
<release>alpha</release>
<api>alpha</api>
</stability>
<date>2005-10-10</date>
<license uri="http://www.example.com">BSD License</license>
<notes>
Warning: this release features numerous BC breaks!
There have been considerable improvements to the datatype, manager and reverse
modules. Furthermore preliminary support for auto increment and primary keys
has been added. Please note that making a field auto increment implies a single
column primary key on this field.
- increased php dependency to 4.3.0 due to the usage of the streams API since beta5
- MDB2_MSSQL_Driver: fixed a bug about missing msg variable,
fixed problem with database creation (incorrect ON clause)
- alterTable now needs the full definition to work (use getTableFieldDefinition
from Reverse module if you do not have a definition at hand) this eliminates the need
of the declaration part in the alterTable array.
- fix typo in error code mapping
- fixed problem with database creation (incorrect ON clause)
- fixed listTableIndexes()
- fix PHP4.4 breakage
- moved getInsertID() into core as lastInsertID()
- MDB2_ERROR does not evaluate to false in _skipLimitOffset()
- use !empty() instead of isset() in fetchRow to determine if result cols were bound or result types were set
- moved all private fetch mode fix methods into _fixResultArrayValues() for performance reasons
- renamed MDB2_PORTABILITY_LOWERCASE to MDB2_PORTABILITY_FIX_CASE and use 'field_case' option to determine if to upper- or lowercase (CASE_LOWER/CASE_UPPER)
- fixed bug in nextID (bug #5507)
- fixed bug in sequence handling in the manager module (bug #5507)
- use array_key_exists() instead of isset() where possible
- changed structure of field add/remove/change in alterTable() to match MDB2_Schema
- return 0 for manipulation queries when disable_query is enabled
open todo items:
- added missing createIndex() method
</notes>
</release>
<release>
<version>
<release>0.1.0</release>
<api>0.1.0</api>
</version>
<stability>
<release>alpha</release>
<api>alpha</api>
</stability>
<date>2005-04-29</date>
<license uri="http://www.example.com">BSD License</license>
<notes>
first unbundled release from MDB2 core
- dont just check for isset() for boolean values in order to support
setting them false as well (bug #4373)
- ensure SQL injection protection in all _quote() methods (was missing in
some decimal, float, time, date and timestamp implementations)
- typo fixes in constructor
- Warning: this release is untested
</notes>
</release>
</changelog>
</package>