annotate sqlpython/sqlpy_gerald.py @ 385:0f019dfb795f

new file for gerald objects
author catherine@DellZilla
date Thu, 13 Aug 2009 14:33:55 -0400
parents
children
rev   line source
385
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
1 import gerald
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
2
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
3 class SchemaSet(object):
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
4 def __init__(self, connection, rdbms, connect_string):
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
5 self.schemas = {}
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
6 curs = connection.cursor()
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
7 if rdbms == 'postgres':
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
8 curs.execute('SELECT schema_name FROM information_schema.schemata')
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
9 for row in curs.fetchall():
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
10 schema = row[0]
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
11 self.schemas[schema] = gerald.PostgresSchema(schema, connect_string)
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
12 elif rdbms == 'oracle':
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
13 curs.execute('SELECT DISTINCT owner FROM all_objects')
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
14 for row in curs.fetchall():
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
15 schema = row[0]
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
16
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
17
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
18
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
19 import psycopg2
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
20 connstr = 'postgres:/catherine:catherine@localhost/catherine'
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
21 conn = psycopg2.connect("dbname='catherine' user='catherine' password='catherine' host='localhost'")
0f019dfb795f new file for gerald objects
catherine@DellZilla
parents:
diff changeset
22 ss = SchemaSet(conn, 'postgres', connstr)