pgcollate/pgcollate

33 lines
1.1 KiB
Python
Executable File

#!/usr/bin/python3
import psycopg2
db = psycopg2.connect("")
csr = db.cursor()
csr.execute("select version()")
for r in csr:
print(r[0])
csr.execute("select datcollate from pg_database where datname = current_database()")
for r in csr:
print(r[0])
csr.execute("drop table if exists t_pgcollate")
csr.execute("create table t_pgcollate(t text)")
for c in range(1, 0xD800):
csr.execute("insert into t_pgcollate(t) values(%s)", (chr(c),))
for c in range(0xE000, 0x110000):
csr.execute("insert into t_pgcollate(t) values(%s)", (chr(c),))
for s in ('asa', 'asb', 'assa', 'aßa', 'ata', 'bab', 'bäb', 'bac', ):
csr.execute("insert into t_pgcollate(t) values(%s)", (s,))
for s in ('aa', 'aa-', '-ab', '[ab]', '~ab', 'ab', ):
csr.execute("insert into t_pgcollate(t) values(%s)", (s,))
for s in (
'aa', 'aa ', 'a a', 'a a ', ' aa', ' aa ', ' a a', ' a a ',
'ab', 'ab ', 'a b', 'a b ', ' ab', ' ab ', ' a b', ' a b ',
):
csr.execute("insert into t_pgcollate(t) values(%s)", (s,))
db.commit()
csr.execute("select * from t_pgcollate order by t")
for r in csr:
print(r)