transactd 2.4.5-x64-mswin64-100 → 3.0.0-x64-mswin64-100

Sign up to get free protection for your applications and to get access to all the features.
@@ -23,6 +23,8 @@ require 'transactd'
23
23
  require 'rbconfig'
24
24
  IS_WINDOWS = (RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/)
25
25
 
26
+ Transactd::setRecordValueMode(Transactd::RECORD_KEYVALUE_FIELDVALUE)
27
+
26
28
  def getEnv(valuename)
27
29
  return ENV[valuename] if ENV[valuename] != nil
28
30
  return ''
@@ -116,11 +118,11 @@ def testCreateTable(db)
116
118
  #test padChar
117
119
  fd.type = Transactd::Ft_string
118
120
  fd.setPadCharSettings(true, false)
119
- expect(fd.usePadChar()).to eq true;
120
- expect(fd.trimPadChar()).to eq false;
121
+ expect(fd.isUsePadChar()).to eq true;
122
+ expect(fd.isTrimPadChar()).to eq false;
121
123
  fd.setPadCharSettings(false, true)
122
- expect(fd.usePadChar()).to eq false;
123
- expect(fd.trimPadChar()).to eq true;
124
+ expect(fd.isUsePadChar()).to eq false;
125
+ expect(fd.isTrimPadChar()).to eq true;
124
126
 
125
127
  fd.type = Transactd::Ft_zstring
126
128
  dbdef.updateTableDef(1)
@@ -224,9 +226,10 @@ def testVersion()
224
226
  expect(client_ver.minorVersion.to_s).to eq Transactd::CPP_INTERFACE_VER_MINOR.to_s
225
227
  expect(client_ver.type.chr).to eq 'N'
226
228
  my5x = (server_ver.majorVersion == 5) && (server_ver.minorVersion >= 5)
227
- maria10 = (server_ver.majorVersion == 10) && (server_ver.minorVersion == 0)
229
+ maria10 = (server_ver.majorVersion == 10) && (server_ver.minorVersion <= 1)
228
230
  expect(my5x || maria10).to be true
229
- expect(server_ver.type.chr).to eq 'M'
231
+ tmp = (server_ver.type.chr == 'M') || (server_ver.type.chr == 'A')
232
+ expect(tmp).to be true
230
233
  expect(engine_ver.majorVersion.to_s).to eq Transactd::TRANSACTD_VER_MAJOR.to_s
231
234
  expect(engine_ver.minorVersion.to_s).to eq Transactd::TRANSACTD_VER_MINOR.to_s
232
235
  expect(engine_ver.type.chr).to eq 'T'
@@ -1875,7 +1878,7 @@ def testLogin()
1875
1878
  # invalid database name
1876
1879
  testDropDatabase(db)
1877
1880
  db.disconnect()
1878
- expect(db.stat()).to eq 0
1881
+ expect(db.stat()).to eq 1
1879
1882
  db.connect(URL_DB)
1880
1883
  expect(db.stat()).to eq (Transactd::ERROR_NO_DATABASE)
1881
1884
  db.disconnect()
@@ -1888,7 +1891,7 @@ def isUtf16leSupport(db)
1888
1891
  vv = Transactd::BtrVersions.new()
1889
1892
  db.getBtrVersion(vv)
1890
1893
  server_ver = vv.version(1)
1891
- if ('M' == server_ver.type.chr)
1894
+ if ('M' == server_ver.type.chr || 'A' == server_ver.type.chr)
1892
1895
  if (server_ver.majorVersion <= 4)
1893
1896
  return false
1894
1897
  elsif (server_ver.majorVersion == 5)
@@ -2368,6 +2371,22 @@ def testFilterVar()
2368
2371
  db.close()
2369
2372
  end
2370
2373
 
2374
+ def varLenBytes(fd)
2375
+ if ((fd.type >= Transactd::Ft_myvarchar && fd.type <= Transactd::Ft_mywvarbinary) || fd.type == Transactd::Ft_lstring)
2376
+ return (fd.len < 256) ? 1 : 2
2377
+ elsif (fd.type == Transactd::Ft_lvar)
2378
+ return 2
2379
+ end
2380
+ return 0
2381
+ end
2382
+
2383
+ def blobLenBytes(fd)
2384
+ if (fd.type == Transactd::Ft_myblob || fd.type == Transactd::Ft_mytext)
2385
+ return fd.len - 8
2386
+ end
2387
+ return 0
2388
+ end
2389
+
2371
2390
  def testCreateTableStringFilter(db, id, name, type, type2)
