transactd 2.4.5 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CMakeLists.txt +1 -1
- data/README-JA.md +52 -529
- data/README.md +52 -523
- data/bin/common/tdclc_32_3_0.dll +0 -0
- data/bin/common/tdclc_64_3_0.dll +0 -0
- data/build/common/system.cmake +2 -1
- data/build/common/transactd_cl_common.cmake +3 -6
- data/build/swig/ruby/ruby.swg +85 -28
- data/build/swig/ruby/tdclrb_wrap.cpp +3195 -1578
- data/build/swig/tdcl.i +161 -5
- data/build/tdclc/CMakeLists.txt +1 -0
- data/build/tdclc/tdclc.cbproj +7 -1
- data/build/tdclc/tdclc.rc +4 -4
- data/build/tdclcpp/tdclcpp.rc +4 -4
- data/build/tdclcpp/tdclcpp_bc.cbproj +2 -5
- data/build/tdclrb/tdclrb.rc +4 -4
- data/source/bzs/db/blobStructs.h +1 -1
- data/source/bzs/db/engine/mysql/database.cpp +199 -74
- data/source/bzs/db/engine/mysql/database.h +47 -18
- data/source/bzs/db/engine/mysql/dbManager.cpp +1 -0
- data/source/bzs/db/engine/mysql/mysqlInternal.h +32 -8
- data/source/bzs/db/protocol/tdap/btrDate.cpp +110 -75
- data/source/bzs/db/protocol/tdap/btrDate.h +46 -21
- data/source/bzs/db/protocol/tdap/client/activeTable.cpp +18 -18
- data/source/bzs/db/protocol/tdap/client/activeTable.h +25 -25
- data/source/bzs/db/protocol/tdap/client/activeTableImple.h +10 -4
- data/source/bzs/db/protocol/tdap/client/client.cpp +6 -5
- data/source/bzs/db/protocol/tdap/client/client.h +82 -15
- data/source/bzs/db/protocol/tdap/client/database.cpp +531 -142
- data/source/bzs/db/protocol/tdap/client/database.h +19 -6
- data/source/bzs/db/protocol/tdap/client/dbDef.cpp +461 -408
- data/source/bzs/db/protocol/tdap/client/dbDef.h +11 -17
- data/source/bzs/db/protocol/tdap/client/dllmain.cpp +61 -13
- data/source/bzs/db/protocol/tdap/client/field.cpp +1592 -1398
- data/source/bzs/db/protocol/tdap/client/field.h +110 -121
- data/source/bzs/db/protocol/tdap/client/fields.h +40 -10
- data/source/bzs/db/protocol/tdap/client/filter.h +69 -55
- data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +296 -164
- data/source/bzs/db/protocol/tdap/client/groupQuery.h +77 -25
- data/source/bzs/db/protocol/tdap/client/memRecord.cpp +31 -13
- data/source/bzs/db/protocol/tdap/client/memRecord.h +31 -21
- data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +1 -1
- data/source/bzs/db/protocol/tdap/client/nsDatabase.h +4 -1
- data/source/bzs/db/protocol/tdap/client/nsTable.cpp +69 -24
- data/source/bzs/db/protocol/tdap/client/nsTable.h +3 -1
- data/source/bzs/db/protocol/tdap/client/recordset.cpp +1 -0
- data/source/bzs/db/protocol/tdap/client/recordsetImple.h +46 -27
- data/source/bzs/db/protocol/tdap/client/request.h +2 -1
- data/source/bzs/db/protocol/tdap/client/serializer.cpp +44 -9
- data/source/bzs/db/protocol/tdap/client/serializer.h +1 -1
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +182 -76
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +23 -12
- data/source/bzs/db/protocol/tdap/client/stringConverter.h +8 -10
- data/source/bzs/db/protocol/tdap/client/table.cpp +172 -93
- data/source/bzs/db/protocol/tdap/client/table.h +112 -37
- data/source/bzs/db/protocol/tdap/client/trdboostapi.h +17 -0
- data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +0 -1
- data/source/bzs/db/protocol/tdap/client/trdclcppautolink.h +0 -2
- data/source/bzs/db/protocol/tdap/client/trdormapi.h +1 -1
- data/source/bzs/db/protocol/tdap/fieldComp.h +698 -14
- data/source/bzs/db/protocol/tdap/myDateTime.cpp +723 -307
- data/source/bzs/db/protocol/tdap/myDateTime.h +294 -0
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +164 -54
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.h +6 -3
- data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +133 -550
- data/source/bzs/db/protocol/tdap/mysql/request.h +6 -5
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +217 -82
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +1 -1
- data/source/bzs/db/protocol/tdap/tdapRequest.h +4 -9
- data/source/bzs/db/protocol/tdap/tdapSchema.cpp +808 -17
- data/source/bzs/db/protocol/tdap/tdapSchema.h +656 -164
- data/source/bzs/db/protocol/tdap/tdapcapi.h +130 -28
- data/source/bzs/db/protocol/tdap/uri.h +40 -32
- data/source/bzs/db/transactd/connManager.cpp +1 -1
- data/source/bzs/db/transactd/transactd.cpp +7 -0
- data/source/bzs/env/compiler.h +107 -94
- data/source/bzs/env/crosscompile.cpp +24 -12
- data/source/bzs/env/crosscompile.h +75 -6
- data/source/bzs/env/mbcswchrLinux.cpp +2 -2
- data/source/bzs/env/tcharMinGW.h +4 -0
- data/source/bzs/example/changeSchema.cpp +22 -17
- data/source/bzs/example/queryData.cpp +4 -0
- data/source/bzs/netsvc/client/iconnection.h +3 -1
- data/source/bzs/netsvc/client/tcpClient.h +10 -3
- data/source/bzs/rtl/stringBuffers.cpp +7 -0
- data/source/bzs/test/tdclatl/bench_query_atl.js +6 -0
- data/source/bzs/test/tdclatl/bench_tdclatl.js +8 -1
- data/source/bzs/test/tdclatl/test_query_atl.js +22 -2
- data/source/bzs/test/tdclatl/test_v3.js +1017 -0
- data/source/bzs/test/tdclphp/transactd_Test.php +55 -21
- data/source/bzs/test/tdclphp/transactd_datetime_Test.php +0 -5
- data/source/bzs/test/tdclphp/transactd_pool_Test.php +2 -0
- data/source/bzs/test/tdclphp/transactd_v3_Test.php +743 -0
- data/source/bzs/test/tdclrb/transactd_datetime_spec.rb +0 -5
- data/source/bzs/test/tdclrb/transactd_pool_spec.rb +2 -0
- data/source/bzs/test/tdclrb/transactd_spec.rb +39 -16
- data/source/bzs/test/tdclrb/transactd_v3_spec.rb +748 -0
- data/source/bzs/test/transactdBench/transactdBench.cpp +55 -58
- data/source/bzs/test/transactdBench/transactdBench2.cpp +1 -3
- data/source/bzs/test/trdclengn/testField.h +3305 -0
- data/source/bzs/test/trdclengn/test_tdclcpp_v3.cpp +1050 -0
- data/source/bzs/test/trdclengn/test_trdclengn.cpp +112 -190
- data/source/bzs/test/trdclengn/testbase.h +137 -0
- data/source/global/ormsrcgen/srcgen.cpp +23 -12
- data/source/global/ormsrcgen/template/ormDataClass_template.h +2 -0
- data/source/global/querystmts/querystmts.cpp +2 -3
- data/source/global/tdclatl/Bitset.cpp +38 -0
- data/source/global/tdclatl/Bitset.h +63 -0
- data/source/global/tdclatl/Database.cpp +59 -18
- data/source/global/tdclatl/Database.h +7 -4
- data/source/global/tdclatl/DbDef.cpp +6 -6
- data/source/global/tdclatl/DbDef.h +2 -1
- data/source/global/tdclatl/Field.cpp +112 -0
- data/source/global/tdclatl/Field.h +19 -5
- data/source/global/tdclatl/FieldDef.cpp +137 -16
- data/source/global/tdclatl/FieldDef.h +18 -2
- data/source/global/tdclatl/FieldDefs.cpp +54 -1
- data/source/global/tdclatl/FieldDefs.h +3 -0
- data/source/global/tdclatl/GroupQuery.cpp +8 -8
- data/source/global/tdclatl/QueryBase.cpp +65 -0
- data/source/global/tdclatl/QueryBase.h +10 -0
- data/source/global/tdclatl/Record.cpp +33 -2
- data/source/global/tdclatl/Record.h +3 -1
- data/source/global/tdclatl/RecordsetQuery.cpp +42 -0
- data/source/global/tdclatl/RecordsetQuery.h +8 -0
- data/source/global/tdclatl/Table.cpp +127 -3
- data/source/global/tdclatl/Table.h +10 -1
- data/source/global/tdclatl/TableDef.cpp +41 -8
- data/source/global/tdclatl/TableDef.h +7 -2
- data/source/global/tdclatl/activeTable.cpp +40 -71
- data/source/global/tdclatl/resource.h +0 -0
- data/source/global/tdclatl/tdclatl.idl +222 -28
- data/source/linux/tchar.h +100 -96
- data/transactd.gemspec +2 -2
- metadata +13 -11
- data/BUILD_UNIX-JA.md +0 -161
- data/BUILD_WIN-JA.md +0 -326
- data/README_ORMSRCGEN-JA.md +0 -115
- data/README_ORMSRCGEN.md +0 -118
- data/RELEASE_NOTE-JA.md +0 -356
- data/RELEASE_NOTE.md +0 -360
- data/bin/common/tdclc_32_2_4.dll +0 -0
- data/bin/common/tdclc_64_2_4.dll +0 -0
- data/source/bzs/test/trdclengn/test_blob.cpp +0 -375
@@ -46,6 +46,7 @@ interface IConnectParams;
|
|
46
46
|
interface IPooledDbManager;
|
47
47
|
interface IPreparedQuery;
|
48
48
|
interface IBookmark;
|
49
|
+
interface IBitset;
|
49
50
|
|
50
51
|
typedef
|
51
52
|
[
|
@@ -146,6 +147,8 @@ enum eStatus
|
|
146
147
|
STATUS_INVALID_FIELDVALUE = -36,
|
147
148
|
STATUS_INVALID_VALLEN = -37,
|
148
149
|
STATUS_FIELDTYPE_NOTSUPPORT = -42,
|
150
|
+
STATUS_INVALID_NULLMODE = -43,
|
151
|
+
STATUS_TOO_LARGE_VALUE = -44,
|
149
152
|
STATUS_SUCCESS = 0,
|
150
153
|
STATUS_PROGRAM_ERROR = 1,
|
151
154
|
STATUS_IO_ERROR = 2,
|
@@ -251,6 +254,10 @@ enum eFieldType
|
|
251
254
|
ft_myblob = 51,
|
252
255
|
ft_autoIncUnsigned = 52,
|
253
256
|
ft_myfixedbinary = 53,
|
257
|
+
ft_myyear = 59,
|
258
|
+
ft_mygeometry = 60,
|
259
|
+
ft_myjson = 61,
|
260
|
+
ft_mydecimal = 62,
|
254
261
|
ft_nullindicator = 255
|
255
262
|
}eFieldType;
|
256
263
|
|
@@ -353,13 +360,13 @@ typedef
|
|
353
360
|
]
|
354
361
|
enum eGroupFunc
|
355
362
|
{
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
+
f_sum = 0,
|
364
|
+
f_count = 1,
|
365
|
+
f_avg = 2,
|
366
|
+
f_min = 3,
|
367
|
+
f_max = 4,
|
368
|
+
f_first = 5,
|
369
|
+
f_last = 6
|
363
370
|
}eGroupFunc;
|
364
371
|
|
365
372
|
typedef
|
@@ -373,7 +380,42 @@ enum eOptimize
|
|
373
380
|
combineCondition = 2
|
374
381
|
}eOptimize;
|
375
382
|
|
383
|
+
typedef
|
384
|
+
[
|
385
|
+
helpstring("table cleabuffer option")
|
386
|
+
]
|
387
|
+
enum eNullReset
|
388
|
+
{
|
389
|
+
clearNull = 0,
|
390
|
+
defaultNull = 1
|
376
391
|
|
392
|
+
}eNullReset;
|
393
|
+
|
394
|
+
|
395
|
+
typedef
|
396
|
+
[
|
397
|
+
helpstring("Version type enum")
|
398
|
+
]
|
399
|
+
enum eVersionType
|
400
|
+
{
|
401
|
+
MySQLServer = 77,
|
402
|
+
MariaDBServer = 65,
|
403
|
+
TransactdServer = 84,
|
404
|
+
TransactdClient = 78,
|
405
|
+
PSQLWorkgroup = 57,
|
406
|
+
PSQLLinuxServer = 85
|
407
|
+
}eVersionType;
|
408
|
+
|
409
|
+
|
410
|
+
typedef
|
411
|
+
[
|
412
|
+
helpstring("Timestamp mode enum")
|
413
|
+
]
|
414
|
+
enum eTimeStampMode
|
415
|
+
{
|
416
|
+
TIMESTAMP_VALUE_CONTROL = 0,
|
417
|
+
TIMESTAMP_ALWAYS = 1
|
418
|
+
}eTimeStampMode;
|
377
419
|
|
378
420
|
|
379
421
|
[
|
@@ -469,14 +511,12 @@ interface IDatabase : IDispatch
|
|
469
511
|
[id(0x000000E6)]
|
470
512
|
HRESULT _stdcall ConvertTable([in] short TableIndex, [in, defaultvalue(-1)] VARIANT_BOOL Turbo, [in, defaultvalue("")] BSTR OwnerName);
|
471
513
|
[id(0x000000E7)]
|
472
|
-
HRESULT _stdcall CopyTableData([in] ITable* Dest, [in] ITable* Src, [in] VARIANT_BOOL Turbo
|
514
|
+
HRESULT _stdcall CopyTableData([in] ITable* Dest, [in] ITable* Src, [in] VARIANT_BOOL Turbo
|
473
515
|
, [in, defaultvalue(-1)] short KeyNum, [in, defaultvalue(-1)] int MaxSkip, [out, retval] short* Value);
|
474
516
|
[id(0x000000E8)]
|
475
|
-
HRESULT _stdcall CreateTable([in]
|
517
|
+
HRESULT _stdcall CreateTable([in] VARIANT FileNumOrSql, [in, defaultvalue("")] BSTR Uri, [out, retval] VARIANT_BOOL* Value);
|
476
518
|
[id(0x000000E9)]
|
477
519
|
HRESULT _stdcall ExistsTableFile([in] short TableIndex, [in, defaultvalue("")] BSTR OwnerName);
|
478
|
-
[id(0x000000EA)]
|
479
|
-
HRESULT _stdcall GetTableUri([in] short FileNum, [out, retval] BSTR* Value);
|
480
520
|
[propget, id(0x000000EB)]
|
481
521
|
HRESULT _stdcall IsOpened([out, retval] VARIANT_BOOL* Value);
|
482
522
|
[propget, id(0x000000EC)]
|
@@ -509,7 +549,16 @@ interface IDatabase : IDispatch
|
|
509
549
|
HRESULT _stdcall Reconnect([out, retval] VARIANT_BOOL* Value);
|
510
550
|
[id(0x000000F9)]
|
511
551
|
HRESULT _stdcall StatMsg([out, retval] BSTR* Value);
|
512
|
-
|
552
|
+
[propput, id(0x000000FA)]
|
553
|
+
HRESULT _stdcall AutoSchemaUseNullkey([in] VARIANT_BOOL Value);
|
554
|
+
[propget, id(0x000000FA)]
|
555
|
+
HRESULT _stdcall AutoSchemaUseNullkey([out, retval] VARIANT_BOOL* Value);
|
556
|
+
[propput, id(0x000000FB)]
|
557
|
+
HRESULT _stdcall CompatibleMode([in] int Value);
|
558
|
+
[propget, id(0x000000FB)]
|
559
|
+
HRESULT _stdcall CompatibleMode([out, retval] int* Value);
|
560
|
+
[id(0x000000FC)]
|
561
|
+
HRESULT _stdcall GetSqlStringForCreateTable([in] BSTR tableName, [out, retval] BSTR* retValue);
|
513
562
|
};
|
514
563
|
|
515
564
|
|
@@ -552,8 +601,6 @@ interface IDbDef : IDispatch
|
|
552
601
|
HRESULT _stdcall FieldValidLength([in] eFieldQuery Query, [in] short FieldType, [out, retval] unsigned int* Value);
|
553
602
|
[id(0x000000D5)]
|
554
603
|
HRESULT _stdcall FindKeynumByFieldNum([in] short TableIndex, [in] short Index, [out, retval] unsigned short* Value);
|
555
|
-
[id(0x000000D6)]
|
556
|
-
HRESULT _stdcall GetRecordLen([in] short TableIndex, [out, retval] unsigned short* Value);
|
557
604
|
[propget, id(0x000000D7)]
|
558
605
|
HRESULT _stdcall OpenMode([out, retval] eOpenMode* Value);
|
559
606
|
[id(0x000000D8)]
|
@@ -576,6 +623,9 @@ interface IDbDef : IDispatch
|
|
576
623
|
HRESULT _stdcall ValidateTableDef([in]short TableIndex, [out, retval] short* Value);
|
577
624
|
[id(0x000000E0)]
|
578
625
|
HRESULT _stdcall StatMsg([out, retval] BSTR* Value);
|
626
|
+
[id(0x000000E1)]
|
627
|
+
HRESULT _stdcall SynchronizeSeverSchema([in] short TableIndex);
|
628
|
+
|
579
629
|
|
580
630
|
};
|
581
631
|
[
|
@@ -604,7 +654,7 @@ interface ITable : IDispatch
|
|
604
654
|
[id(0x00000006)]
|
605
655
|
HRESULT _stdcall Delete([in, defaultvalue(0)] VARIANT_BOOL inkey);
|
606
656
|
[id(0x00000007)]
|
607
|
-
HRESULT _stdcall ClearBuffer(
|
657
|
+
HRESULT _stdcall ClearBuffer([in, defaultvalue(defaultNull)] eNullReset resetType);
|
608
658
|
[id(0x00000019)]
|
609
659
|
HRESULT _stdcall Close(void);
|
610
660
|
[id(0x0000001A)]
|
@@ -757,8 +807,25 @@ interface ITable : IDispatch
|
|
757
807
|
HRESULT _stdcall Bookmarks([in] long index, [out, retval] IBookmark** Value);
|
758
808
|
[id(0x000000E5)]
|
759
809
|
HRESULT _stdcall StatMsg([out, retval] BSTR* Value);
|
810
|
+
[id(0x000000E6)]
|
811
|
+
HRESULT _stdcall GetFVNull([in] VARIANT Index, [out, retval] VARIANT_BOOL* Value);
|
812
|
+
[id(0x000000E7)]
|
813
|
+
HRESULT _stdcall SetFVNull([in] VARIANT Index, [in] VARIANT_BOOL Value);
|
814
|
+
[id(0x000000E8)]
|
815
|
+
HRESULT _stdcall GetFVint([in] VARIANT Index, [out, retval] int* Value);
|
816
|
+
[id(0x000000E9)]
|
817
|
+
HRESULT _stdcall GetFV64([in] VARIANT Index, [out, retval] hyper* Value);
|
818
|
+
[id(0x000000EA)]
|
819
|
+
HRESULT _stdcall GetFVdbl([in] VARIANT Index, [out, retval] double* Value);
|
820
|
+
[id(0x000000EB)]
|
821
|
+
HRESULT _stdcall GetFVstr([in] VARIANT Index, [out, retval] BSTR* Value);
|
822
|
+
[id(0x000000EC)]
|
823
|
+
HRESULT _stdcall SetFV([in] VARIANT Index, [in] VARIANT Value);
|
824
|
+
[id(0x000000ED)]
|
825
|
+
HRESULT _stdcall SetTimestampMode([in] eTimeStampMode mode);
|
826
|
+
[id(0x000000EE)]
|
827
|
+
HRESULT _stdcall GetFVbits([in] VARIANT Index, [out, retval] IBitset** Value);
|
760
828
|
|
761
|
-
|
762
829
|
|
763
830
|
};
|
764
831
|
[
|
@@ -827,9 +894,7 @@ interface ITableDef : IDispatch
|
|
827
894
|
[propput, id(0x000000CC)]
|
828
895
|
HRESULT _stdcall FixedRecordLen([in] unsigned short Value);
|
829
896
|
[propget, id(0x000000CD)]
|
830
|
-
HRESULT _stdcall
|
831
|
-
[propput, id(0x000000CD)]
|
832
|
-
HRESULT _stdcall MaxRecordLen([in] unsigned short Value);
|
897
|
+
HRESULT _stdcall RecordLen([out, retval] unsigned short* Value);
|
833
898
|
[propget, id(0x000000CF)]
|
834
899
|
HRESULT _stdcall SchemaCodePage([out, retval] unsigned int* Value);
|
835
900
|
[propput, id(0x000000CF)]
|
@@ -840,6 +905,19 @@ interface ITableDef : IDispatch
|
|
840
905
|
HRESULT _stdcall FieldDef([in] short Index, [out, retval] IFieldDef** Value);
|
841
906
|
[propget, id(0x000000CB)]
|
842
907
|
HRESULT _stdcall KeyDef([in] short Index, [out, retval] IKeyDef** Value);
|
908
|
+
[propget, id(0x000000CE)]
|
909
|
+
HRESULT _stdcall FieldNumByName([in] BSTR Name, [out, retval] short* Value);
|
910
|
+
|
911
|
+
[propget, id(0x000000D1)]
|
912
|
+
HRESULT _stdcall Nullfields([out, retval] short* Value);
|
913
|
+
[propget, id(0x000000D2)]
|
914
|
+
HRESULT _stdcall InUse([out, retval] short* Value);
|
915
|
+
[propget, id(0x000000D3)]
|
916
|
+
HRESULT _stdcall MysqlNullMode([out, retval] VARIANT_BOOL* Value);
|
917
|
+
[propget, id(0x000000D4)]
|
918
|
+
HRESULT _stdcall Size([out, retval] int* Value);
|
919
|
+
[id(0x000000D5)]
|
920
|
+
HRESULT _stdcall SetValidationTarget([in] VARIANT_BOOL isMariadb, [in] short srvMinorVersion);
|
843
921
|
};
|
844
922
|
[
|
845
923
|
object,
|
@@ -874,10 +952,6 @@ interface IFieldDef : IDispatch
|
|
874
952
|
HRESULT _stdcall Min([out, retval] double* Value);
|
875
953
|
[propput, id(0x00000006)]
|
876
954
|
HRESULT _stdcall Min([in] double Value);
|
877
|
-
[propget, id(0x00000007)]
|
878
|
-
HRESULT _stdcall DefValue([out, retval] double* Value);
|
879
|
-
[propput, id(0x00000007)]
|
880
|
-
HRESULT _stdcall DefValue([in] double Value);
|
881
955
|
[propget, id(0x00000008), hidden]
|
882
956
|
HRESULT _stdcall LookTable([out, retval] unsigned char* Value);
|
883
957
|
[propput, id(0x00000008), hidden]
|
@@ -926,6 +1000,40 @@ interface IFieldDef : IDispatch
|
|
926
1000
|
HRESULT _stdcall UsePadChar([out, retval] VARIANT_BOOL* Value);
|
927
1001
|
[propget, id(0x00000018)]
|
928
1002
|
HRESULT _stdcall TrimPadChar([out, retval] VARIANT_BOOL* Value);
|
1003
|
+
|
1004
|
+
[propget, id(0x00000019)]
|
1005
|
+
HRESULT _stdcall DefaultValue([out, retval] VARIANT* Value);
|
1006
|
+
[propput, id(0x00000019)]
|
1007
|
+
HRESULT _stdcall DefaultValue([in] VARIANT Value);
|
1008
|
+
[propget, id(0x0000001A)]
|
1009
|
+
HRESULT _stdcall PadCharType([out, retval] VARIANT_BOOL* Value);
|
1010
|
+
[propget, id(0x0000001B)]
|
1011
|
+
HRESULT _stdcall DateTimeType([out, retval] VARIANT_BOOL* Value);
|
1012
|
+
[propget, id(0x0000001C)]
|
1013
|
+
HRESULT _stdcall ValidCharNum([out, retval] VARIANT_BOOL* Value);
|
1014
|
+
[propget, id(0x0000001D)]
|
1015
|
+
HRESULT _stdcall Nullable([out, retval] VARIANT_BOOL* Value);
|
1016
|
+
[id(0x0000001E)]
|
1017
|
+
HRESULT _stdcall SetNullable([in] VARIANT_BOOL Value, [in , defaultvalue(-1)] VARIANT_BOOL DefaultNull);
|
1018
|
+
[propget, id(0x00000020)]
|
1019
|
+
HRESULT _stdcall TimeStampOnUpdate([out, retval] VARIANT_BOOL* Value);
|
1020
|
+
[propput, id(0x00000020)]
|
1021
|
+
HRESULT _stdcall TimeStampOnUpdate([in] VARIANT_BOOL Value);
|
1022
|
+
[propget, id(0x00000021)]
|
1023
|
+
HRESULT _stdcall DefaultNull([out, retval] VARIANT_BOOL* Value);
|
1024
|
+
[propget, id(0x00000022)]
|
1025
|
+
HRESULT _stdcall Digits([out, retval] short* Value);
|
1026
|
+
[propput, id(0x00000022)]
|
1027
|
+
HRESULT _stdcall Digits([in] short Value);
|
1028
|
+
[propget, id(0x00000023)]
|
1029
|
+
HRESULT _stdcall IsIntegerType([out, retval] VARIANT_BOOL* Value);
|
1030
|
+
[propget, id(0x00000024)]
|
1031
|
+
HRESULT _stdcall IsNumericType([out, retval] VARIANT_BOOL* Value);
|
1032
|
+
[propget, id(0x00000025)]
|
1033
|
+
HRESULT _stdcall IsDateTimeType([out, retval] VARIANT_BOOL* Value);
|
1034
|
+
[id(0x00000026)]
|
1035
|
+
HRESULT _stdcall SetDecimalDigits([in] int Digits, [in ] int Decimals);
|
1036
|
+
|
929
1037
|
};
|
930
1038
|
[
|
931
1039
|
object,
|
@@ -1016,6 +1124,32 @@ interface IField : IDispatch
|
|
1016
1124
|
HRESULT _stdcall Vbin([out, retval] BSTR* Value);
|
1017
1125
|
[propput, id(0x000000CD)]
|
1018
1126
|
HRESULT _stdcall Vbin([in] BSTR Value);
|
1127
|
+
|
1128
|
+
[id(0x000000CF)]
|
1129
|
+
HRESULT _stdcall IsNull([out, retval] VARIANT_BOOL* Value);
|
1130
|
+
[id(0x000000D0)]
|
1131
|
+
HRESULT _stdcall SetNull([in] VARIANT_BOOL Value);
|
1132
|
+
[id(0x000000D1)]
|
1133
|
+
HRESULT _stdcall SetValue([in] VARIANT Value);
|
1134
|
+
[id(0x000000D7)]
|
1135
|
+
HRESULT _stdcall SetBin([in] BSTR Value);
|
1136
|
+
[id(0x000000D2)]
|
1137
|
+
HRESULT _stdcall I([out, retval] int* Value);
|
1138
|
+
[id(0x000000D3)]
|
1139
|
+
HRESULT _stdcall I64([out, retval] __int64* Value);
|
1140
|
+
[id(0x000000D5)]
|
1141
|
+
HRESULT _stdcall D([out, retval] double* Value);
|
1142
|
+
[id(0x000000D6)]
|
1143
|
+
HRESULT _stdcall Bin([out, retval] BSTR* Value);
|
1144
|
+
[id(0x000000D4)]
|
1145
|
+
HRESULT _stdcall Str([out, retval] BSTR* Value);
|
1146
|
+
[propget, id(0x000000D8)]
|
1147
|
+
HRESULT _stdcall Type([out, retval] short* Value);
|
1148
|
+
[propget, id(0x000000D9)]
|
1149
|
+
HRESULT _stdcall Len([out, retval] short* Value);
|
1150
|
+
[id(0x000000DA)]
|
1151
|
+
HRESULT _stdcall GetBits([out, retval] IBitset** Value);
|
1152
|
+
|
1019
1153
|
};
|
1020
1154
|
|
1021
1155
|
[
|
@@ -1143,6 +1277,26 @@ interface IQueryBase : IDispatch
|
|
1143
1277
|
[id(0x0000020)]
|
1144
1278
|
HRESULT _stdcall AddSeekBookmark([in] VARIANT Value, [in, defaultvalue(0)] VARIANT_BOOL Reset);
|
1145
1279
|
|
1280
|
+
[id(0x0000021)]
|
1281
|
+
HRESULT _stdcall WhereIsNull([in] BSTR Name, [out, retval] IQueryBase** retVal);
|
1282
|
+
[id(0x0000022)]
|
1283
|
+
HRESULT _stdcall AndIsNull([in] BSTR Name, [out, retval] IQueryBase** retVal);
|
1284
|
+
[id(0x0000023)]
|
1285
|
+
HRESULT _stdcall OrIsNull([in] BSTR Name, [out, retval] IQueryBase** retVal);
|
1286
|
+
[id(0x0000024)]
|
1287
|
+
HRESULT _stdcall WhereIsNotNull([in] BSTR Name, [out, retval] IQueryBase** retVal);
|
1288
|
+
[id(0x0000025)]
|
1289
|
+
HRESULT _stdcall AndIsNotNull([in] BSTR Name, [out, retval] IQueryBase** retVal);
|
1290
|
+
[id(0x0000026)]
|
1291
|
+
HRESULT _stdcall OrIsNotNull([in] BSTR Name, [out, retval] IQueryBase** retVal);
|
1292
|
+
[id(0x0000027)]
|
1293
|
+
HRESULT _stdcall SegmentsForInValue([in] int Value, [out, retval] IQueryBase** retVal);
|
1294
|
+
[id(0x0000028)]
|
1295
|
+
HRESULT _stdcall JoinKeySize([in] int Value, [out, retval] IQueryBase** retVal);
|
1296
|
+
[id(0x0000029)]
|
1297
|
+
HRESULT _stdcall GetJoinKeySize([out, retval] int* retVal);
|
1298
|
+
|
1299
|
+
|
1146
1300
|
};
|
1147
1301
|
|
1148
1302
|
[
|
@@ -1288,6 +1442,8 @@ interface IRecord : IDispatch
|
|
1288
1442
|
HRESULT _stdcall Field([in] VARIANT Index, [out, retval] IField** retVal);
|
1289
1443
|
[propget, id(0x0000003)]
|
1290
1444
|
HRESULT _stdcall IsInvalidRecord( [out, retval] VARIANT_BOOL* retVal);
|
1445
|
+
[propget, id(0x0000004)]
|
1446
|
+
HRESULT _stdcall FieldDefs([out, retval] IFieldDefs** retVal);
|
1291
1447
|
|
1292
1448
|
};
|
1293
1449
|
|
@@ -1312,9 +1468,6 @@ interface IWritableRecord : IRecord
|
|
1312
1468
|
HRESULT _stdcall Read([in, optional]VARIANT KeysetAlradyOrBookmark, [out, retval] VARIANT_BOOL* retVal);
|
1313
1469
|
[id(0x0000016)]
|
1314
1470
|
HRESULT _stdcall Clear();
|
1315
|
-
[propget,id(0x0000017)]
|
1316
|
-
HRESULT _stdcall FieldDefs([out, retval] IFieldDefs** retVal);
|
1317
|
-
|
1318
1471
|
};
|
1319
1472
|
|
1320
1473
|
[
|
@@ -1361,6 +1514,19 @@ interface IRecordsetQuery : IDispatch
|
|
1361
1514
|
[id(0x0000007)]
|
1362
1515
|
HRESULT _stdcall Or([in] BSTR Name, [in] BSTR Logic, [in] VARIANT Value, [out, retval] IRecordsetQuery** retVal);
|
1363
1516
|
|
1517
|
+
[id(0x0000021)]
|
1518
|
+
HRESULT _stdcall WhenIsNull([in] BSTR Name, [out, retval] IRecordsetQuery** retVal);
|
1519
|
+
[id(0x0000022)]
|
1520
|
+
HRESULT _stdcall AndIsNull([in] BSTR Name, [out, retval] IRecordsetQuery** retVal);
|
1521
|
+
[id(0x0000023)]
|
1522
|
+
HRESULT _stdcall OrIsNull([in] BSTR Name, [out, retval] IRecordsetQuery** retVal);
|
1523
|
+
[id(0x0000024)]
|
1524
|
+
HRESULT _stdcall WhenIsNotNull([in] BSTR Name, [out, retval] IRecordsetQuery** retVal);
|
1525
|
+
[id(0x0000025)]
|
1526
|
+
HRESULT _stdcall AndIsNotNull([in] BSTR Name, [out, retval] IRecordsetQuery** retVal);
|
1527
|
+
[id(0x0000026)]
|
1528
|
+
HRESULT _stdcall OrIsNotNull([in] BSTR Name, [out, retval] IRecordsetQuery** retVal);
|
1529
|
+
|
1364
1530
|
};
|
1365
1531
|
|
1366
1532
|
[
|
@@ -1494,9 +1660,9 @@ interface IPooledDbManager : IDispatch
|
|
1494
1660
|
[id(0x0000000F)]
|
1495
1661
|
HRESULT _stdcall Db([out, retval]IDatabase** retVal);
|
1496
1662
|
[propput, id(0x00000010)]
|
1497
|
-
HRESULT _stdcall Option([in]
|
1663
|
+
HRESULT _stdcall Option([in] hyper Value);
|
1498
1664
|
[propget, id(0x00000010)]
|
1499
|
-
HRESULT _stdcall Option([out, retval]
|
1665
|
+
HRESULT _stdcall Option([out, retval] hyper* Value);
|
1500
1666
|
[propget, id(0x00000011)]
|
1501
1667
|
HRESULT _stdcall Mode([out, retval] short* Value);
|
1502
1668
|
};
|
@@ -1561,6 +1727,26 @@ interface IBookmark : IDispatch
|
|
1561
1727
|
};
|
1562
1728
|
|
1563
1729
|
|
1730
|
+
[
|
1731
|
+
object,
|
1732
|
+
uuid(E7EA0FFF-577E-4CF5-B890-0C13AD968784),
|
1733
|
+
dual,
|
1734
|
+
nonextensible,
|
1735
|
+
pointer_default(unique)
|
1736
|
+
]
|
1737
|
+
interface IBitset : IDispatch{
|
1738
|
+
|
1739
|
+
[propput, id(0)]
|
1740
|
+
HRESULT _stdcall Bit([in] short index, [in] VARIANT_BOOL val);
|
1741
|
+
[propget, id(0)]
|
1742
|
+
HRESULT _stdcall Bit([in] short index, [out, retval] VARIANT_BOOL* retVal);
|
1743
|
+
[id(1)]
|
1744
|
+
HRESULT _stdcall Equals([in] IBitset* bitset, [out, retval] VARIANT_BOOL* retVal);
|
1745
|
+
[id(2)]
|
1746
|
+
HRESULT _stdcall Contains([in] IBitset* bitset, [in, defaultvalue(-1)] VARIANT_BOOL all, [out, retval] VARIANT_BOOL* retVal);
|
1747
|
+
|
1748
|
+
};
|
1749
|
+
|
1564
1750
|
[
|
1565
1751
|
uuid(3B712514-E2EF-4040-8A3C-BCACB839EB3E),
|
1566
1752
|
version(1.0),
|
@@ -1812,6 +1998,14 @@ library transactd
|
|
1812
1998
|
|
1813
1999
|
};
|
1814
2000
|
|
2001
|
+
[
|
2002
|
+
uuid(71107F47-2E0A-400B-9E62-C87D84A50008)
|
2003
|
+
]
|
2004
|
+
coclass Bitset
|
2005
|
+
{
|
2006
|
+
[default] interface IBitset;
|
2007
|
+
};
|
2008
|
+
|
1815
2009
|
};
|
1816
2010
|
|
1817
2011
|
import "shobjidl.idl";
|
data/source/linux/tchar.h
CHANGED
@@ -54,12 +54,12 @@
|
|
54
54
|
|
55
55
|
#ifndef _TCHAR_DEFINED
|
56
56
|
#ifndef RC_INVOKED
|
57
|
-
typedef
|
57
|
+
typedef wchar_t TCHAR;
|
58
58
|
#ifndef _TCHAR
|
59
|
-
typedef wchar_t
|
59
|
+
typedef wchar_t _TCHAR;
|
60
60
|
#endif
|
61
61
|
typedef wchar_t _TUCHAR;
|
62
|
-
#endif
|
62
|
+
#endif // Not RC_INVOKED
|
63
63
|
#define _TCHAR_DEFINED
|
64
64
|
#endif
|
65
65
|
|
@@ -70,7 +70,7 @@ typedef wchar_t _TUCHAR;
|
|
70
70
|
// macro within your programs. It's name and function could change without
|
71
71
|
// notice.
|
72
72
|
|
73
|
-
#define
|
73
|
+
#define __TEXT(q) L##q
|
74
74
|
|
75
75
|
// for porting from other Windows compilers
|
76
76
|
#if 0 // no wide startup module
|
@@ -83,79 +83,80 @@ typedef wchar_t _TUCHAR;
|
|
83
83
|
|
84
84
|
// Unicode functions
|
85
85
|
|
86
|
-
#define
|
87
|
-
#define
|
88
|
-
#define
|
89
|
-
#define
|
90
|
-
#define
|
91
|
-
#define
|
92
|
-
#define _vstprintf
|
93
|
-
#define
|
94
|
-
#define
|
95
|
-
#define
|
96
|
-
#define
|
97
|
-
#define
|
98
|
-
#define
|
99
|
-
#define
|
100
|
-
#define
|
101
|
-
#define
|
102
|
-
#define
|
103
|
-
#define
|
104
|
-
#define
|
105
|
-
#define
|
106
|
-
#define
|
107
|
-
#define
|
108
|
-
#define
|
109
|
-
#define
|
110
|
-
#define _tcstoul
|
111
|
-
#define
|
112
|
-
#define
|
113
|
-
#define
|
114
|
-
#define
|
115
|
-
#define
|
116
|
-
#define
|
117
|
-
#define _tcscat_s
|
118
|
-
#define _tcschr
|
119
|
-
#define _tcscmp
|
120
|
-
#define _tcscpy
|
121
|
-
#define _tcscpy_s
|
122
|
-
#define _tcscspn
|
123
|
-
#define
|
124
|
-
#define
|
125
|
-
#define
|
126
|
-
#define
|
127
|
-
#define _tcsncpy_s
|
128
|
-
#define
|
129
|
-
#define
|
130
|
-
#define _tcsspn
|
131
|
-
#define
|
132
|
-
#define _tcstok
|
133
|
-
#define
|
134
|
-
#define
|
135
|
-
#define
|
136
|
-
#define
|
137
|
-
#define
|
138
|
-
#define _tcsset
|
139
|
-
#define
|
140
|
-
#define
|
141
|
-
#define
|
142
|
-
#define
|
143
|
-
#define
|
144
|
-
#define
|
145
|
-
#define
|
146
|
-
#define
|
147
|
-
#define
|
148
|
-
#define
|
149
|
-
#define
|
150
|
-
#define
|
151
|
-
#define
|
152
|
-
#define
|
153
|
-
#define
|
154
|
-
#define
|
155
|
-
#define
|
156
|
-
#define
|
157
|
-
#define
|
158
|
-
#define
|
86
|
+
#define _tprintf wprintf
|
87
|
+
#define _ftprintf fwprintf
|
88
|
+
#define _stprintf swprintf
|
89
|
+
#define _sntprintf _snwprintf
|
90
|
+
#define _vtprintf vwprintf
|
91
|
+
#define _vftprintf vfwprintf
|
92
|
+
#define _vstprintf vswprintf
|
93
|
+
#define _vsntprintf _vsnwprintf
|
94
|
+
#define _tscanf wscanf
|
95
|
+
#define _ftscanf fwscanf
|
96
|
+
#define _stscanf swscanf
|
97
|
+
#define _fgettc fgetwc
|
98
|
+
#define _fgettchar _fgetwchar
|
99
|
+
#define _fgetts fgetws
|
100
|
+
#define _fputtc fputwc
|
101
|
+
#define _fputtchar _fputwchar
|
102
|
+
#define _fputts fputws
|
103
|
+
#define _gettc getwc
|
104
|
+
#define _getts _getws
|
105
|
+
#define _puttc putwc
|
106
|
+
#define _putts _putws
|
107
|
+
#define _ungettc ungetwc
|
108
|
+
#define _tcstod wcstod
|
109
|
+
#define _tcstol wcstol
|
110
|
+
#define _tcstoul wcstoul
|
111
|
+
#define _itot _itow
|
112
|
+
#define _ltot _ltow
|
113
|
+
#define _ultot _ultow
|
114
|
+
#define _ttoi _wtoi
|
115
|
+
#define _ttol _wtol
|
116
|
+
#define _tcscat wcscat
|
117
|
+
#define _tcscat_s wcscat_s
|
118
|
+
#define _tcschr wcschr
|
119
|
+
#define _tcscmp wcscmp
|
120
|
+
#define _tcscpy wcscpy
|
121
|
+
#define _tcscpy_s wcscpy_s
|
122
|
+
#define _tcscspn wcscspn
|
123
|
+
#define _tcslen wcslen
|
124
|
+
#define _tcsncat wcsncat
|
125
|
+
#define _tcsncmp wcsncmp
|
126
|
+
#define _tcsncpy wcsncpy
|
127
|
+
#define _tcsncpy_s wcsncpy_s
|
128
|
+
#define _tcspbrk wcspbrk
|
129
|
+
#define _tcsrchr wcsrchr
|
130
|
+
#define _tcsspn wcsspn
|
131
|
+
#define _tcsstr wcsstr
|
132
|
+
#define _tcstok wcstok
|
133
|
+
#define _tcsdup _wcsdup
|
134
|
+
#define _tcsicmp _wcsicmp
|
135
|
+
#define _tcsnicmp _wcsnicmp
|
136
|
+
#define _tcsnset _wcsnset
|
137
|
+
#define _tcsrev _wcsrev
|
138
|
+
#define _tcsset _wcsset
|
139
|
+
#define _tcslwr _wcslwr
|
140
|
+
#define _tcslwr_s _wcslwr_s
|
141
|
+
#define _tcsupr _wcsupr
|
142
|
+
#define _tcsxfrm wcsxfrm
|
143
|
+
#define _tcscoll wcscoll
|
144
|
+
#define _tcsicoll _wcsicoll
|
145
|
+
#define _istalpha iswalpha
|
146
|
+
#define _istupper iswupper
|
147
|
+
#define _istlower iswlower
|
148
|
+
#define _istdigit iswdigit
|
149
|
+
#define _istxdigit iswxdigit
|
150
|
+
#define _istspace iswspace
|
151
|
+
#define _istpunct iswpunct
|
152
|
+
#define _istalnum iswalnum
|
153
|
+
#define _istprint iswprint
|
154
|
+
#define _istgraph iswgraph
|
155
|
+
#define _istcntrl iswcntrl
|
156
|
+
#define _istascii iswascii
|
157
|
+
#define _totupper towupper
|
158
|
+
#define _totlower towlower
|
159
|
+
#define _tcsftime wcsftime
|
159
160
|
// Macro functions
|
160
161
|
#define _tcsdec _wcsdec
|
161
162
|
#define _tcsinc _wcsinc
|
@@ -181,11 +182,12 @@ typedef wchar_t _TUCHAR;
|
|
181
182
|
#define _i64tot _i64tow
|
182
183
|
#define _i64tot_s _i64tow_s
|
183
184
|
#define _ui64tot _ui64tow
|
184
|
-
#define
|
185
|
-
#define
|
186
|
-
#define
|
187
|
-
#define
|
188
|
-
#define
|
185
|
+
#define _ui64tot_s _i64tow_s
|
186
|
+
#define _tasctime _wasctime
|
187
|
+
#define _tctime _wctime
|
188
|
+
#define _tstrdate _wstrdate
|
189
|
+
#define _tstrtime _wstrtime
|
190
|
+
#define _tutime _wutime
|
189
191
|
#define _tcsnccoll _wcsncoll
|
190
192
|
#define _tcsncoll _wcsncoll
|
191
193
|
#define _tcsncicoll _wcsnicoll
|
@@ -214,23 +216,23 @@ typedef wchar_t _TUCHAR;
|
|
214
216
|
#define _tfindfirsti64 _wfindfirsti64
|
215
217
|
#define _tfindnexti64 _wfindnexti64
|
216
218
|
#define _tfinddatai64_t _wfinddatai64_t
|
217
|
-
#define _tchdir
|
218
|
-
#define _tgetcwd
|
219
|
-
#define _tgetdcwd
|
220
|
-
#define _tmkdir
|
221
|
-
#define _trmdir
|
222
|
-
#define _tstat
|
219
|
+
#define _tchdir _wchdir
|
220
|
+
#define _tgetcwd _wgetcwd
|
221
|
+
#define _tgetdcwd _wgetdcwd
|
222
|
+
#define _tmkdir _wmkdir
|
223
|
+
#define _trmdir _wrmdir
|
224
|
+
#define _tstat _wstat
|
223
225
|
#endif // __MSVCRT__
|
224
226
|
|
225
227
|
// dirent structures and functions
|
226
|
-
#define _tdirent
|
227
|
-
#define _TDIR
|
228
|
-
#define _topendir
|
229
|
-
#define _tclosedir
|
230
|
-
#define _treaddir
|
231
|
-
#define _trewinddir
|
232
|
-
#define _ttelldir
|
233
|
-
#define _tseekdir
|
228
|
+
#define _tdirent _wdirent
|
229
|
+
#define _TDIR _WDIR
|
230
|
+
#define _topendir _wopendir
|
231
|
+
#define _tclosedir _wclosedir
|
232
|
+
#define _treaddir _wreaddir
|
233
|
+
#define _trewinddir _wrewinddir
|
234
|
+
#define _ttelldir _wtelldir
|
235
|
+
#define _tseekdir _wseekdir
|
234
236
|
#define _stprintf_s swprintf_s
|
235
237
|
*/
|
236
238
|
#else // Not _UNICODE
|
@@ -332,6 +334,7 @@ typedef char _TUCHAR;
|
|
332
334
|
#define _tcsrev _strrev
|
333
335
|
#define _tcsset _strset
|
334
336
|
#define _tcslwr _strlwr
|
337
|
+
#define _tcslwr_s _strlwr_s
|
335
338
|
#define _tcsupr _strupr
|
336
339
|
#define _tcsupr_s(a, b) (_strupr(a))
|
337
340
|
#define _tcsxfrm strxfrm
|
@@ -399,6 +402,7 @@ typedef char _TUCHAR;
|
|
399
402
|
#define _i64tot _i64toa
|
400
403
|
#define _i64tot_s _i64toa_s
|
401
404
|
#define _ui64tot _ui64toa
|
405
|
+
#define _ui64tot_s _ui64toa_s
|
402
406
|
#define _tcsnccoll _strncoll
|
403
407
|
#define _tcsncoll _strncoll
|
404
408
|
#define _tcsncicoll _strnicoll
|
data/transactd.gemspec
CHANGED
@@ -59,7 +59,7 @@ spec_build = Gem::Specification.new do |s|
|
|
59
59
|
s.files += Dir.glob('build/common/copyifgreater.*')
|
60
60
|
s.files += Dir.glob('build/common/system.*')
|
61
61
|
s.files += Dir.glob('source/bzs/test/tdclrb/*')
|
62
|
-
s.files += Dir.glob('./*')
|
62
|
+
s.files += Dir.glob('./*').reject { |f| f.match(/RELEASE_NOTE/) || f.match(/BUILD_/) }
|
63
63
|
else
|
64
64
|
#
|
65
65
|
# source code package
|
@@ -72,7 +72,7 @@ spec_build = Gem::Specification.new do |s|
|
|
72
72
|
s.files += Dir.glob('build/swig/*') + Dir.glob('build/swig/ruby/*')
|
73
73
|
s.files += Dir.glob('build/swig/ruby/**/*') + Dir.glob('build/tdclrb/**/*')
|
74
74
|
s.files += Dir.glob('build/tdclc/**/*') + Dir.glob('build/tdclcpp/**/*')
|
75
|
-
s.files += Dir.glob('./*')
|
75
|
+
s.files += Dir.glob('./*').reject { |f| f.match(/RELEASE_NOTE/) || f.match(/BUILD_/) }
|
76
76
|
if RUBY_PLATFORM =~ /mswin/ || RUBY_PLATFORM =~ /mingw/
|
77
77
|
# add prebuilt binary
|
78
78
|
tdclc_file = File.join('bin', 'common', 'tdclc_*.*')
|