├── python ├── .cvsignore ├── test │ ├── .cvsignore │ ├── test_hash.py │ ├── test_stringtype.py │ ├── all.py │ └── test_inttypes.py ├── PyHead.h ├── PyProperty.h ├── PyStorage.h ├── scxx │ ├── PWOCallable.h │ └── PWOImp.cpp ├── PyRowRef.h ├── PyProperty.cpp ├── PyView.h └── metakit.py ├── tests ├── ok │ ├── e05a.txt │ ├── f11a.txt │ ├── s18a.txt │ ├── s19a.txt │ ├── s20a.txt │ ├── s23a.txt │ ├── c05.txt │ ├── m03.txt │ ├── b01.txt │ ├── b02.txt │ ├── b03.txt │ ├── b05.txt │ ├── b10.txt │ ├── b11.txt │ ├── b19.txt │ ├── b21.txt │ ├── c01.txt │ ├── c02.txt │ ├── c03.txt │ ├── c17.txt │ ├── d01.txt │ ├── m01.txt │ ├── m04.txt │ ├── n05.txt │ ├── r00.txt │ ├── r01.txt │ ├── s00.txt │ ├── s02.txt │ ├── s03.txt │ ├── s04.txt │ ├── s06.txt │ ├── s09.txt │ ├── s10.txt │ ├── s12.txt │ ├── s18.txt │ ├── s22.txt │ ├── s25.txt │ ├── s30.txt │ ├── b04.txt │ ├── b06.txt │ ├── b07.txt │ ├── b08.txt │ ├── b09.txt │ ├── b12.txt │ ├── b13.txt │ ├── b17.txt │ ├── b18.txt │ ├── b20.txt │ ├── b23.txt │ ├── c04.txt │ ├── c07.txt │ ├── c08.txt │ ├── c09.txt │ ├── c10.txt │ ├── c11.txt │ ├── c12.txt │ ├── c13.txt │ ├── c14.txt │ ├── c15.txt │ ├── c16.txt │ ├── c18.txt │ ├── c19.txt │ ├── e01.txt │ ├── e03.txt │ ├── e04.txt │ ├── e05.txt │ ├── f01.txt │ ├── f04.txt │ ├── f05.txt │ ├── f06.txt │ ├── f11.txt │ ├── l00.txt │ ├── l07.txt │ ├── m02.txt │ ├── n01.txt │ ├── n06.txt │ ├── n13.txt │ ├── s01.txt │ ├── s05.txt │ ├── s07.txt │ ├── s08.txt │ ├── s11.txt │ ├── s21.txt │ ├── s23.txt │ ├── s24.txt │ ├── s26.txt │ ├── s27.txt │ ├── s28.txt │ ├── s36.txt │ ├── s42.txt │ ├── s44.txt │ ├── s50.txt │ ├── b22.txt │ ├── b24.txt │ ├── b25.txt │ ├── c06.txt │ ├── c20.txt │ ├── c21.txt │ ├── c22.txt │ ├── e02.txt │ ├── e06.txt │ ├── f02.txt │ ├── f03.txt │ ├── f08.txt │ ├── f09.txt │ ├── f10.txt │ ├── l01.txt │ ├── l02.txt │ ├── l06.txt │ ├── n02.txt │ ├── n03.txt │ ├── n04.txt │ ├── n09.txt │ ├── n10.txt │ ├── s13.txt │ ├── s14.txt │ ├── s16.txt │ ├── s20.txt │ ├── s29.txt │ ├── s31.txt │ ├── s33.txt │ ├── s34.txt │ ├── s35.txt │ ├── s38.txt │ ├── s40.txt │ ├── s41.txt │ ├── s46.txt │ ├── b15.txt │ ├── b26.txt │ ├── b27.txt │ ├── l03.txt │ ├── l04.txt │ ├── l05.txt │ ├── m05.txt │ ├── n07.txt │ ├── n08.txt │ ├── n11.txt │ ├── n12.txt │ ├── n14.txt │ ├── r02.txt │ ├── r03.txt │ ├── s15.txt │ ├── s17.txt │ ├── s19.txt │ ├── s32.txt │ ├── s37.txt │ ├── s45.txt │ ├── s47.txt │ ├── b14.txt │ ├── b16.txt │ ├── m06.txt │ ├── r04.txt │ ├── s43.txt │ ├── s48.txt │ ├── s49.txt │ ├── f07.txt │ ├── s39.txt │ ├── b00.txt │ ├── r04a.txt │ ├── s00a.txt │ ├── s29a.txt │ ├── s12a.txt │ ├── d01a.txt │ ├── f03a.txt │ ├── s05a.txt │ ├── s07a.txt │ ├── s08a.txt │ ├── s09a.txt │ ├── s09b.txt │ ├── s11a.txt │ ├── s27a.txt │ ├── s32a.txt │ ├── s34a.txt │ ├── s35a.txt │ ├── s36a.txt │ ├── s36b.txt │ ├── s39a.txt │ ├── s40a.txt │ ├── f07a.txt │ ├── s37a.txt │ ├── s44a.txt │ ├── e01a.txt │ ├── e02a.txt │ ├── e03a.txt │ ├── e04a.txt │ ├── e06a.txt │ ├── f02a.txt │ ├── s06a.txt │ ├── s43a.txt │ ├── s31a.txt │ ├── s01a.txt │ ├── s02a.txt │ ├── s25a.txt │ ├── s26a.txt │ ├── s30a.txt │ ├── s33a.txt │ ├── s33b.txt │ ├── s33c.txt │ ├── s50a.txt │ ├── s03a.txt │ ├── s48a.txt │ ├── s48b.txt │ ├── l05a.txt │ ├── s22a.txt │ ├── f08a.txt │ ├── r02a.txt │ ├── s14a.txt │ ├── s16a.txt │ ├── s17a.txt │ ├── s15a.txt │ ├── r03a.txt │ ├── s45a.txt │ ├── f01a.txt │ ├── f04a.txt │ ├── s38a.txt │ ├── f05a.txt │ ├── s28a.txt │ ├── s49a.txt │ ├── s41a.txt │ ├── m04a.txt │ ├── n14a.txt │ ├── s21a.txt │ ├── s46a.txt │ ├── s13a.txt │ ├── r01a.txt │ ├── f09a.txt │ ├── f10a.txt │ ├── s04a.txt │ ├── s10a.txt │ ├── s10b.txt │ ├── reversed.txt │ ├── s10c.txt │ ├── d01b.txt │ ├── m02a.txt │ ├── s24a.txt │ ├── l00a.txt │ ├── m03a.txt │ └── m07.txt └── tdiffer.cpp ├── win ├── msvc70 │ ├── tests │ │ └── !keepme.txt │ ├── reversed │ └── mkdist.vcproj ├── msvc60 │ ├── reversed │ └── mkdist.dsp └── config.h ├── doc ├── e4s.gif ├── tcl.gif ├── metakit.png ├── python.jpg └── api │ ├── c4_Row.html │ ├── c4_Bytes.html │ ├── c4_View.html │ ├── c4_Cursor.html │ ├── c4_IntRef.html │ ├── c4_RowRef.html │ ├── c4_Stream.html │ ├── c4_IntProp.html │ ├── c4_MemoRef.html │ ├── c4_Storage.html │ ├── c4_ViewRef.html │ ├── c4_BytesRef.html │ ├── c4_FloatRef.html │ ├── c4_MemoProp.html │ ├── c4_Property.html │ ├── c4_Sequence.html │ ├── c4_Strategy.html │ ├── c4_ViewProp.html │ ├── c4_BytesProp.html │ ├── c4_DoubleProp.html │ ├── c4_DoubleRef.html │ ├── c4_FloatProp.html │ ├── c4_Reference.html │ ├── c4_StringProp.html │ ├── c4_StringRef.html │ ├── c4_CustomViewer.html │ ├── c4_Bytes___NONAME.html │ ├── index.html │ ├── c4_Bytes___NONAME_info.html │ ├── c4_Stream_info.html │ ├── c4_Bytes___NONAME_desc.html │ ├── doc_mkoptim.html │ ├── doc_dbf2mk.html │ ├── c4_Stream_desc.html │ ├── doc_demo.html │ ├── c4_IntRef_desc.html │ ├── c4_StringRef_desc.html │ ├── c4_FloatRef_desc.html │ ├── c4_DoubleRef_desc.html │ ├── c4_ViewRef_desc.html │ ├── doc_myio.html │ ├── c4_BytesRef_desc.html │ ├── navbar.html │ ├── c4_RowRef_info.html │ ├── c4_CustomViewer_desc.html │ ├── c4_CustomViewer_info.html │ ├── doc_struct.html │ ├── c4_MemoRef_desc.html │ └── doc_dump.html ├── unix ├── reversed ├── README ├── Doxytail.html ├── cpprt0_stubs.s ├── config.h.in └── metakit.spec ├── tcl ├── tests │ ├── all.tcl │ ├── limit.test │ └── initests.tcl ├── pkgIndex.tcl.in ├── aclocal.m4 ├── tequila │ └── proxy.tcl ├── tclconfig │ ├── README.txt │ └── install-sh ├── stubtcl.h ├── configure.in └── config.h.in ├── src ├── gnuc.h ├── store.inl ├── format.h ├── win.h ├── mwcw.h ├── derived.h ├── field.inl ├── mfc.h ├── remap.h ├── borc.h ├── doxy.h ├── msvc.h ├── std.h ├── handler.inl ├── field.h ├── custom.h ├── column.inl ├── std.cpp └── univ.h ├── examples ├── pair.py ├── remap.py ├── derived.py ├── mkbug.cpp ├── bigblock.tcl ├── wrap.py ├── selfref.py ├── case.py ├── demo.py ├── demold.tcl ├── README ├── demo.tcl ├── sort.tcl ├── blockdels.tcl └── selmap.tcl ├── demos ├── struct.cpp └── bigdemo.cpp ├── license.terms └── include └── mk4io.h /python/.cvsignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | -------------------------------------------------------------------------------- /python/test/.cvsignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | -------------------------------------------------------------------------------- /tests/ok/e05a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = 2 | -------------------------------------------------------------------------------- /tests/ok/f11a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = 2 | -------------------------------------------------------------------------------- /tests/ok/s18a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = 2 | -------------------------------------------------------------------------------- /tests/ok/s19a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = 2 | -------------------------------------------------------------------------------- /tests/ok/s20a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = 2 | -------------------------------------------------------------------------------- /tests/ok/s23a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = 2 | -------------------------------------------------------------------------------- /tests/ok/c05.txt: -------------------------------------------------------------------------------- 1 | >>> Remapping 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/m03.txt: -------------------------------------------------------------------------------- 1 | >>> Hash adds 2 | <<< done. 3 | -------------------------------------------------------------------------------- /win/msvc70/tests/!keepme.txt: -------------------------------------------------------------------------------- 1 | placeholder 2 | -------------------------------------------------------------------------------- /tests/ok/b01.txt: -------------------------------------------------------------------------------- 1 | >>> Should succeed 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b02.txt: -------------------------------------------------------------------------------- 1 | >>> Int property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b03.txt: -------------------------------------------------------------------------------- 1 | >>> Float property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b05.txt: -------------------------------------------------------------------------------- 1 | >>> View property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b10.txt: -------------------------------------------------------------------------------- 1 | >>> View sorting 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b11.txt: -------------------------------------------------------------------------------- 1 | >>> View selection 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b19.txt: -------------------------------------------------------------------------------- 1 | >>> Bytes property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b21.txt: -------------------------------------------------------------------------------- 1 | >>> Memo property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c01.txt: -------------------------------------------------------------------------------- 1 | >>> Slice forward 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c02.txt: -------------------------------------------------------------------------------- 1 | >>> Slice backward 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c03.txt: -------------------------------------------------------------------------------- 1 | >>> Slice reverse 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c17.txt: -------------------------------------------------------------------------------- 1 | >>> Join operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/d01.txt: -------------------------------------------------------------------------------- 1 | >>> Commit aside 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/m01.txt: -------------------------------------------------------------------------------- 1 | >>> Hash mapping 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/m04.txt: -------------------------------------------------------------------------------- 1 | >>> Locate bug 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/n05.txt: -------------------------------------------------------------------------------- 1 | >>> Add to sorted 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/r00.txt: -------------------------------------------------------------------------------- 1 | >>> Simple insert 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/r01.txt: -------------------------------------------------------------------------------- 1 | >>> Simple removes 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s00.txt: -------------------------------------------------------------------------------- 1 | >>> Simple storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s02.txt: -------------------------------------------------------------------------------- 1 | >>> Float storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s03.txt: -------------------------------------------------------------------------------- 1 | >>> String storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s04.txt: -------------------------------------------------------------------------------- 1 | >>> View storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s06.txt: -------------------------------------------------------------------------------- 1 | >>> Commit twice 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s09.txt: -------------------------------------------------------------------------------- 1 | >>> Copy storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s10.txt: -------------------------------------------------------------------------------- 1 | >>> Stream storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s12.txt: -------------------------------------------------------------------------------- 1 | >>> Remove subview 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s18.txt: -------------------------------------------------------------------------------- 1 | >>> Empty storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s22.txt: -------------------------------------------------------------------------------- 1 | >>> Double storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s25.txt: -------------------------------------------------------------------------------- 1 | >>> Bytes storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s30.txt: -------------------------------------------------------------------------------- 1 | >>> Memo storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b04.txt: -------------------------------------------------------------------------------- 1 | >>> String property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b06.txt: -------------------------------------------------------------------------------- 1 | >>> View construction 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b07.txt: -------------------------------------------------------------------------------- 1 | >>> Row manipulation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b08.txt: -------------------------------------------------------------------------------- 1 | >>> Row expressions 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b09.txt: -------------------------------------------------------------------------------- 1 | >>> View manipulation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b12.txt: -------------------------------------------------------------------------------- 1 | >>> Add after remove 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b13.txt: -------------------------------------------------------------------------------- 1 | >>> Clear view entry 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b17.txt: -------------------------------------------------------------------------------- 1 | >>> Double property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b18.txt: -------------------------------------------------------------------------------- 1 | >>> SetAtGrow usage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b20.txt: -------------------------------------------------------------------------------- 1 | >>> Search sorted view 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b23.txt: -------------------------------------------------------------------------------- 1 | >>> Sort comparison fix 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c04.txt: -------------------------------------------------------------------------------- 1 | >>> Cartesian product 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c07.txt: -------------------------------------------------------------------------------- 1 | >>> Concatenate views 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c08.txt: -------------------------------------------------------------------------------- 1 | >>> Rename property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c09.txt: -------------------------------------------------------------------------------- 1 | >>> GroupBy operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c10.txt: -------------------------------------------------------------------------------- 1 | >>> Counts operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c11.txt: -------------------------------------------------------------------------------- 1 | >>> Unique operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c12.txt: -------------------------------------------------------------------------------- 1 | >>> Union operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c13.txt: -------------------------------------------------------------------------------- 1 | >>> Intersect operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c14.txt: -------------------------------------------------------------------------------- 1 | >>> Different operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c15.txt: -------------------------------------------------------------------------------- 1 | >>> Minus operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c16.txt: -------------------------------------------------------------------------------- 1 | >>> View comparisons 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c18.txt: -------------------------------------------------------------------------------- 1 | >>> Groupby sort fix 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c19.txt: -------------------------------------------------------------------------------- 1 | >>> JoinProp operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/e01.txt: -------------------------------------------------------------------------------- 1 | >>> Extend new file 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/e03.txt: -------------------------------------------------------------------------------- 1 | >>> Read during extend 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/e04.txt: -------------------------------------------------------------------------------- 1 | >>> Extend during read 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/e05.txt: -------------------------------------------------------------------------------- 1 | >>> Test memory mapping 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/f01.txt: -------------------------------------------------------------------------------- 1 | >>> Add view to format 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/f04.txt: -------------------------------------------------------------------------------- 1 | >>> Rearrange format 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/f05.txt: -------------------------------------------------------------------------------- 1 | >>> Nested reformat 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/f06.txt: -------------------------------------------------------------------------------- 1 | >>> Flip foreign data 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/f11.txt: -------------------------------------------------------------------------------- 1 | >>> Delete missing view 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/l00.txt: -------------------------------------------------------------------------------- 1 | >>> Lots of properties 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/l07.txt: -------------------------------------------------------------------------------- 1 | >>> Huge description 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/m02.txt: -------------------------------------------------------------------------------- 1 | >>> Blocked view bug 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/n01.txt: -------------------------------------------------------------------------------- 1 | >>> Add to selection 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/n06.txt: -------------------------------------------------------------------------------- 1 | >>> Remove from sorted 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/n13.txt: -------------------------------------------------------------------------------- 1 | >>> Project without 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s01.txt: -------------------------------------------------------------------------------- 1 | >>> Integer storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s05.txt: -------------------------------------------------------------------------------- 1 | >>> Store and reload 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s07.txt: -------------------------------------------------------------------------------- 1 | >>> Commit modified 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s08.txt: -------------------------------------------------------------------------------- 1 | >>> View after storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s11.txt: -------------------------------------------------------------------------------- 1 | >>> Commit and rollback 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s21.txt: -------------------------------------------------------------------------------- 1 | >>> Test demo scenario 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s23.txt: -------------------------------------------------------------------------------- 1 | >>> Find absent record 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s24.txt: -------------------------------------------------------------------------------- 1 | >>> Bitwise storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s26.txt: -------------------------------------------------------------------------------- 1 | >>> Bitwise autosizing 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s27.txt: -------------------------------------------------------------------------------- 1 | >>> Bytes restructuring 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s28.txt: -------------------------------------------------------------------------------- 1 | >>> Doubles added later 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s36.txt: -------------------------------------------------------------------------------- 1 | >>> Commit after load 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s42.txt: -------------------------------------------------------------------------------- 1 | >>> Get descriptions 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s44.txt: -------------------------------------------------------------------------------- 1 | >>> Bad memo free space 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s50.txt: -------------------------------------------------------------------------------- 1 | >>> Free space usage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b22.txt: -------------------------------------------------------------------------------- 1 | >>> Stored view references 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b24.txt: -------------------------------------------------------------------------------- 1 | >>> Custom view comparisons 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b25.txt: -------------------------------------------------------------------------------- 1 | >>> Copy row from derived 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c06.txt: -------------------------------------------------------------------------------- 1 | >>> Pairwise combination 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c20.txt: -------------------------------------------------------------------------------- 1 | >>> Wide cartesian product 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c21.txt: -------------------------------------------------------------------------------- 1 | >>> Join on compound key 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/c22.txt: -------------------------------------------------------------------------------- 1 | >>> Groupby with selection 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/e02.txt: -------------------------------------------------------------------------------- 1 | >>> Extend committing twice 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/e06.txt: -------------------------------------------------------------------------------- 1 | >>> Rollback during extend 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/f02.txt: -------------------------------------------------------------------------------- 1 | >>> Remove view from format 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/f03.txt: -------------------------------------------------------------------------------- 1 | >>> Rollback format change 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/f08.txt: -------------------------------------------------------------------------------- 1 | >>> Automatic storage format 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/f09.txt: -------------------------------------------------------------------------------- 1 | >>> Partial restructuring 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/f10.txt: -------------------------------------------------------------------------------- 1 | >>> Committed restructuring 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/l01.txt: -------------------------------------------------------------------------------- 1 | >>> Over 32 Kb of integers 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/l02.txt: -------------------------------------------------------------------------------- 1 | >>> Over 64 Kb of strings 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/l06.txt: -------------------------------------------------------------------------------- 1 | >>> Bit field manipulations 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/n02.txt: -------------------------------------------------------------------------------- 1 | >>> Remove from selection 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/n03.txt: -------------------------------------------------------------------------------- 1 | >>> Modify into selection 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/n04.txt: -------------------------------------------------------------------------------- 1 | >>> Modify out of selection 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/n09.txt: -------------------------------------------------------------------------------- 1 | >>> Multiple dependencies 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/n10.txt: -------------------------------------------------------------------------------- 1 | >>> Modify sorted duplicates 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s13.txt: -------------------------------------------------------------------------------- 1 | >>> Remove middle subview 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s14.txt: -------------------------------------------------------------------------------- 1 | >>> Replace attached subview 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s16.txt: -------------------------------------------------------------------------------- 1 | >>> Add after removed ints 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s20.txt: -------------------------------------------------------------------------------- 1 | >>> View outlives storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s29.txt: -------------------------------------------------------------------------------- 1 | >>> Delete bytes property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s31.txt: -------------------------------------------------------------------------------- 1 | >>> Check sort buffer use 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s33.txt: -------------------------------------------------------------------------------- 1 | >>> Serialize memo fields 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s34.txt: -------------------------------------------------------------------------------- 1 | >>> Smart and failed commits 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s35.txt: -------------------------------------------------------------------------------- 1 | >>> Datafile with preamble 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s38.txt: -------------------------------------------------------------------------------- 1 | >>> Lots of empty subviews 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s40.txt: -------------------------------------------------------------------------------- 1 | >>> LoadFrom after commit 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s41.txt: -------------------------------------------------------------------------------- 1 | >>> Partial modify blocked 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s46.txt: -------------------------------------------------------------------------------- 1 | >>> LoadFrom after commit 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b15.txt: -------------------------------------------------------------------------------- 1 | >>> View outlives temp storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b26.txt: -------------------------------------------------------------------------------- 1 | >>> Partial memo field access 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b27.txt: -------------------------------------------------------------------------------- 1 | >>> Copy value to another row 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/l03.txt: -------------------------------------------------------------------------------- 1 | >>> Force sections in storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/l04.txt: -------------------------------------------------------------------------------- 1 | >>> Modify sections in storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/l05.txt: -------------------------------------------------------------------------------- 1 | >>> Delete from 32 Kb of strings 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/m05.txt: -------------------------------------------------------------------------------- 1 | >>> Blocked view with subviews 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/n07.txt: -------------------------------------------------------------------------------- 1 | >>> New property through sort 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/n08.txt: -------------------------------------------------------------------------------- 1 | >>> Nested project and select 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/n11.txt: -------------------------------------------------------------------------------- 1 | >>> Resize compound derived view 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/n12.txt: -------------------------------------------------------------------------------- 1 | >>> Alter multiply derived view 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/n14.txt: -------------------------------------------------------------------------------- 1 | >>> Insert in non-mapped position 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/r02.txt: -------------------------------------------------------------------------------- 1 | >>> Large inserts and removes 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/r03.txt: -------------------------------------------------------------------------------- 1 | >>> Binary property insertions 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s15.txt: -------------------------------------------------------------------------------- 1 | >>> Add after removed subviews 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s17.txt: -------------------------------------------------------------------------------- 1 | >>> Add after removed strings 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s19.txt: -------------------------------------------------------------------------------- 1 | >>> Empty view outlives storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s32.txt: -------------------------------------------------------------------------------- 1 | >>> Set memo empty or same size 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s37.txt: -------------------------------------------------------------------------------- 1 | >>> Change short partial fields 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s45.txt: -------------------------------------------------------------------------------- 1 | >>> Bad subview memo free space 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s47.txt: -------------------------------------------------------------------------------- 1 | >>> Defining bad property type 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b14.txt: -------------------------------------------------------------------------------- 1 | >>> Empty view outlives temp storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/b16.txt: -------------------------------------------------------------------------------- 1 | >>> View outlives cleared temp storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/m06.txt: -------------------------------------------------------------------------------- 1 | >>> Blocked view multi-row deletion 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/r04.txt: -------------------------------------------------------------------------------- 1 | >>> Scripted string property tests 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s43.txt: -------------------------------------------------------------------------------- 1 | >>> View reuse after sub-byte ints 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s48.txt: -------------------------------------------------------------------------------- 1 | >>> Resize subview to zero and back 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s49.txt: -------------------------------------------------------------------------------- 1 | >>> Specify conflicting properties 2 | <<< done. 3 | -------------------------------------------------------------------------------- /doc/e4s.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnorthrup/metakit/HEAD/doc/e4s.gif -------------------------------------------------------------------------------- /doc/tcl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnorthrup/metakit/HEAD/doc/tcl.gif -------------------------------------------------------------------------------- /tests/ok/f07.txt: -------------------------------------------------------------------------------- 1 | >>> Automatic structure info (obsolete) 2 | <<< done. 3 | -------------------------------------------------------------------------------- /tests/ok/s39.txt: -------------------------------------------------------------------------------- 1 | >>> Do not detach empty top-level views 2 | <<< done. 3 | -------------------------------------------------------------------------------- /doc/metakit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnorthrup/metakit/HEAD/doc/metakit.png -------------------------------------------------------------------------------- /doc/python.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnorthrup/metakit/HEAD/doc/python.jpg -------------------------------------------------------------------------------- /tests/ok/b00.txt: -------------------------------------------------------------------------------- 1 | >>> Should fail 2 | *** Failed: A(false) *** 3 | <<< done. 4 | -------------------------------------------------------------------------------- /unix/reversed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnorthrup/metakit/HEAD/unix/reversed -------------------------------------------------------------------------------- /win/msvc60/reversed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnorthrup/metakit/HEAD/win/msvc60/reversed -------------------------------------------------------------------------------- /win/msvc70/reversed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnorthrup/metakit/HEAD/win/msvc70/reversed -------------------------------------------------------------------------------- /tests/ok/r04a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 0 rows = p1:S 4 | -------------------------------------------------------------------------------- /tests/ok/s00a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 0 rows = p1:I 4 | -------------------------------------------------------------------------------- /tests/ok/s29a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 0 rows = p1:B 4 | -------------------------------------------------------------------------------- /tests/ok/s12a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 0 rows = p1:I p2:V 4 | -------------------------------------------------------------------------------- /tests/ok/d01a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /tests/ok/f03a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /tests/ok/s05a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /tests/ok/s07a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 234 5 | -------------------------------------------------------------------------------- /tests/ok/s08a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /tests/ok/s09a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /tests/ok/s09b.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /tests/ok/s11a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /tests/ok/s27a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:B 4 | 0: (4b) 5 | -------------------------------------------------------------------------------- /tests/ok/s32a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:B 4 | 0: (4b) 5 | -------------------------------------------------------------------------------- /tests/ok/s34a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 111 5 | -------------------------------------------------------------------------------- /tests/ok/s35a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 111 5 | -------------------------------------------------------------------------------- /tests/ok/s36a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 111 5 | -------------------------------------------------------------------------------- /tests/ok/s36b.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 111 5 | -------------------------------------------------------------------------------- /tests/ok/s39a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = v1:V 2 | 0: subview 'v1' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /tests/ok/s40a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 456 5 | -------------------------------------------------------------------------------- /tests/ok/f07a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = dict:V 2 | 0: subview 'dict' 3 | VIEW 0 rows = parent:I index:I view:V 4 | -------------------------------------------------------------------------------- /tests/ok/s37a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = v1:V 2 | 0: subview 'v1' 3 | VIEW 1 rows = key:I p1:B 4 | 0: 0 (6b) 5 | -------------------------------------------------------------------------------- /tests/ok/s44a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I p2:B 4 | 0: 0 (12345b) 5 | -------------------------------------------------------------------------------- /tests/ok/e01a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = p1:I 4 | 0: 123 5 | 1: 456 6 | -------------------------------------------------------------------------------- /tests/ok/e02a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = p1:I 4 | 0: 123 5 | 1: 456 6 | -------------------------------------------------------------------------------- /tests/ok/e03a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = p1:I 4 | 0: 123 5 | 1: 456 6 | -------------------------------------------------------------------------------- /tests/ok/e04a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = p1:I 4 | 0: 123 5 | 1: 123 6 | -------------------------------------------------------------------------------- /tests/ok/e06a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = p1:I 4 | 0: 123 5 | 1: 456 6 | -------------------------------------------------------------------------------- /tests/ok/f02a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = b:V 2 | 0: subview 'b' 3 | VIEW 2 rows = p2:I 4 | 0: 345 5 | 1: 567 6 | -------------------------------------------------------------------------------- /tests/ok/s06a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = p1:I 4 | 0: 123 5 | 1: 234 6 | -------------------------------------------------------------------------------- /tests/ok/s43a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = p1:I 4 | 0: 0 5 | 1: 12345 6 | -------------------------------------------------------------------------------- /tcl/tests/all.tcl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env tclsh 2 | 3 | source [file join [file dir [info script]] initests.tcl] 4 | 5 | runAllTests 6 | 7 | -------------------------------------------------------------------------------- /tests/ok/s31a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:I 4 | 0: 3 5 | 1: 1 6 | 2: 2 7 | -------------------------------------------------------------------------------- /tests/ok/s01a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:I 4 | 0: 123 5 | 1: 789 6 | 2: 456 7 | -------------------------------------------------------------------------------- /tests/ok/s02a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:F 4 | 0: 12.3 5 | 1: 78.9 6 | 2: 45.6 7 | -------------------------------------------------------------------------------- /tests/ok/s25a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:B 4 | 0: (2b) 5 | 1: (4b) 6 | 2: (5b) 7 | -------------------------------------------------------------------------------- /tests/ok/s26a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I p2:I p3:I p4:I 4 | 0: 100000 100000 100000 100000 5 | -------------------------------------------------------------------------------- /tests/ok/s30a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:B 4 | 0: (2b) 5 | 1: (4b) 6 | 2: (5b) 7 | -------------------------------------------------------------------------------- /tests/ok/s33a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:B 4 | 0: (2b) 5 | 1: (4b) 6 | 2: (5b) 7 | -------------------------------------------------------------------------------- /tests/ok/s33b.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:B 4 | 0: (2b) 5 | 1: (4b) 6 | 2: (5b) 7 | -------------------------------------------------------------------------------- /tests/ok/s33c.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:B 4 | 0: (2b) 5 | 1: (4b) 6 | 2: (5b) 7 | -------------------------------------------------------------------------------- /tests/ok/s50a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:I 4 | 0: 12345 5 | 1: 2345 6 | 2: 345 7 | -------------------------------------------------------------------------------- /tests/ok/s03a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:S 4 | 0: 'one' 5 | 1: 'three' 6 | 2: 'two' 7 | -------------------------------------------------------------------------------- /tests/ok/s48a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = v1:V 2 | 0: subview 'v1' 3 | VIEW 1 rows = v2:V 4 | 0: subview 'v2' 5 | VIEW 0 rows = p1:I 6 | -------------------------------------------------------------------------------- /tests/ok/s48b.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = v1:V 2 | 0: subview 'v1' 3 | VIEW 1 rows = v2:V 4 | 0: subview 'v2' 5 | VIEW 0 rows = p1:I 6 | -------------------------------------------------------------------------------- /tests/ok/l05a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I p2:S p3:S 4 | 0: 1747 'The wizard of Oz' 'The wizard of Oz' 5 | -------------------------------------------------------------------------------- /tests/ok/s22a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:D 4 | 0: 1234.5678 5 | 1: 3456.789 6 | 2: 2345.6789 7 | -------------------------------------------------------------------------------- /tests/ok/f08a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = dict:V 2 | 0: subview 'dict' 3 | VIEW 3 rows = p1:S p2:S 4 | 0: 'One' 'Two' 5 | 1: '' '' 6 | 2: 'One' 'Two' 7 | -------------------------------------------------------------------------------- /tests/ok/r02a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 5 rows = p1:I 4 | 0: 37 5 | 1: 38 6 | 2: 39 7 | 3: 95 8 | 4: 96 9 | -------------------------------------------------------------------------------- /tests/ok/s14a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I p2:V 4 | 0: 0 5 | 0: subview 'p2' 6 | VIEW 0 rows = p3:I 7 | -------------------------------------------------------------------------------- /tests/ok/s16a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I p2:V 4 | 0: 4 5 | 0: subview 'p2' 6 | VIEW 0 rows = p3:I 7 | -------------------------------------------------------------------------------- /tcl/pkgIndex.tcl.in: -------------------------------------------------------------------------------- 1 | # 2 | # Tcl package index file 3 | # 4 | package ifneeded @PACKAGE_NAME@ @PACKAGE_VERSION@ \ 5 | [list load [file join $dir @PKG_LIB_FILE@] @PACKAGE_NAME@] 6 | -------------------------------------------------------------------------------- /tests/ok/s17a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:S p2:V 4 | 0: 'four' 5 | 0: subview 'p2' 6 | VIEW 0 rows = p3:I 7 | -------------------------------------------------------------------------------- /tests/ok/s15a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I p2:V 4 | 0: 111 5 | 0: subview 'p2' 6 | VIEW 1 rows = p3:I 7 | 0: 234 8 | -------------------------------------------------------------------------------- /tests/ok/r03a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 5 rows = p1:B 4 | 0: (1024b) 5 | 1: (256b) 6 | 2: (1024b) 7 | 3: (1024b) 8 | 4: (341b) 9 | -------------------------------------------------------------------------------- /tests/ok/s45a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I p2:V 4 | 0: 0 5 | 0: subview 'p2' 6 | VIEW 1 rows = p3:B 7 | 0: (12345b) 8 | -------------------------------------------------------------------------------- /tcl/aclocal.m4: -------------------------------------------------------------------------------- 1 | # 2 | # Include the TEA standard macro set 3 | # 4 | 5 | builtin(include,tclconfig/tcl.m4) 6 | 7 | # 8 | # Add here whatever m4 macros you want to define for your package 9 | # 10 | -------------------------------------------------------------------------------- /tests/ok/f01a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V b:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | 0: subview 'b' 6 | VIEW 2 rows = p2:I 7 | 0: 345 8 | 1: 567 9 | -------------------------------------------------------------------------------- /tests/ok/f04a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = b:V a:V 2 | 0: subview 'b' 3 | VIEW 2 rows = p2:I 4 | 0: 345 5 | 1: 567 6 | 0: subview 'a' 7 | VIEW 1 rows = p1:I 8 | 0: 123 9 | -------------------------------------------------------------------------------- /tests/ok/s38a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = v:V 2 | 0: subview 'v' 3 | VIEW 2 rows = v1:V 4 | 0: subview 'v1' 5 | VIEW 0 rows = p1:S 6 | 1: subview 'v1' 7 | VIEW 0 rows = p1:S 8 | -------------------------------------------------------------------------------- /tests/ok/f05a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V b:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | 0: subview 'b' 6 | VIEW 2 rows = p1:I p2:I 7 | 0: 543 345 8 | 1: 765 567 9 | -------------------------------------------------------------------------------- /tests/ok/s28a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:F p2:D p3:V 4 | 0: 123 123 5 | 0: subview 'p3' 6 | VIEW 1 rows = p1:F p2:D 7 | 0: 234 234 8 | -------------------------------------------------------------------------------- /tests/ok/s49a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = v1:V v2:V v3:V 2 | 0: subview 'v1' 3 | VIEW 0 rows = p1:I 4 | 0: subview 'v2' 5 | VIEW 0 rows = p1:I 6 | 0: subview 'v3' 7 | VIEW 0 rows = v3:V 8 | -------------------------------------------------------------------------------- /doc/api/c4_Row.html: -------------------------------------------------------------------------------- 1 |
23 |
24 |
25 |
36 |
37 |
38 |
22 |
23 |
24 |
35 |
36 |
37 |
48 |
49 |
50 |
| 19 | Public members 20 | | 21 ||
| 25 | t4_byte* 26 | | 27 |
28 | |
34 |
| 38 | double 39 | | 40 |
41 | |
47 |
| 61 | Header file 62 | | 63 |64 | "mk4.h" -- Dec 9, 1999 65 | | 66 |
9 | Metakit sample code - MkOptimThis a generic utility for the Metakit library.
12 | 13 |What it does: MkOptim is a utility program which copies data from 14 | one Metakit file to another. This has the effect of optimizing the datafile 15 | (automatic integer sizing and compaction to remove all unused space) and of 16 | converting old datafile formats to the current one.
17 | 18 |What it illustrates: ***TBD***
19 | 20 |How to use it: ***TBD***. 21 |
22 | 23 |Known problems: None.
24 | 25 |Files in EXAMPLES\MKOPTIM:
26 | 27 |MKOPTIM.CPP - MkOptim main program
28 |
MKOPTIM.MAK, MKOPTIM.DSP - MSVC 5.0 project makefiles for Win32
9 | Metakit sample code - Dbf2mkThis is a generic utility for the Metakit library.
12 | 13 |What it does: Dbf2mk is a utility program which reads data from one 14 | or more industry-standard DBF files and saves the data in a Metakit datafile.
15 | 16 |What it illustrates: ***TBD***
17 | 18 |How to use it: ***TBD***. 19 |
20 | 21 |Known problems: None. This utility has not yet been extensively 22 | tested. This version can handle files of any size, but it does not load 23 | DBase "memo" fields and ignores all index files and calculated fields.
24 | 25 |Files in EXAMPLES\DBF2MK:
26 | 27 |DBF2MK.CPP - Dbf2mk main program
28 |
DBF2MK.MAK, DBF2MK.DSP - MSVC 5.0 project makefiles for Win32
| 19 | Public members 20 | | 21 ||
| 25 | virtual 26 | | 27 |
28 | |
34 |
| 38 | virtual int 39 | | 40 |
41 | 46 | Fetch some bytes sequentially 47 | |
48 |
| 52 | virtual void 53 | | 54 |
55 | 60 | Store some bytes sequentially 61 | |
62 |
| 76 | Header file 77 | | 78 |79 | "mk4.h" -- Dec 9, 1999 80 | | 81 |
9 | Metakit sample code - DemoThis example is more a "proof of concept" than anything else...
12 | 13 |What it does: Demo creates a simple view on disk, makes a few 14 | changes to the data as well as the structure, and then saves these too. 15 |
16 | 17 |What it illustrates: This sample program shows how to set up 18 | a simple program which uses Metakit. The source code of this 19 | application can be compiled for 32-bit Windows (as console application) 20 | as well as for 16-bit small-model DOS targets. When run more than once, i.e. with an existing 21 | datafile, this program will cause some changes to the data which illustrate 22 | the effects of "on-the-fly data restrcuturing". 23 | Demo has little practical use, other than to show you 24 | how to get started with Metakit.
25 | 26 |How to use it: When you launch the 16-bit DOS version called DEMO16.EXE, 27 | it creates a datafile called "myfile.dat", saves some 28 | data to it, and then reopens it and displays the line: 29 |
The country of Paco Pena is: Spain30 | 31 | By following the code, you can see where this came from. You can use the Metakit 32 | dump utility (see below) to examine the contents of the data file. 33 | 34 |
Known problems: None.
35 | 36 |Files in EXAMPLES\DEMO:
37 | 38 |DEMO.CPP - Demo main program
39 |
DEMO.MAK, DEMO.MDP - MSVC 4.2 project makefiles for Win32
40 |
DEMO16.MAK - MSVC 1.52 project makefile
41 |
42 |
43 |
| 19 | Public members 20 | | 21 ||
| 25 | 26 | | 27 |
28 | 33 | Constructor 34 | |
35 |
| 39 | operator 40 | | 41 |
42 | 47 | Get the value as long integer 48 | |
49 |
| 53 | c4_IntRef& 54 | | 55 |
56 | 61 | Set the value to the specified long integer 62 | |
63 |
| 77 | Header file 78 | | 79 |80 | "mk4.h" -- Dec 9, 1999 81 | | 82 |
| 89 | Derived from 90 | | 91 |92 | 93 | c4_Reference 94 | 95 | | 96 |
| 19 | Public members 20 | | 21 ||
| 25 | 26 | | 27 |
28 | 33 | Constructor 34 | |
35 |
| 39 | operator const 40 | | 41 |
42 | 47 | Get the value as string 48 | |
49 |
| 53 | c4_StringRef& 54 | | 55 |
56 | 61 | Set the value to the specified string 62 | |
63 |
| 77 | Header file 78 | | 79 |80 | "mk4.h" -- Dec 9, 1999 81 | | 82 |
| 89 | Derived from 90 | | 91 |92 | 93 | c4_Reference 94 | 95 | | 96 |
| 19 | Public members 20 | | 21 ||
| 25 | 26 | | 27 |
28 | 33 | Constructor 34 | |
35 |
| 39 | operator 40 | | 41 |
42 | 47 | Get the value as floating point 48 | |
49 |
| 53 | c4_FloatRef& 54 | | 55 |
56 | 61 | Set the value to the specified floating point 62 | |
63 |
| 77 | Header file 78 | | 79 |80 | "mk4.h" -- Dec 9, 1999 81 | | 82 |
| 89 | Derived from 90 | | 91 |92 | 93 | c4_Reference 94 | 95 | | 96 |
| 19 | Public members 20 | | 21 ||
| 25 | 26 | | 27 |
28 | 33 | Constructor 34 | |
35 |
| 39 | operator 40 | | 41 |
42 | 47 | Get the value as floating point 48 | |
49 |
| 53 | c4_DoubleRef& 54 | | 55 |
56 | 61 | Set the value to the specified floating point 62 | |
63 |
| 77 | Header file 78 | | 79 |80 | "mk4.h" -- Dec 9, 1999 81 | | 82 |
| 89 | Derived from 90 | | 91 |92 | 93 | c4_Reference 94 | 95 | | 96 |
| 19 | Public members 20 | | 21 ||
| 25 | 26 | | 27 |
28 | 33 | Constructor 34 | |
35 |
| 39 | operator 40 | | 41 |
42 | 47 | Get the value as view 48 | |
49 |
| 53 | c4_ViewRef& 54 | | 55 |
56 | 61 | Set the value to the specified view 62 | |
63 |
| 77 | Header file 78 | | 79 |80 | "mk4.h" -- Dec 9, 1999 81 | | 82 |
| 89 | Derived from 90 | | 91 |92 | 93 | c4_Reference 94 | 95 | | 96 |
9 | Metakit sample code - MyIOThis example demonstrates how to setup low-level datafile encryption with Metakit.
12 | 13 |What it does: MyIO creates a simple view on disk, and then loads it back in. 14 | The data on disk is stored in a simple encrypted format. 15 |
16 | 17 |What it illustrates: This sample program shows how to customize Metakit 18 | via its "Strategy" object.
Just to show it can be done, MyIO also disables all 19 | flush calls issued by Metakit. This slightly reduces the fail-safe properties but 20 | improves performance with frequent commits on systems which implement caching using 21 | "lazy writes" (such as Windows).
The source code of this 22 | application can be compiled for 32-bit Windows (as console application) 23 | as well as for 16-bit DOS targets. MyIO has no practical use, but it contains a 24 | "CEncryptStrategy" class which you can adapt to suit your purposes.
25 | 26 |How to use it: When you launch MYIO.EXE, it creates a datafile called "secret.dat", 27 | saves some string data to it, then reads that back and displays these strings. 28 |
Note that due to the encrypted 29 | storage format you can NOT use the Metakit dump utility to examine the contents of the data file. 30 | You can of course build your own version of it, since all the necessary source code is included. 31 | 32 |
Known problems: None.
33 | 34 |Files in EXAMPLES\MYIO:
35 | 36 |MYIO.CPP - MyIO main program
37 |
MYIO.MAK, MYIO.MDP - MSVC 4.2 project makefiles for Win32
38 |
MYIO16.MAK - MSVC 1.52 project makefile
39 |
40 |
41 |
| 19 | Public members 20 | | 21 ||
| 25 | 26 | | 27 |
28 | 33 | Constructor 34 | |
35 |
| 39 | operator 40 | | 41 |
42 | 47 | Get the value as binary object 48 | |
49 |
| 53 | c4_BytesRef& 54 | | 55 |
56 | 61 | Set the value to the specified binary object 62 | |
63 |
| 77 | Header file 78 | | 79 |80 | "mk4.h" -- Dec 9, 1999 81 | | 82 |
| 89 | Derived from 90 | | 91 |92 | 93 | c4_Reference 94 | 95 | | 96 |
10 | 11 | Internally, row references are very similar to cursors, in fact they are 12 | little more than a wrapper around them. The essential difference is one 13 | of semantics: comparing row references compares contents, copying row 14 | references copies the contents, whereas cursor comparison and copying 15 | deals with the pointer to the row, not its contents. 16 | 17 |
18 | 19 | 20 | 21 |
36 |
37 |
38 |
49 |
50 |
51 |
62 |
63 |
64 |
75 |
76 |
77 |
88 |
89 |
90 |
| 19 | Public members 20 | | 21 ||
| 25 | virtual 26 | | 27 |
28 | 33 | Destructor 34 | |
35 |
| 39 | virtual c4_View 40 | | 41 |
42 | 47 | Return the structure of this view (initialization, called once) 48 | |
49 |
| 53 | virtual int 54 | | 55 |
56 | 61 | Return the number of rows in this view 62 | |
63 |
| 67 | virtual bool 68 | | 69 |
70 | 75 | Fetch one data item, return it as a generic data value 76 | |
77 |
| 86 | Protected members 87 | | 88 ||
| 92 | 93 | | 94 |
95 | Constructor, must be overriden in derived class 98 | |
99 |
| 111 | Header file 112 | | 113 |114 | "mk4.h" -- Dec 9, 1999 115 | | 116 |
11 | 12 | Custom views are read-only in this version, and cannot propagate changes. 13 |
14 | 15 | To implement a custom view, you must derive your viewer from this base 16 | class and define each of the virtual members. Then create a new object 17 | of this type on the heap and pass it to the c4_View constructor. Your 18 | viewer will automatically be destroyed when the last reference to its 19 | view goes away. See the DBF2MK sample code for an example of a viewer. 20 | 21 |
22 | 23 | 24 | 25 |
40 |
41 |
42 |
53 |
54 |
55 |
66 |
67 |
68 |
79 |
80 |
81 |
92 |
93 |
94 |
9 | Metakit sample code - StructThis application highlights some low-level aspects of the Metakit library. 12 |
13 | 14 |What it does: Struct is a little utility which displays the data 15 | structure of any Metakit datafile on standard output. The output uses a 16 | text-mode graph to display the data structure, which can be useful to determine 17 | what information is stored in a specific Metakit datafile.
18 | 19 |What it illustrates: For demonstration purposes, Struct has been 20 | compiled as a real-mode small-model MS-DOS utility program. It shows how you can extract 21 | structural information from a Metakit datafile without knowing anything 22 | about it. The sample code includes a general "StructureMap" class 23 | to generate text-based graphs. The size of the STRUCT.EXE program demonstrates 24 | how small a fully self-contained application using Metakit can be.
25 | 26 |Note that although Struct must respect the very severe 64 K memory limit imposed 27 | by small-model MS-DOS, you can still use this program to examine the structure of files 28 | of any reasonable size. The reason for this is that Metakit implements on-demand loading, 29 | and that Struct never accesses the actual data itself.
30 | 31 |How to use it: To examine the structure of a datafile, simply 32 | run STRUCT.EXE from the MS-DOS prompt with the filename as argument. There 33 | are a few command-line options to control the output format, these are 34 | listed when you start Struct without a filename. They are:
35 | 36 |You can redirect the output to file, just as with any other MS-DOS program. 45 |
46 | 47 |Known problems: None.
48 | 49 |Files in EXAMPLES\STRUCT:
50 | 51 |STRUCT.CPP - Struct main program
52 |
STRUCT.MAK - MSVC 1.52 project makefile
| 19 | Public members 20 | | 21 ||
| 25 | 26 | | 27 |
28 | 33 | Constructor 34 | |
35 |
| 39 | operator 40 | | 41 |
42 | 47 | Get the value as binary object 48 | |
49 |
| 53 | c4_MemoRef& 54 | | 55 |
56 | 61 | Set the value to the specified binary object 62 | |
63 |
| 67 | c4_Bytes 68 | | 69 |
70 | 75 | Fetch data from the memo field, up to end if length is zero 76 | |
77 |
| 81 | bool 82 | | 83 |
84 | 89 | Store data, resize by diff_ bytes, return true if successful 90 | |
91 |
| 105 | Header file 106 | | 107 |108 | "mk4.h" -- Dec 9, 1999 109 | | 110 |
| 117 | Derived from 118 | | 119 |120 | 121 | c4_Reference 122 | 123 | | 124 |
9 | Metakit sample code - DumpThis application is a generic utility for the Metakit library.
12 | 13 |What it does: Dump is a utility program which displays the contents 14 | of a Metakit datafile on standard output. The output shows all the information 15 | which is stored in the datafile, which can be quite useful while developing 16 | and debugging applications based on Metakit.
17 | 18 |What it illustrates: Dump is a so-called "32-bit console 19 | application", this is the modern version of the classical MS-DOS command-line 20 | executables. It shows how you can extract structural information from a 21 | Metakit datafile without knowing anything about it. The basic trick is 22 | to simply open the file, and then to step through each of the properties 23 | (using the members NumProperties and NthProperty). The executable file 24 | is tiny, because both Metakit and MFC have been linked as DLLs.
25 | 26 |How to use it: To dump a datafile, you can start DUMP.EXE from 27 | the MS-DOS prompt with the filename as argument (or drop a file on it in 28 | the Explorer). Since datafiles can store arbitrarily nested data structures, 29 | you may need to examine the output to understand how the information is 30 | presented on standard output. Dump adds quite a bit of detail to guide 31 | you (including all the property names). Basically, the data structure is 32 | traversed recursively, with indentation added to reflect the current nesting 33 | level. There are a number of command-line options to modify the default 34 | output style:
35 | 36 |You can redirect the output to file, just like any other console application. 46 |
47 | 48 |Known problems: None. Note that this is a 32-bit application 49 | which requires Windows 95 (or perhaps Windows NT or Win32s), and that the 50 | Metakit DLLs are used.
51 | 52 |Files in EXAMPLES\DUMP:
53 | 54 |DUMP.CPP - Dump main program
55 |
DUMP.MAK, DUMP.MDP - MSVC 4.2 project makefiles for Win32