tiny_tds 0.9.5.rc.3-x64-mingw32 → 1.0.0-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +7 -1
- data/README.md +20 -3
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/appveyor.yml +1 -3
- data/ext/tiny_tds/extconf.rb +2 -0
- data/ext/tiny_tds/extconsts.rb +6 -5
- data/lib/tiny_tds/client.rb +1 -1
- data/ports/patches/freetds/{0.95.80 → 1.0rc3}/0001-mingw_missing_inet_pton.diff +0 -0
- data/test/client_test.rb +1 -0
- data/test/result_test.rb +1 -1
- data/test/test_helper.rb +4 -0
- metadata +7 -9
- data/ports/patches/freetds/0.91.112/Makefile.in.diff +0 -29
- data/ports/patches/freetds/0.91.112/dblib-30-char-username.diff +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d74ee6f8530ea4945d46b57d0cf7c7b202f77170
|
4
|
+
data.tar.gz: 7fd91edbb705af0ed5f0a90f19d9939bd3452e8b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 025ddd2c7836f7905122065135916babf333acc0922fc5cb89a998b0042b295468ba07f6d6d84041304f7b2ec8bfabc73df0dc4ee43fd1484ea79dd75f23aa03
|
7
|
+
data.tar.gz: 4c099efc1ad943e3401f3f7ae5674a8496d579479c93ef3607b2ec0a99d8d30ccc49e0c4a2733df698dbb870ad85e6ad4a59a40f472fa9479a33e4ff7b128bb6
|
data/CHANGELOG
CHANGED
@@ -1,4 +1,10 @@
|
|
1
|
-
* 0.
|
1
|
+
* 1.0.0 *
|
2
|
+
|
3
|
+
* Tested with FreeTDS 1.0.
|
4
|
+
* Add emoji support by default using FreeTDS v1.0 in docs.
|
5
|
+
|
6
|
+
|
7
|
+
* 0.9.5 * (release candidates only)
|
2
8
|
|
3
9
|
* Binstub wrappers for `tsql`. Fixes #227 #251
|
4
10
|
* Add support for 2008 data types. Must use TDSVER 7.3 or higher. Fixes #244 #251
|
data/README.md
CHANGED
@@ -43,7 +43,7 @@ If you use Windows, we pre-compile TinyTDS with static versions of FreeTDS, libi
|
|
43
43
|
|
44
44
|
## FreeTDS Compatibility & Configuration
|
45
45
|
|
46
|
-
TinyTDS is developed against FreeTDS 0.
|
46
|
+
TinyTDS is developed against FreeTDS 0.95, 0.99, and 1.0 current. Our default and recommended is 1.0. We also test with SQL Server 2008, 2014, and Azure. However, usage of TinyTDS with SQL Server 2000 or 2005 should be just fine. Below are a few QA style notes about installing FreeTDS.
|
47
47
|
|
48
48
|
**NOTE:** Windows users of our pre-compiled native gems need not worry about installing FreeTDS and its dependencies.
|
49
49
|
|
@@ -89,7 +89,7 @@ Creating a new client takes a hash of options. For valid iconv encoding options,
|
|
89
89
|
* :port - Defaults to 1433. Only used if :host is used.
|
90
90
|
* :database - The default database to use.
|
91
91
|
* :appname - Short string seen in SQL Servers process/activity window.
|
92
|
-
* :tds_version - TDS version. Defaults to "7.3"
|
92
|
+
* :tds_version - TDS version. Defaults to "7.3".
|
93
93
|
* :login_timeout - Seconds to wait for login. Default to 60 seconds.
|
94
94
|
* :timeout - Seconds to wait for a response to a SQL command. Default 5 seconds.
|
95
95
|
* :encoding - Any valid iconv value like CP1251 or ISO-8859-1. Default UTF-8.
|
@@ -326,6 +326,18 @@ SET ANSI_WARNINGS ON
|
|
326
326
|
Also, please read the [Azure SQL Database General Guidelines and Limitations](https://msdn.microsoft.com/en-us/library/ee336245.aspx) MSDN article to understand the differences. Specifically, the connection constraints section!
|
327
327
|
|
328
328
|
|
329
|
+
## Emoji Support 😍
|
330
|
+
|
331
|
+
This is possible using FreeTDS version 0.95 or higher. You must add the following config to your `freetds.conf` in either the global section or a specfic dataserver. If you are on Windows, the default location for your conf file will be in `C:\Sites`.
|
332
|
+
|
333
|
+
```ini
|
334
|
+
[global]
|
335
|
+
use utf-16 = true
|
336
|
+
```
|
337
|
+
|
338
|
+
Good news! If you are using FreeTDS v1.0 or later, then `use utf-16` is set true by default!
|
339
|
+
|
340
|
+
|
329
341
|
## Using MiniPortile
|
330
342
|
|
331
343
|
MiniPortile is a minimalistic implementation of a port/recipe system. <https://github.com/luislavena/mini_portile>
|
@@ -333,7 +345,7 @@ MiniPortile is a minimalistic implementation of a port/recipe system. <https://g
|
|
333
345
|
The TinyTDS project uses MiniPortile so that we can easily install a local version of FreeTDS and supporting libraries to link against when building a test version of TinyTDS. This same system is also used when installing TinyTDS with Rubygems and building native extensions. It is possible to build TinyTDS with a specific version of FreeTDS using the `TINYTDS_FREETDS_VERSION` environment variable. Here are some exampbles of possible values.
|
334
346
|
|
335
347
|
```
|
336
|
-
$ rake TDSVER='7.1' TINYTDS_FREETDS_VERSION='0.
|
348
|
+
$ rake TDSVER='7.1' TINYTDS_FREETDS_VERSION='0.95' -- --disable-system-freetds --disable-system-iconv
|
337
349
|
```
|
338
350
|
|
339
351
|
To find out more about the FreeTDS release system [visit this thread](http://lists.ibiblio.org/pipermail/freetds/2012q1/027756.html) on their mailing list. You can also browse thier FTP server [ftp://ftp.astron.com/pub/freetds/](ftp://ftp.astron.com/pub/freetds/) for version number strings.
|
@@ -356,6 +368,11 @@ The compiled gems will exist in `./pkg` directory.
|
|
356
368
|
|
357
369
|
First make sure your local database has a `[tinytdstest]` database with a owner login named `[tinytds]` having no password. The following SQL run via the `sa` account should set that up for you.
|
358
370
|
|
371
|
+
```bash
|
372
|
+
$ tsql -H <host> -p 1433 -U sa -P <pass>
|
373
|
+
$ sqsh -H <host> -p 1433 -U sa -P <pass>
|
374
|
+
```
|
375
|
+
|
359
376
|
```sql
|
360
377
|
CREATE DATABASE [tinytdstest];
|
361
378
|
GO
|
data/Rakefile
CHANGED
@@ -68,8 +68,8 @@ Rake::ExtensionTask.new('tiny_tds', gemspec) do |ext|
|
|
68
68
|
gemplat = spec.platform.to_s
|
69
69
|
host = platform_host_map[gemplat]
|
70
70
|
dlls = [
|
71
|
-
"libeay32-1.0.
|
72
|
-
"ssleay32-1.0.
|
71
|
+
"libeay32-1.0.2g-#{host}.dll",
|
72
|
+
"ssleay32-1.0.2g-#{host}.dll",
|
73
73
|
"libiconv-2.dll",
|
74
74
|
"libsybdb-5.dll",
|
75
75
|
]
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
1.0.0
|
data/appveyor.yml
CHANGED
@@ -23,8 +23,8 @@ test_script:
|
|
23
23
|
- ps: Start-Service 'MSSQL$SQL2014'
|
24
24
|
- timeout /t 4 /nobreak > NUL
|
25
25
|
- sqlcmd -S ".\SQL2014" -U sa -P Password12! -i %APPVEYOR_BUILD_FOLDER%\test\appveyor\dbsetup.sql
|
26
|
+
- bundle exec rake TINYTDS_UNIT_HOST_TEST=localhost TINYTDS_UNIT_DATASERVER="localhost\SQL2014" TINYTDS_SCHEMA=sqlserver_2014 TDSVER=7.1
|
26
27
|
- bundle exec rake TINYTDS_UNIT_HOST_TEST=localhost TINYTDS_UNIT_DATASERVER="localhost\SQL2014" TINYTDS_SCHEMA=sqlserver_2014
|
27
|
-
- bundle exec rake TINYTDS_UNIT_HOST_TEST=localhost TINYTDS_UNIT_DATASERVER="localhost\SQL2014" TINYTDS_SCHEMA=sqlserver_2014 TDSVER=7.3
|
28
28
|
- ps: Stop-Service 'MSSQL$SQL2014'
|
29
29
|
- ps: Start-Service 'MSSQL$SQL2012SP1'
|
30
30
|
- timeout /t 4 /nobreak > NUL
|
@@ -37,8 +37,6 @@ test_script:
|
|
37
37
|
- bundle exec rake TINYTDS_UNIT_HOST_TEST=localhost TINYTDS_UNIT_DATASERVER="localhost\SQL2008R2SP2" TINYTDS_SCHEMA=sqlserver_2008
|
38
38
|
- timeout /t 4 /nobreak > NUL
|
39
39
|
- bundle exec rake TINYTDS_UNIT_HOST_TEST=%CI_AZURE_HOST% TINYTDS_UNIT_HOST=%CI_AZURE_HOST% TINYTDS_SCHEMA=sqlserver_azure
|
40
|
-
- timeout /t 4 /nobreak > NUL
|
41
|
-
- bundle exec rake TINYTDS_UNIT_HOST_TEST=%CI_AZURE_HOST% TINYTDS_UNIT_HOST=%CI_AZURE_HOST% TINYTDS_SCHEMA=sqlserver_azure TDSVER=7.3
|
42
40
|
environment:
|
43
41
|
CI_AZURE_HOST:
|
44
42
|
secure: 8ydpYysZYKEBKvp6plKlYfepH98/zAuT27FFCaJ9Sss=
|
data/ext/tiny_tds/extconf.rb
CHANGED
data/ext/tiny_tds/extconsts.rb
CHANGED
@@ -2,13 +2,14 @@
|
|
2
2
|
ICONV_VERSION = ENV['TINYTDS_ICONV_VERSION'] || "1.14"
|
3
3
|
ICONV_SOURCE_URI = "http://ftp.gnu.org/pub/gnu/libiconv/libiconv-#{ICONV_VERSION}.tar.gz"
|
4
4
|
|
5
|
-
OPENSSL_VERSION = ENV['TINYTDS_OPENSSL_VERSION'] || '1.0.
|
6
|
-
OPENSSL_SOURCE_URI = "
|
5
|
+
OPENSSL_VERSION = ENV['TINYTDS_OPENSSL_VERSION'] || '1.0.2g'
|
6
|
+
OPENSSL_SOURCE_URI = "https://www.openssl.org/source/openssl-#{OPENSSL_VERSION}.tar.gz"
|
7
7
|
|
8
|
-
FREETDS_VERSION = ENV['TINYTDS_FREETDS_VERSION'] || "
|
8
|
+
FREETDS_VERSION = ENV['TINYTDS_FREETDS_VERSION'] || "1.0rc3"
|
9
9
|
FREETDS_VERSION_INFO = Hash.new { |h,k|
|
10
10
|
h[k] = {files: "ftp://ftp.freetds.org/pub/freetds/stable/freetds-#{k}.tar.bz2"}
|
11
11
|
}
|
12
|
-
FREETDS_VERSION_INFO['
|
13
|
-
FREETDS_VERSION_INFO['
|
12
|
+
FREETDS_VERSION_INFO['1.0rc3'] = {files: 'ftp://ftp.freetds.org/pub/freetds/stable/release_candidates/freetds-1.0rc3.tar.bz2'}
|
13
|
+
FREETDS_VERSION_INFO['0.99'] = {files: 'ftp://ftp.freetds.org/pub/freetds/current/freetds-dev.0.99.678.tar.gz'}
|
14
|
+
FREETDS_VERSION_INFO['0.95'] = {files: 'ftp://ftp.freetds.org/pub/freetds/stable/freetds-0.95.92.tar.gz'}
|
14
15
|
FREETDS_SOURCE_URI = FREETDS_VERSION_INFO[FREETDS_VERSION][:files]
|
data/lib/tiny_tds/client.rb
CHANGED
File without changes
|
data/test/client_test.rb
CHANGED
@@ -148,6 +148,7 @@ class ClientTest < TinyTds::TestCase
|
|
148
148
|
end
|
149
149
|
|
150
150
|
it 'raises TinyTds exception with wrong :username' do
|
151
|
+
skip if ENV['CI'] && sqlserver_azure? # Some issue with db_error_number.
|
151
152
|
options = connection_options :username => 'willnotwork'
|
152
153
|
action = lambda { new_connection(options) }
|
153
154
|
assert_raise_tinytds_error(action) do |e|
|
data/test/result_test.rb
CHANGED
@@ -122,7 +122,7 @@ class ResultTest < TinyTds::TestCase
|
|
122
122
|
|
123
123
|
it 'must insert and find unicode data' do
|
124
124
|
rollback_transaction(@client) do
|
125
|
-
text = '
|
125
|
+
text = '😍'
|
126
126
|
@client.execute("DELETE FROM [datatypes] WHERE [nvarchar_50] IS NOT NULL").do
|
127
127
|
@client.execute("INSERT INTO [datatypes] ([nvarchar_50]) VALUES (N'#{text}')").do
|
128
128
|
row = @client.execute("SELECT [nvarchar_50] FROM [datatypes] WHERE [nvarchar_50] IS NOT NULL").each.first
|
data/test/test_helper.rb
CHANGED
@@ -138,6 +138,10 @@ module TinyTds
|
|
138
138
|
RUBY_DESCRIPTION =~ /rubinius/i
|
139
139
|
end
|
140
140
|
|
141
|
+
def ruby_windows?
|
142
|
+
RbConfig::CONFIG['host_os'] =~ /ming/
|
143
|
+
end
|
144
|
+
|
141
145
|
def load_current_schema
|
142
146
|
loader = new_connection
|
143
147
|
schema_file = File.expand_path File.join(File.dirname(__FILE__), 'schema', "#{current_schema}.sql")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tiny_tds
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: x64-mingw32
|
6
6
|
authors:
|
7
7
|
- Ken Collins
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-
|
13
|
+
date: 2016-04-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: mini_portile2
|
@@ -138,13 +138,11 @@ files:
|
|
138
138
|
- lib/tiny_tds/error.rb
|
139
139
|
- lib/tiny_tds/result.rb
|
140
140
|
- lib/tiny_tds/version.rb
|
141
|
-
- ports/patches/freetds/
|
142
|
-
- ports/
|
143
|
-
- ports/patches/freetds/0.95.80/0001-mingw_missing_inet_pton.diff
|
144
|
-
- ports/x86_64-w64-mingw32/bin/libeay32-1.0.2f-x86_64-w64-mingw32.dll
|
141
|
+
- ports/patches/freetds/1.0rc3/0001-mingw_missing_inet_pton.diff
|
142
|
+
- ports/x86_64-w64-mingw32/bin/libeay32-1.0.2g-x86_64-w64-mingw32.dll
|
145
143
|
- ports/x86_64-w64-mingw32/bin/libiconv-2.dll
|
146
144
|
- ports/x86_64-w64-mingw32/bin/libsybdb-5.dll
|
147
|
-
- ports/x86_64-w64-mingw32/bin/ssleay32-1.0.
|
145
|
+
- ports/x86_64-w64-mingw32/bin/ssleay32-1.0.2g-x86_64-w64-mingw32.dll
|
148
146
|
- test/appveyor/dbsetup.ps1
|
149
147
|
- test/appveyor/dbsetup.sql
|
150
148
|
- test/benchmark/query.rb
|
@@ -179,9 +177,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
179
177
|
version: 2.0.0
|
180
178
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
181
179
|
requirements:
|
182
|
-
- - "
|
180
|
+
- - ">="
|
183
181
|
- !ruby/object:Gem::Version
|
184
|
-
version:
|
182
|
+
version: '0'
|
185
183
|
requirements: []
|
186
184
|
rubyforge_project:
|
187
185
|
rubygems_version: 2.4.8
|
@@ -1,29 +0,0 @@
|
|
1
|
-
--- a/Makefile.in 2011-08-17 18:57:36.000000000 -0700
|
2
|
-
+++ b/Makefile.in 2014-05-02 10:27:01.275813000 -0700
|
3
|
-
@@ -772,13 +772,6 @@
|
4
|
-
|
5
|
-
|
6
|
-
install-data-local:
|
7
|
-
- $(mkinstalldirs) $(ETC)
|
8
|
-
- if test ! -f $(ETC)/freetds.conf; then \
|
9
|
-
- $(INSTALL_DATA) $(srcdir)/freetds.conf $(ETC)/freetds.conf; \
|
10
|
-
- fi
|
11
|
-
- if test ! -f $(ETC)/locales.conf; then \
|
12
|
-
- $(INSTALL_DATA) $(srcdir)/locales.conf $(ETC)/locales.conf; \
|
13
|
-
- fi
|
14
|
-
|
15
|
-
clean-local:
|
16
|
-
find . \( -name \*.test_output -o -name \*.bb -o -name \*.bbg -o -name \*.da -o -name \*.gc\* \) -exec rm -f {} \;
|
17
|
-
--- a/src/pool/Makefile.in 2011-08-17 18:57:36.000000000 -0700
|
18
|
-
+++ b/src/pool/Makefile.in 2014-05-02 10:32:39.628347600 -0700
|
19
|
-
@@ -574,10 +574,6 @@
|
20
|
-
|
21
|
-
|
22
|
-
install-data-local:
|
23
|
-
- $(mkinstalldirs) $(ETC)
|
24
|
-
- if test ! -f $(ETC)/pool.conf; then \
|
25
|
-
- $(INSTALL_DATA) $(srcdir)/pool.conf $(ETC)/pool.conf; \
|
26
|
-
- fi
|
27
|
-
|
28
|
-
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
29
|
-
# Otherwise a system limit (for SysV at least) may be exceeded.
|
@@ -1,11 +0,0 @@
|
|
1
|
-
--- a/src/dblib/dblib.c
|
2
|
-
+++ b/src/dblib/dblib.c
|
3
|
-
@@ -765,7 +765,7 @@ dbsetlname(LOGINREC * login, const char *value, int which)
|
4
|
-
return FAIL;
|
5
|
-
}
|
6
|
-
|
7
|
-
- if (TDS_MAX_LOGIN_STR_SZ < strlen(value)) {
|
8
|
-
+ if (login->tds_login->tds_version < 0x700 && TDS_MAX_LOGIN_STR_SZ < strlen(value)) {
|
9
|
-
dbperror(NULL, SYBENTLL, 0);
|
10
|
-
return FAIL;
|
11
|
-
}
|