Skip to content

Commit 1c28770

Browse files
committed
adding top level files back
1 parent 783231b commit 1c28770

File tree

10 files changed

+109
-1
lines changed

10 files changed

+109
-1
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
*.swp
22
*.pyc
3-
.#kate-*
43
*.config
54
*.log
5+
*.log.*
6+
*.out
7+
*.csv

README

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
+ ----------------------------------------------- +
2+
+ Python TPC-C +
3+
+ ----------------------------------------------- +
4+
5+
6+
The basic idea is that you will need to create a new driver file that
7+
implements the functions defined in "abstractdriver.py". One function will
8+
load in the tuples into your database for a given table. Then there are five
9+
separate functions that execute the given transaction based on a set of input
10+
parameters. All the work for generating the tuples and the input parameters
11+
for the transactions has been done for you.
12+
13+
Here's what you need to do to get started:
14+
15+
(1) Download the source code from Github:
16+
17+
https://github.com/apavlo/py-tpcc/tree/master/pytpcc
18+
19+
(2) Create a new file in the 'drivers' directory for your system that follows
20+
the proper naming convention. For example, if your system is 'MongoDB', then
21+
your new file will be called 'mongodbdriver.py' and that file will contain a
22+
new class called 'MongodbDriver' (note the capitalization).
23+
24+
(3) Inside your class you will need to implement the required functions of
25+
defined in AbstractDriver. There is documentation on what these need to do
26+
also available on Github:
27+
28+
https://github.com/apavlo/py-tpcc/wiki
29+
30+
(3) Try running your system. I would start by defining the configuration file
31+
that gets returned with by the 'makeDefaultConfig' function in your driver and
32+
then implement the data loading part first, since that will guide how you
33+
actually execute the transactions. Using 'MongoDB' as an example again, you
34+
can print out the driver's configuration dict to a file:
35+
36+
$ python ./tpcc.py --print-config mongodb > mongodb.config
37+
38+
Make any changes you need to 'mongodb.config' (e.g., passwords, hostnames).
39+
Then test the loader:
40+
41+
$ python ./tpcc.py --no-execute --config=mongodb.config mongodb
42+
43+
You can use the CSV driver if you want to see what the data or transaction
44+
input parameters will look like. The following command will dump out just the
45+
input to the driver's functions to files in /tmp/tpcc-*
46+
47+
$ python ./tpcc.py csv
48+
49+
You can also look at my SqliteDriver implementation to get an idea of what
50+
your transaction implementation functions need to do:
51+
52+
https://github.com/apavlo/py-tpcc/blob/master/pytpcc/drivers/sqlitedriver.py

py_tpcc.egg-info/PKG-INFO

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Metadata-Version: 1.0
2+
Name: py-tpcc
3+
Version: 0.0dev
4+
Summary: Python implementation of the TPC-C benchmark
5+
Home-page: http://www.cs.brown.edu/~pavlo/
6+
Author: Andy Pavlo
7+
Author-email: [email protected]
8+
License: BSD
9+
Description: UNKNOWN
10+
Platform: UNKNOWN

py_tpcc.egg-info/SOURCES.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
setup.cfg
2+
setup.py
3+
py_tpcc.egg-info/PKG-INFO
4+
py_tpcc.egg-info/SOURCES.txt
5+
py_tpcc.egg-info/dependency_links.txt
6+
py_tpcc.egg-info/entry_points.txt
7+
py_tpcc.egg-info/not-zip-safe
8+
py_tpcc.egg-info/top_level.txt
9+
pytpcc/__init__.py

py_tpcc.egg-info/dependency_links.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

py_tpcc.egg-info/entry_points.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
2+
# -*- Entry points: -*-
3+

py_tpcc.egg-info/not-zip-safe

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

py_tpcc.egg-info/top_level.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pytpcc

setup.cfg

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[egg_info]
2+
tag_build = dev
3+
tag_svn_revision = true

setup.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
from setuptools import setup, find_packages
2+
import sys, os
3+
4+
version = '0.0'
5+
6+
setup(name='py-tpcc',
7+
version=version,
8+
description="Python implementation of the TPC-C benchmark",
9+
long_description="""\
10+
""",
11+
classifiers=[], # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers
12+
keywords='',
13+
author='Andy Pavlo',
14+
author_email='[email protected]',
15+
url='http://www.cs.brown.edu/~pavlo/',
16+
license='BSD',
17+
packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
18+
include_package_data=True,
19+
zip_safe=False,
20+
install_requires=[
21+
# -*- Extra requirements: -*-
22+
],
23+
entry_points="""
24+
# -*- Entry points: -*-
25+
""",
26+
)

0 commit comments

Comments
 (0)