├── AUTHORS
├── COPYING
├── ChangeLog
├── INSTALL
├── Makefile.am
├── Makefile.in
├── NEWS
├── README
├── aclocal.m4
├── compile
├── config.guess
├── config.sub
├── configure
├── configure.ac
├── contrib
├── Makefile.am
├── Makefile.in
├── README
└── fbmerge
│ ├── Makefile.am
│ ├── Makefile.in
│ ├── fbmerge.cpp
│ ├── fbmerge.sln
│ └── fbmerge.vcproj
├── depcomp
├── doc
├── contact.html
├── dataDistributions.html
├── dataLoading.html
├── footer.html
├── header.html
├── ibisCommandLine.html
├── index.html
├── indexSpec.html
├── quickstart.html
└── rara.html
├── examples
├── Makefile.am
├── Makefile.in
├── README
├── ardea.cpp
├── ibis.cpp
├── rara.cpp
├── tcapi.c
├── thula.cpp
└── tiapi.c
├── install-sh
├── java
├── FastBit.c
├── FastBit.h
├── Makefile.am
├── Makefile.in
├── README
├── build.xml
├── gov
│ └── lbl
│ │ └── fastbit
│ │ ├── FastBit.java
│ │ ├── FastBitStringReader.java
│ │ ├── FastBitStringReaderException.java
│ │ ├── FastBitStringWriter.java
│ │ └── FastBitStringWriterException.java
├── milky.java
└── tests
│ ├── README
│ ├── TestFastBitJava.java
│ ├── lib
│ ├── commons-logging.jar
│ ├── junit-4.4.jar
│ └── log4j-1.2.15.jar
│ └── log4j.properties
├── ltmain.sh
├── missing
├── runconfig
├── src
├── Doxyfile
├── Makefile.am
├── Makefile.in
├── array_t.cpp
├── array_t.h
├── bitvector.cpp
├── bitvector.h
├── bitvector64.cpp
├── bitvector64.h
├── blob.cpp
├── blob.h
├── bord.cpp
├── bord.h
├── bordm.cpp
├── bundle.cpp
├── bundle.h
├── capi.cpp
├── capi.h
├── category.cpp
├── category.h
├── colValues.cpp
├── colValues.h
├── column.cpp
├── column.h
├── const.h
├── countQuery.cpp
├── countQuery.h
├── dictionary.cpp
├── dictionary.h
├── fastbit-0.7.pc.in
├── fastbit-config.h.in
├── fileManager.cpp
├── fileManager.h
├── filter.cpp
├── filter.h
├── fromClause.cpp
├── fromClause.h
├── fromLexer.cc
├── fromLexer.h
├── fromLexer.ll
├── fromParser.cc
├── fromParser.hh
├── fromParser.yy
├── horometer.h
├── iapi.cpp
├── iapi.h
├── ibin.cpp
├── ibin.h
├── ibis.h
├── icegale.cpp
├── icentre.cpp
├── icmoins.cpp
├── idbak.cpp
├── idbak2.cpp
├── idirekte.cpp
├── idirekte.h
├── ifade.cpp
├── ikeywords.cpp
├── ikeywords.h
├── imesa.cpp
├── index.cpp
├── index.h
├── irange.cpp
├── irelic.cpp
├── irelic.h
├── iroster.cpp
├── iroster.h
├── isapid.cpp
├── isbiad.cpp
├── iskive.cpp
├── islice.cpp
├── ixambit.cpp
├── ixbylt.cpp
├── ixfuge.cpp
├── ixfuzz.cpp
├── ixpack.cpp
├── ixpale.cpp
├── ixzona.cpp
├── ixzone.cpp
├── jnatural.cpp
├── jnatural.h
├── jrange.cpp
├── jrange.h
├── location.hh
├── mensa.cpp
├── mensa.h
├── meshQuery.cpp
├── meshQuery.h
├── part.cpp
├── part.h
├── parth.cpp
├── parth2d.cpp
├── parth3d.cpp
├── parth3da.cpp
├── parth3db.cpp
├── parth3dw.cpp
├── parti.cpp
├── party.cpp
├── position.hh
├── qExpr.cpp
├── qExpr.h
├── quaere.cpp
├── quaere.h
├── query.cpp
├── query.h
├── resource.cpp
├── resource.h
├── rids.cpp
├── rids.h
├── selectClause.cpp
├── selectClause.h
├── selectLexer.cc
├── selectLexer.h
├── selectLexer.ll
├── selectParser.cc
├── selectParser.hh
├── selectParser.yy
├── stack.hh
├── tab.h
├── table.h
├── tafel.cpp
├── tafel.h
├── twister.h
├── util.cpp
├── util.h
├── utilidor.cpp
├── utilidor.h
├── whereClause.cpp
├── whereClause.h
├── whereLexer.cc
├── whereLexer.h
├── whereLexer.ll
├── whereParser.cc
├── whereParser.hh
└── whereParser.yy
├── tests
├── Makefile.am
├── Makefile.in
├── README
├── acmpub.csv
├── acmpub.v.a
├── acmpub.v.b
├── inRange.cpp
├── jrf.cpp
├── js2.csv
├── m4
│ ├── libtool.m4
│ ├── ltoptions.m4
│ ├── ltsugar.m4
│ ├── ltversion.m4
│ └── lt~obsolete.m4
├── marksdb.csv
├── maurel.csv
├── readcsv.cpp
├── scripts
│ ├── fastbit-config.in
│ ├── hcompare.pl
│ ├── jrf-check.pl
│ ├── matchCounts.pl
│ ├── printWarning.pl
│ ├── query-count.list
│ └── star2002.sh
├── setqgen.cpp
├── smatch.cpp
├── test0.csv
├── test1.csv
└── vault
│ ├── acmpub-0
│ ├── acmpub-1
│ ├── acmpub-2
│ ├── hist0
│ ├── hist1
│ ├── hist2
│ ├── hist3
│ ├── hist4
│ ├── hist5
│ ├── hist6
│ ├── inRange-1
│ ├── join-1
│ ├── join-2
│ ├── join-3
│ ├── join-4
│ ├── join-5
│ ├── join-6
│ ├── join-7
│ ├── join-8
│ ├── marksdb-1
│ ├── marksdb-3
│ ├── marksdb-4
│ ├── small-1
│ ├── small-10
│ ├── small-11
│ ├── small-12
│ ├── small-2
│ ├── small-3
│ ├── small-4
│ ├── small-5
│ ├── small-6
│ ├── small-7
│ ├── smatch-1
│ ├── tcapi-3
│ ├── text-0
│ ├── thula-0
│ └── thula-1
└── win
├── FlexLexer.h
├── MinGW.mak
├── README
├── Win.mak
├── ardea.vcproj
├── ardea.vcxproj
├── dll.vcproj
├── dll.vcxproj
├── ibis.sln
├── ibis.vcproj
├── ibis.vcxproj
├── java.vcproj
├── java.vcxproj
├── rara.vcproj
├── rara.vcxproj
├── setqgen.vcproj
├── setqgen.vcxproj
├── static_pthread.patch
├── static_pthread_init.c
├── tcapi.vcproj
├── tcapi.vcxproj
├── thula.vcproj
├── thula.vcxproj
├── trydll.cpp
├── trydll.vcproj
├── trydll.vcxproj
└── xMinGW.mak
/AUTHORS:
--------------------------------------------------------------------------------
1 | John Wu
2 | With support from Kurt Stockinger, Ekow Otoo and Arie Shoshani
3 |
4 |
5 | With contributions in the form of sources code, patches, data files and
6 | test queries from (in chronological order of the first contribution):
7 | Aaron Hong
8 | Mark Sordo
9 | Jochen Schlosser
10 | David Kantowitz
11 | Matthias Vallentin
12 | Andrey Kolchanov
13 | Norbert Heusser
14 | David B. Marks
15 | Alexandre Maurel
16 | Jan Steemann
17 | Luca Deri
18 | Andreas Streichardt
19 | Shiran Pasternak
20 | Bernd Jaenichen
21 | Jon Strabala
22 | Chen Hang
23 | Justin Swanhart
24 | Divya Chandrasekar
25 | Petr Valen
26 |
27 |
28 |
29 | Many users have identified bugs and suggested fixes, their names are
30 | mentioned in ChangeLog together with the bugs and suggestions.
31 |
32 | Contributors with code in the directory contrib are listed with their code.
33 |
--------------------------------------------------------------------------------
/COPYING:
--------------------------------------------------------------------------------
1 | "FastBit, Copyright (c) 2014, The Regents of the University of
2 | California, through Lawrence Berkeley National Laboratory (subject to
3 | receipt of any required approvals from the U.S. Dept. of Energy). All
4 | rights reserved."
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions are
8 | met:
9 |
10 | (1) Redistributions of source code must retain the above copyright
11 | notice, this list of conditions and the following disclaimer.
12 |
13 | (2) Redistributions in binary form must reproduce the above copyright
14 | notice, this list of conditions and the following disclaimer in the
15 | documentation and/or other materials provided with the distribution.
16 |
17 | (3) Neither the name of the University of California, Lawrence Berkeley
18 | National Laboratory, U.S. Dept. of Energy nor the names of its
19 | contributors may be used to endorse or promote products derived from
20 | this software without specific prior written permission.
21 |
22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
23 | IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
24 | TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
25 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
26 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
28 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
29 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
30 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
31 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 |
34 | You are under no obligation whatsoever to provide any bug fixes,
35 | patches, or upgrades to the features, functionality or performance of
36 | the source code ("Enhancements") to anyone; however, if you choose to
37 | make your Enhancements available either publicly, or directly to
38 | Lawrence Berkeley National Laboratory, without imposing a separate
39 | written license agreement for such Enhancements, then you hereby grant
40 | the following license: a non-exclusive, royalty-free perpetual license
41 | to install, use, modify, prepare derivative works, incorporate into
42 | other computer software, distribute, and sublicense such enhancements or
43 | derivative works thereof, in binary and source code form.
44 |
45 |
--------------------------------------------------------------------------------
/Makefile.am:
--------------------------------------------------------------------------------
1 | AUTOMAKE_OPTIONS=gnu
2 | ACLOCAL_AMFLAGS=-I tests/m4
3 | SUBDIRS = src examples java tests contrib
4 | bin_SCRIPTS = tests/scripts/fastbit-config
5 | EXTRA_DIST = runconfig win/README win/Win.mak win/MinGW.mak win/ardea.vcproj \
6 | win/ibis.sln win/ibis.vcproj win/thula.vcproj win/tcapi.vcproj \
7 | win/trydll.cpp win/dll.vcproj win/trydll.vcproj win/java.vcproj \
8 | win/FlexLexer.h contrib/README contrib/fbmerge/fbmerge.cpp \
9 | contrib/fbmerge/Makefile.am contrib/fbmerge/Makefile.in \
10 | contrib/fbmerge/fbmerge.sln contrib/fbmerge/fbmerge.vcproj
11 |
12 | dist_doc_DATA = doc/dataDistributions.html \
13 | doc/index.html doc/quickstart.html doc/dataLoading.html \
14 | doc/ibisCommandLine.html doc/indexSpec.html doc/footer.html
15 |
16 | docs:
17 | cd src && $(MAKE) docs
18 |
19 | # three levels of thoroughness are available for checking the
20 | # correctness of FastBit functions: check, more-check, and full-check.
21 | # The normal check may take about a few seconds on a typical Linux machine,
22 | # more-check takes about ten to fifteen minutes, while full-check takes
23 | # several hours.
24 | more-check:
25 | cd tests && $(MAKE) more-check
26 |
27 | full-check:
28 | cd tests && $(MAKE) full-check
29 |
30 | clean: clean-recursive
31 | -rm -f win/*.suo win/*.ncb win/*/*.suo win/*/*.ncb win/*.obj win/*.lib win/*.exe win/*.exe.* win/*/*.obj win/*/*.lib win/*/*.exe win/*/*.exe.* win/fastbit.def
32 | -rm -fr autom4te.cache doc/html doc/latex win/Debug win/Release win/*/Debug win/*/Release win/dll win/*.vcproj.* win/*/*.vcproj.*
33 |
34 | distclean: distclean-recursive
35 | -rm -f $(am__CONFIG_DISTCLEAN_FILES) Makefile win/*.suo win/*.ncb win/*.obj win/*.exe win/*.exe.* win/*/*.suo win/*/*.ncb win/*/*.obj win/*/*.exe win/*/*.exe.*
36 | -rm -fr autom4te.cache doc/html doc/latex win/Debug win/Release win/*/Debug win/*/Release win/dll win/*.vcproj.* win/*/*.vcproj.*
37 |
38 | maintainer-clean: maintainer-clean-am
39 | -rm -rf ./$(DEPDIR) autom4te.cache
40 | -rm -f Makefile
41 |
42 | #dist-hook:
43 | # -rm -rf `find $(distdir) \( -name CVS -o \name .svn \)`
44 |
45 | .PHONY: docs more-check full-check
46 |
--------------------------------------------------------------------------------
/README:
--------------------------------------------------------------------------------
1 | *** COMPILING ON WINDOWS ***
2 | As of 2014, FastBit source code starts to make use of some C++11x
3 | features that are not supported yet in MS Visual Studio, therefore,
4 | there is no way to compile with Visual Studio until C++0x is
5 | supported. However, it is possible to compile with CYGWIN.
6 | ****************************
7 |
8 |
9 |
10 | This directory contains the current version of FastBit (code named
11 | IBIS). Please report any problem you've encountered in using this
12 | package to .
13 |
14 | Please feel free to post any success story or paper you wrote that makes
15 | use of FastBit in some way. Your success stories will be encouragement
16 | for the developers and users.
17 |
18 |
19 | This software is packaged with GNU build tools. On systems that
20 | support such tools, you should be able to build it by running the
21 | following two commands in this directory
22 |
23 | ./configure
24 | make
25 |
26 | Due to the uses of a number of C++11 features, such as, unique_ptr and
27 | unordered_map, the current version of the source code requires GCC 4.8
28 | or clang 3.5 to compile. If your C++ compiler supports C++11, please
29 | give it a try and let us know.
30 |
31 | Further information about installation is available in file INSTALL in
32 | this directory. For installation on a MS Windows system using Visual
33 | Studio, follow instructions in win/README.
34 |
35 | To check the correctness of the build, run the following command
36 |
37 | make check
38 |
39 | Read the file README in tests directory to find out more about the tests.
40 |
41 | The main body of the source code is located in directory src. The code
42 | is built into a single library named libfastbit.la on systems with
43 | libtools.
44 |
45 | Some examples of using the library are located in the directory examples.
46 | The following is a brief description of the four examples.
47 |
48 | -- ibis.cpp exercises much of the functions of the lower level indexing
49 | functions.
50 | -- tcapi.c is an example of using the C API querying defined in capi.h.
51 | -- thula.cpp exercises the querying interface defined in class
52 | ibis::table.
53 | -- ardea.cpp exercises the functions to extend a table (API defined in
54 | ibis::tablex).
55 |
56 | The directory doc contains a number of HTML files that documents key
57 | features of FastBit. In particular, the file quickstart.html contains
58 | brief instructions for basic tasks and should be useful starting for
59 | those not familiar with FastBit already.
60 |
61 | There is considerable amount of in-line documentation in the source
62 | code; execute the following command to invoke doxygen and extract the
63 | in-line documentation
64 |
65 | make docs
66 |
67 | The resulting documentation is in directory doc/html.
68 | Alternatively, you may view the on-line version of the documents at
69 | http://sdm.lbl.gov/fastbit/doc/.
70 |
71 |
72 | The FastBit mailing list could be a valuable resource. It is archived
73 | on line at http://hpcrdm.lbl.gov/mailman/private/fastbit-users/. If you have
74 | question not answered in the documents or the mailing list, post your
75 | questions to the FastBit mailing list. You need to first join the
76 | mailing list by visiting
77 | https://hpcrdm.lbl.gov/mailman/listinfo/fastbit-users.
78 |
79 | Before reporting a problem, it might be helpful to check whether the
80 | problem still exist with the current source code. A nightly snapshot of
81 | the SVN repository for the code is available for download at
82 | . The snapshot is
83 | built daily between 2 and 3 AM Pacific Time zone (USA).
84 |
--------------------------------------------------------------------------------
/contrib/Makefile.am:
--------------------------------------------------------------------------------
1 | AUTOMAKE_OPTIONS=gnu
2 | SUBDIRS = fbmerge
3 |
4 | #EXTRA_DIST = README
5 |
--------------------------------------------------------------------------------
/contrib/README:
--------------------------------------------------------------------------------
1 | This directory contains contributed code. It may carry its own license,
2 | not necessarily the LGPL license used by the main FastBit code.
3 |
4 |
--------------------------------------------------------------------------------
/contrib/fbmerge/Makefile.am:
--------------------------------------------------------------------------------
1 | AUTOMAKE_OPTIONS=gnu
2 | EXTRA_DIST = fbmerge.sln fbmerge.vcproj
3 |
4 | bin_PROGRAMS = fbmerge
5 | fbmerge_SOURCES = fbmerge.cpp
6 | fbmerge_DEPENDENCIES = ../../src/libfastbit.la
7 | fbmerge_LDADD = ../../src/libfastbit.la
8 | #
9 | ../../src/libfastbit.la::
10 | cd ../../src && $(MAKE) libfastbit.la
11 |
12 | distclean-local:
13 | -rm -rf .ibis
14 |
--------------------------------------------------------------------------------
/contrib/fbmerge/fbmerge.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 10.00
3 | # Visual Studio 2008
4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fbmerge", "fbmerge.vcproj", "{E9D5FF9E-4058-4ECE-ABDC-3FC947D87C7F}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Win32 = Debug|Win32
9 | Release|Win32 = Release|Win32
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {E9D5FF9E-4058-4ECE-ABDC-3FC947D87C7F}.Debug|Win32.ActiveCfg = Debug|Win32
13 | {E9D5FF9E-4058-4ECE-ABDC-3FC947D87C7F}.Debug|Win32.Build.0 = Debug|Win32
14 | {E9D5FF9E-4058-4ECE-ABDC-3FC947D87C7F}.Release|Win32.ActiveCfg = Release|Win32
15 | {E9D5FF9E-4058-4ECE-ABDC-3FC947D87C7F}.Release|Win32.Build.0 = Release|Win32
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/doc/contact.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 | FastBit Contact Information
9 |
10 |
13 |
15 |
16 |
17 |
18 |
19 |
57 | Please join the
58 | FastBit
59 | mailing list to post your questions and share your experience. This
60 | is our preferred means of contacting us. It gives us a way to
61 | keep track of
62 | the exchanges. The users on the list can also keep us accountable.
63 | However, if you would prefer a less public channel to contact us, you
64 | may email one of the following persons:
65 |