Permalink
Browse files

Merge pull request #141 from pekim/development

0.2.0
  • Loading branch information...
2 parents a80bb6b + 5938f77 commit 96c4ac3f4a86b724c72ee0b3dfefd250a6a6ba4e @patriksimek patriksimek committed Apr 1, 2014
Showing with 1,391 additions and 424 deletions.
  1. +47 −28 README.md
  2. +105 −29 src/connection.coffee
  3. +519 −151 src/data-type.coffee
  4. +37 −0 src/errors.coffee
  5. +1 −1 src/instance-lookup.coffee
  6. +6 −1 src/message-io.coffee
  7. +19 −4 src/metadata-parser.coffee
  8. +4 −2 src/packet.coffee
  9. +11 −17 src/request.coffee
  10. +19 −5 src/rpcrequest-payload.coffee
  11. +6 −4 src/sqlbatch-payload.coffee
  12. +1 −0 src/tds-versions.coffee
  13. +9 −10 src/token/colmetadata-token-parser.coffee
  14. +8 −8 src/token/done-token-parser.coffee
  15. +6 −2 src/token/env-change-token-parser.coffee
  16. +6 −6 src/token/infoerror-token-parser.coffee
  17. +0 −6 src/token/loginack-token-parser.coffee
  18. +39 −0 src/token/nbcrow-token-parser.coffee
  19. +2 −2 src/token/returnstatus-token-parser.coffee
  20. +3 −3 src/token/returnvalue-token-parser.coffee
  21. +9 −19 src/token/row-token-parser.coffee
  22. +14 −5 src/token/token-stream-parser.coffee
  23. +18 −4 src/tracking-buffer/readable-tracking-buffer.coffee
  24. +64 −1 src/tracking-buffer/writable-tracking-buffer.coffee
  25. +95 −15 src/value-parser.coffee
  26. +80 −30 test/integration/connection-test.coffee
  27. +52 −18 test/integration/datatypes-in-results-test.coffee
  28. +33 −6 test/integration/parameterised-statements-test.coffee
  29. +2 −2 test/integration/rpc-test.coffee
  30. +3 −0 test/integration/transactions-test.coffee
  31. +119 −0 test/integration/tvp-test.coffee
  32. +2 −4 test/unit/token/colmetadata-token-parser-test.coffee
  33. +1 −1 test/unit/token/done-token-parser-test.coffee
  34. +8 −4 test/unit/token/env-change-token-parser-test.coffee
  35. +1 −1 test/unit/token/infoerror-token-parser-test.coffee
  36. +40 −33 test/unit/token/row-token-parser-test.coffee
  37. +2 −2 test/unit/tracking-buffer/readable-tracking-buffer-test.coffee
View
@@ -1,45 +1,64 @@
-Tedious (node implementation of TDS)
-====================================
-[![Build Status](https://secure.travis-ci.org/pekim/tedious.png)](http://travis-ci.org/pekim/tedious)
+# Tedious (node implementation of TDS)
+[![Dependency Status](https://david-dm.org/pekim/tedious.png)](https://david-dm.org/pekim/tedious) [![NPM version](https://badge.fury.io/js/tedious.png)](http://badge.fury.io/js/tedious) [![Build Status](https://secure.travis-ci.org/pekim/tedious.png)](http://travis-ci.org/pekim/tedious)
Tedious is an implementation of the [TDS protocol](http://msdn.microsoft.com/en-us/library/dd304523.aspx),
-which is used to interact with instances of Microsoft's SQL Server.
+which is used to interact with instances of Microsoft's SQL Server. It is intended to be a fairly slim implementation of the protocol, with not too much additional functionality.
-It is intended to be a fairly slim implementation of the protocol, with not too much additional functionality.
+### Supported TDS versions
-Name
-----
-_Tedious_ is simply derived from a fast, slightly garbled, pronunciation of the letters T, D and S.
+- TDS 7.4 (SQL Server 2012/2014)
+- TDS 7.3.A (SQL Server 2008 R2)
+- TDS 7.3.B (SQL Server 2008)
+- TDS 7.2 (SQL Server 2005)
+- TDS 7.1 (SQL Server 2000)
+
+<a name="status" />
+## Status
+Current version: 0.1.5
-Status
-------
-Current version: v0.1.5
+### Coming soon in 0.2.0
-Coming soon
------------
-Although subject to change, this is the rough plan for the next few versions.
+- Added support for TDS 7.4
+- Added request cancelation
+- Added support for UDT, TVP, Time, Date, DateTime2, DateTimeOffset, Numeric, Decimal, SmallMoney and Money data types
+- Added option to choose whether to pass/receive times in UTC or local time (`useUTC`)
+- Binary, VarBinary and Image are now supported as input parameters
+- Binary, VarBinary and Image types are now returned as Buffer (was Array)
+- Connection errors are now correctly propagated to `connect` event
+- Better support for numeric column names and columns with same name
+- Errors are now instanceof Error / ConnectionError / RequestError (was plain text)
+- Transaction isolationLevel default is now `READ_COMMITED` (was `READ_UNCOMMITED`)
+- Fixed issue when zero value was casted as null when using BigInt as input parameter
+- Fixed issue when dates before 1900/01/01 in input parameters resulted in "Out of bounds" error
+- Fixed compatibility with TDS 7.1 (SQL Server 2000)
+- Minor fixes
-- support for more data types for parameters
-- possible support for varchar(max), nvarchar(max) and varbinary(max) as streams
+### Upgrade from 0.1.5 to 0.2.0
-### unplanned ###
-- decoding of column metadata flags
-- full decoding of collation data
-- ability to cancel a request
+- Time values are now passed/received in UTC instead of local time. You can disable this by `options.useUTC = false`.
+- There was a change in default transaction isolationLevel from `READ_UNCOMMITED` to `READ_COMMITED`. You can disable this by `options.isolationLevel = require('tedious').ISOLATION_LEVEL.READ_UNCOMMITTED`.
+- Binary values are now returned in Buffers.
+- All error values are no longer strings, but instances of Error.
+- Results (rows and column metadata) are now simple arrays. You can change this to key-value collections by `options.useColumnNames = true`.
-Documentation
--------------
+<a name="documentation" />
+## Documentation
More documentation is available at [pekim.github.io/tedious/](http://pekim.github.io/tedious/)
-Discussion
-----------
+<a name="discussion" />
+## Discussion
Google Group - http://groups.google.com/group/node-tedious
-Licence
--------
-(The MIT License)
+<a name="name" />
+## Name
+_Tedious_ is simply derived from a fast, slightly garbled, pronunciation of the letters T, D and S.
+
+<a name="license" />
+## Licence
+
+Copyright (c) 2010-2014 Mike D Pilsbury
-Copyright (c) 2010-2012 Mike D Pilsbury
+The MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
Oops, something went wrong.

0 comments on commit 96c4ac3

Please sign in to comment.