2372
2391
  # create table
2373
2392
  dbdef = db.dbDef()
@@ -2390,11 +2409,12 @@ def testCreateTableStringFilter(db, id, name, type, type2)
2390
2409
  fd.setName('name')
2391
2410
  fd.type = type
2392
2411
  fd.len = 44
2393
- if (fd.varLenBytes() != 0)
2394
- fd.len = fd.varLenBytes() + 44
2412
+ vlen = varLenBytes(fd)
2413
+ if (vlen != 0)
2414
+ fd.len = vlen + 44
2395
2415
  fd.keylen = fd.len
2396
2416
  end
2397
- if (fd.blobLenBytes() != 0)
2417
+ if (blobLenBytes(fd) != 0)
2398
2418
  fd.len = 12 # 8+4
2399
2419
  end
2400
2420
  fd.keylen = fd.len
@@ -2404,11 +2424,12 @@ def testCreateTableStringFilter(db, id, name, type, type2)
2404
2424
  fd.setName('namew')
2405
2425
  fd.type = type2
2406
2426
  fd.len = 44
2407
- if (fd.varLenBytes() != 0)
2408
- fd.len = fd.varLenBytes() + 44
2427
+ vlen = varLenBytes(fd)
2428
+ if (vlen != 0)
2429
+ fd.len = vlen + 44
2409
2430
  fd.keylen = fd.len
2410
2431
  end
2411
- if (fd.blobLenBytes() != 0)
2432
+ if (blobLenBytes(fd) != 0)
2412
2433
  fd.len = 12 # 8+4
2413
2434
  end
2414
2435
  fd.keylen = fd.len
@@ -3287,10 +3308,10 @@ def testServerPrepareJoin()
3287
3308
  rs = atu.keyValue(1).read(stmt1, 15000)
3288
3309
  ate.outerJoin(rs, stmt2, 'id')
3289
3310
  expect(rs.size()).to eq 15000
3311
+ expect(rs[NO_RECORD_ID - 1].isInvalidRecord()).to eq true
3290
3312
  atg.outerJoin(rs, stmt3, 'group')
3291
3313
  expect(rs.size()).to eq 15000
3292
3314
 
3293
- expect(rs[NO_RECORD_ID - 1].isInvalidRecord()).to eq true
3294
3315
  expect(rs[NO_RECORD_ID]['comment']).to eq "#{NO_RECORD_ID + 1} comment"
3295
3316
  expect(rs[NO_RECORD_ID]['blob']).to eq "#{NO_RECORD_ID + 1} blob"
3296
3317
 
@@ -3302,13 +3323,15 @@ def testServerPrepareJoin()
3302
3323
  ate.outerJoin(rs, stmt2, 'id')
3303
3324
  expect(rs.size()).to eq 15000
3304
3325
  expect(rs[NO_RECORD_ID - 1].isInvalidRecord()).to eq true
3326
+ expect(rs[NO_RECORD_ID - 1].getField('comment').isNull()).to eq true
3305
3327
  expect(rs[NO_RECORD_ID]['comment']).to eq "#{NO_RECORD_ID + 1} comment"
3306
3328
  expect(rs[NO_RECORD_ID]['blob']).to eq "#{NO_RECORD_ID + 1} blob"
3307
3329
 
3308
3330
  # Test clone blob field
3309
3331
  rs2 = rs.clone()
3310
3332
  expect(rs2.size()).to eq 15000
3311
- expect(rs2[NO_RECORD_ID - 1].isInvalidRecord()).to eq true
3333
+ #expect(rs2[NO_RECORD_ID - 1].isInvalidRecord()).to eq true
3334
+ expect(rs2[NO_RECORD_ID - 1].getField('comment').isNull()).to eq true
3312
3335
  expect(rs2[NO_RECORD_ID]['comment']).to eq "#{NO_RECORD_ID + 1} comment"
3313
3336
  expect(rs2[NO_RECORD_ID]['blob']).to eq "#{NO_RECORD_ID + 1} blob"
3314
3337