mirror of
https://github.com/postgres/postgres.git
synced 2025-07-17 06:41:09 +03:00
Hello!
Attached to the mail is locale-patch.tar.gz. In the archive there are: file README.locale short description directory src/test/locale test suite; currently only koi8-r tests, but the suite can be easily extended file locale.patch the very patch; to apply: patch < locale.patch; should be applied to postgres-6.3.2 (at least I created it with 6.3.2 without any additional patches) Files touched by the patch: src/include/utils/builtins.h src/backend/utils/adt/char.c src/backend/utils/adt/varchar.c src/backend/utils/adt/varlena.c Oleg
This commit is contained in:
33
src/test/locale/Makefile
Normal file
33
src/test/locale/Makefile
Normal file
@ -0,0 +1,33 @@
|
||||
#
|
||||
# Makefile for example programs
|
||||
#
|
||||
|
||||
SRCDIR= ../..
|
||||
include ../../Makefile.global
|
||||
|
||||
#
|
||||
# And where libpq goes, so goes the authentication stuff...
|
||||
#
|
||||
ifdef KRBVERS
|
||||
LDFLAGS+= $(KRBLIBS)
|
||||
CFLAGS+= $(KRBFLAGS)
|
||||
endif
|
||||
|
||||
PROGS = test-pgsql-locale test-ctype
|
||||
DIRS = koi8-r
|
||||
|
||||
all: $(PROGS)
|
||||
|
||||
$(PROGS): % : %.c
|
||||
$(CC) $(CFLAGS) -o $@ $@.c $(LDFLAGS)
|
||||
|
||||
clean:
|
||||
rm -f $(PROGS) *.out
|
||||
for d in $(DIRS); do \
|
||||
cd $$d; \
|
||||
$(MAKE) clean; \
|
||||
cd ..; \
|
||||
done
|
||||
|
||||
test-%: all
|
||||
@cd `echo $@ | sed s/^test-//` && $(MAKE) test
|
27
src/test/locale/README
Normal file
27
src/test/locale/README
Normal file
@ -0,0 +1,27 @@
|
||||
|
||||
1998 May 25
|
||||
|
||||
This directory contains a set of tests for locales. I provided one C
|
||||
program test-ctype.c to test CTYPE support in libc and installed
|
||||
localedata. Then there are test-sort.pl and test-sort.py that tests
|
||||
collating. (Also there is test-sort.py but it is commented out in scripts;
|
||||
uncomment it if you have Python interpreter installed).
|
||||
To run a test for some locale (koi8, e.g) run
|
||||
make all test-$locale
|
||||
(for example)
|
||||
make all test-koi8
|
||||
|
||||
Currently, only tests for koi8 locale (russian cyrillic for UN*X)
|
||||
provided in koi8 directory. Script `runall' calls test-pgsql-locale to test
|
||||
whether locale support had been compiled into PotgreSQL, test-ctype to test
|
||||
libc and localedata, test-sort.pl (uncomment test-sort.py, if you have
|
||||
Python interpreter installed) and does tests on PostgreSQL with
|
||||
test-koi8*.sql.in.
|
||||
|
||||
To add locale tests one need to create directory $locale and create
|
||||
Makefile (and other files) similar to koi8-r/*. Actually, the simplest (I
|
||||
think) method is just copy koi8-r directory and edit/replace files.
|
||||
|
||||
Oleg.
|
||||
----
|
||||
Oleg Broytmann http://members.tripod.com/~phd2/ phd2@earthling.net
|
12
src/test/locale/koi8-r/Makefile
Normal file
12
src/test/locale/koi8-r/Makefile
Normal file
@ -0,0 +1,12 @@
|
||||
#
|
||||
# Makefile for example programs
|
||||
#
|
||||
|
||||
all:
|
||||
-@echo "make: Nothing to be done for \`all'."
|
||||
|
||||
test:
|
||||
@./runall
|
||||
|
||||
clean:
|
||||
rm -f *.out
|
257
src/test/locale/koi8-r/expected/koi8-ctype.out
Normal file
257
src/test/locale/koi8-r/expected/koi8-ctype.out
Normal file
@ -0,0 +1,257 @@
|
||||
char# char alnum alpha cntrl digit lower graph print punct space upper xdigit lo up
|
||||
chr#0 +
|
||||
chr#1 +
|
||||
chr#2 +
|
||||
chr#3 +
|
||||
chr#4 +
|
||||
chr#5 +
|
||||
chr#6 +
|
||||
chr#7 +
|
||||
chr#8 +
|
||||
chr#9 + +
|
||||
chr#10 + +
|
||||
chr#11 + +
|
||||
chr#12 + +
|
||||
chr#13 + +
|
||||
chr#14 +
|
||||
chr#15 +
|
||||
chr#16 +
|
||||
chr#17 +
|
||||
chr#18 +
|
||||
chr#19 +
|
||||
chr#20 +
|
||||
chr#21 +
|
||||
chr#22 +
|
||||
chr#23 +
|
||||
chr#24 +
|
||||
chr#25 +
|
||||
chr#26 +
|
||||
chr#27 +
|
||||
chr#28 +
|
||||
chr#29 +
|
||||
chr#30 +
|
||||
chr#31 +
|
||||
chr#32 + +
|
||||
chr#33 ! + + + ! !
|
||||
chr#34 " + + + " "
|
||||
chr#35 # + + + # #
|
||||
chr#36 $ + + + $ $
|
||||
chr#37 % + + + % %
|
||||
chr#38 & + + + & &
|
||||
chr#39 ' + + + ' '
|
||||
chr#40 ( + + + ( (
|
||||
chr#41 ) + + + ) )
|
||||
chr#42 * + + + * *
|
||||
chr#43 + + + + + +
|
||||
chr#44 , + + + , ,
|
||||
chr#45 - + + + - -
|
||||
chr#46 . + + + . .
|
||||
chr#47 / + + + / /
|
||||
chr#48 0 + + + + + 0 0
|
||||
chr#49 1 + + + + + 1 1
|
||||
chr#50 2 + + + + + 2 2
|
||||
chr#51 3 + + + + + 3 3
|
||||
chr#52 4 + + + + + 4 4
|
||||
chr#53 5 + + + + + 5 5
|
||||
chr#54 6 + + + + + 6 6
|
||||
chr#55 7 + + + + + 7 7
|
||||
chr#56 8 + + + + + 8 8
|
||||
chr#57 9 + + + + + 9 9
|
||||
chr#58 : + + + : :
|
||||
chr#59 ; + + + ; ;
|
||||
chr#60 < + + + < <
|
||||
chr#61 = + + + = =
|
||||
chr#62 > + + + > >
|
||||
chr#63 ? + + + ? ?
|
||||
chr#64 @ + + + @ @
|
||||
chr#65 A + + + + + + a A
|
||||
chr#66 B + + + + + + b B
|
||||
chr#67 C + + + + + + c C
|
||||
chr#68 D + + + + + + d D
|
||||
chr#69 E + + + + + + e E
|
||||
chr#70 F + + + + + + f F
|
||||
chr#71 G + + + + + g G
|
||||
chr#72 H + + + + + h H
|
||||
chr#73 I + + + + + i I
|
||||
chr#74 J + + + + + j J
|
||||
chr#75 K + + + + + k K
|
||||
chr#76 L + + + + + l L
|
||||
chr#77 M + + + + + m M
|
||||
chr#78 N + + + + + n N
|
||||
chr#79 O + + + + + o O
|
||||
chr#80 P + + + + + p P
|
||||
chr#81 Q + + + + + q Q
|
||||
chr#82 R + + + + + r R
|
||||
chr#83 S + + + + + s S
|
||||
chr#84 T + + + + + t T
|
||||
chr#85 U + + + + + u U
|
||||
chr#86 V + + + + + v V
|
||||
chr#87 W + + + + + w W
|
||||
chr#88 X + + + + + x X
|
||||
chr#89 Y + + + + + y Y
|
||||
chr#90 Z + + + + + z Z
|
||||
chr#91 [ + + + [ [
|
||||
chr#92 \ + + + \ \
|
||||
chr#93 ] + + + ] ]
|
||||
chr#94 ^ + + + ^ ^
|
||||
chr#95 _ + + + _ _
|
||||
chr#96 ` + + + ` `
|
||||
chr#97 a + + + + + + a A
|
||||
chr#98 b + + + + + + b B
|
||||
chr#99 c + + + + + + c C
|
||||
chr#100 d + + + + + + d D
|
||||
chr#101 e + + + + + + e E
|
||||
chr#102 f + + + + + + f F
|
||||
chr#103 g + + + + + g G
|
||||
chr#104 h + + + + + h H
|
||||
chr#105 i + + + + + i I
|
||||
chr#106 j + + + + + j J
|
||||
chr#107 k + + + + + k K
|
||||
chr#108 l + + + + + l L
|
||||
chr#109 m + + + + + m M
|
||||
chr#110 n + + + + + n N
|
||||
chr#111 o + + + + + o O
|
||||
chr#112 p + + + + + p P
|
||||
chr#113 q + + + + + q Q
|
||||
chr#114 r + + + + + r R
|
||||
chr#115 s + + + + + s S
|
||||
chr#116 t + + + + + t T
|
||||
chr#117 u + + + + + u U
|
||||
chr#118 v + + + + + v V
|
||||
chr#119 w + + + + + w W
|
||||
chr#120 x + + + + + x X
|
||||
chr#121 y + + + + + y Y
|
||||
chr#122 z + + + + + z Z
|
||||
chr#123 { + + + { {
|
||||
chr#124 | + + + | |
|
||||
chr#125 } + + + } }
|
||||
chr#126 ~ + + + ~ ~
|
||||
chr#127 +
|
||||
chr#128 <20> + + + <20> <20>
|
||||
chr#129 <20> + + + <20> <20>
|
||||
chr#130 <20> + + + <20> <20>
|
||||
chr#131 <20> + + + <20> <20>
|
||||
chr#132 <20> + + + <20> <20>
|
||||
chr#133 <20> + + + <20> <20>
|
||||
chr#134 <20> + + + <20> <20>
|
||||
chr#135 <20> + + + <20> <20>
|
||||
chr#136 <20> + + + <20> <20>
|
||||
chr#137 <20> + + + <20> <20>
|
||||
chr#138 <20> + + + <20> <20>
|
||||
chr#139 <20> + + + <20> <20>
|
||||
chr#140 <20> + + + <20> <20>
|
||||
chr#141 <20> + + + <20> <20>
|
||||
chr#142 <20> + + + <20> <20>
|
||||
chr#143 <20> + + + <20> <20>
|
||||
chr#144 <20> + + + <20> <20>
|
||||
chr#145 <20> + + + <20> <20>
|
||||
chr#146 <20> + + + <20> <20>
|
||||
chr#147 <20> + + + <20> <20>
|
||||
chr#148 <20> + + + <20> <20>
|
||||
chr#149 <20> + + + <20> <20>
|
||||
chr#150 <20> + + + <20> <20>
|
||||
chr#151 <20> + + + <20> <20>
|
||||
chr#152 <20> + + + <20> <20>
|
||||
chr#153 <20> + + + <20> <20>
|
||||
chr#154 +
|
||||
chr#155 <20> + + + <20> <20>
|
||||
chr#156 <20> + + + <20> <20>
|
||||
chr#157 <20> + + + <20> <20>
|
||||
chr#158 <20> + + + <20> <20>
|
||||
chr#159 <20> + + + <20> <20>
|
||||
chr#160 <20> + + + <20> <20>
|
||||
chr#161 <20> + + + <20> <20>
|
||||
chr#162 <20> + + + <20> <20>
|
||||
chr#163 <20> + + + + + <20> <20>
|
||||
chr#164 <20> + + + <20> <20>
|
||||
chr#165 <20> + + + <20> <20>
|
||||
chr#166 <20> + + + <20> <20>
|
||||
chr#167 <20> + + + <20> <20>
|
||||
chr#168 <20> + + + <20> <20>
|
||||
chr#169 <20> + + + <20> <20>
|
||||
chr#170 <20> + + + <20> <20>
|
||||
chr#171 <20> + + + <20> <20>
|
||||
chr#172 <20> + + + <20> <20>
|
||||
chr#173 <20> + + + <20> <20>
|
||||
chr#174 <20> + + + <20> <20>
|
||||
chr#175 <20> + + + <20> <20>
|
||||
chr#176 <20> + + + <20> <20>
|
||||
chr#177 <20> + + + <20> <20>
|
||||
chr#178 <20> + + + <20> <20>
|
||||
chr#179 <20> + + + + + <20> <20>
|
||||
chr#180 <20> + + + <20> <20>
|
||||
chr#181 <20> + + + <20> <20>
|
||||
chr#182 <20> + + + <20> <20>
|
||||
chr#183 <20> + + + <20> <20>
|
||||
chr#184 <20> + + + <20> <20>
|
||||
chr#185 <20> + + + <20> <20>
|
||||
chr#186 <20> + + + <20> <20>
|
||||
chr#187 <20> + + + <20> <20>
|
||||
chr#188 <20> + + + <20> <20>
|
||||
chr#189 <20> + + + <20> <20>
|
||||
chr#190 <20> + + + <20> <20>
|
||||
chr#191 <20> + + + <20> <20>
|
||||
chr#192 <20> + + + + + <20> <20>
|
||||
chr#193 <20> + + + + + <20> <20>
|
||||
chr#194 <20> + + + + + <20> <20>
|
||||
chr#195 <20> + + + + + <20> <20>
|
||||
chr#196 <20> + + + + + <20> <20>
|
||||
chr#197 <20> + + + + + <20> <20>
|
||||
chr#198 <20> + + + + + <20> <20>
|
||||
chr#199 <20> + + + + + <20> <20>
|
||||
chr#200 <20> + + + + + <20> <20>
|
||||
chr#201 <20> + + + + + <20> <20>
|
||||
chr#202 <20> + + + + + <20> <20>
|
||||
chr#203 <20> + + + + + <20> <20>
|
||||
chr#204 <20> + + + + + <20> <20>
|
||||
chr#205 <20> + + + + + <20> <20>
|
||||
chr#206 <20> + + + + + <20> <20>
|
||||
chr#207 <20> + + + + + <20> <20>
|
||||
chr#208 <20> + + + + + <20> <20>
|
||||
chr#209 <20> + + + + + <20> <20>
|
||||
chr#210 <20> + + + + + <20> <20>
|
||||
chr#211 <20> + + + + + <20> <20>
|
||||
chr#212 <20> + + + + + <20> <20>
|
||||
chr#213 <20> + + + + + <20> <20>
|
||||
chr#214 <20> + + + + + <20> <20>
|
||||
chr#215 <20> + + + + + <20> <20>
|
||||
chr#216 <20> + + + + + <20> <20>
|
||||
chr#217 <20> + + + + + <20> <20>
|
||||
chr#218 <20> + + + + + <20> <20>
|
||||
chr#219 <20> + + + + + <20> <20>
|
||||
chr#220 <20> + + + + + <20> <20>
|
||||
chr#221 <20> + + + + + <20> <20>
|
||||
chr#222 <20> + + + + + <20> <20>
|
||||
chr#223 <20> + + + + + <20>
|
||||
chr#224 <20> + + + + + <20> <20>
|
||||
chr#225 <20> + + + + + <20> <20>
|
||||
chr#226 <20> + + + + + <20> <20>
|
||||
chr#227 <20> + + + + + <20> <20>
|
||||
chr#228 <20> + + + + + <20> <20>
|
||||
chr#229 <20> + + + + + <20> <20>
|
||||
chr#230 <20> + + + + + <20> <20>
|
||||
chr#231 <20> + + + + + <20> <20>
|
||||
chr#232 <20> + + + + + <20> <20>
|
||||
chr#233 <20> + + + + + <20> <20>
|
||||
chr#234 <20> + + + + + <20> <20>
|
||||
chr#235 <20> + + + + + <20> <20>
|
||||
chr#236 <20> + + + + + <20> <20>
|
||||
chr#237 <20> + + + + + <20> <20>
|
||||
chr#238 <20> + + + + + <20> <20>
|
||||
chr#239 <20> + + + + + <20> <20>
|
||||
chr#240 <20> + + + + + <20> <20>
|
||||
chr#241 <20> + + + + + <20> <20>
|
||||
chr#242 <20> + + + + + <20> <20>
|
||||
chr#243 <20> + + + + + <20> <20>
|
||||
chr#244 <20> + + + + + <20> <20>
|
||||
chr#245 <20> + + + + + <20> <20>
|
||||
chr#246 <20> + + + + + <20> <20>
|
||||
chr#247 <20> + + + + + <20> <20>
|
||||
chr#248 <20> + + + + + <20> <20>
|
||||
chr#249 <20> + + + + + <20> <20>
|
||||
chr#250 <20> + + + + + <20> <20>
|
||||
chr#251 <20> + + + + + <20> <20>
|
||||
chr#252 <20> + + + + + <20> <20>
|
||||
chr#253 <20> + + + + + <20> <20>
|
||||
chr#254 <20> + + + + + <20> <20>
|
||||
chr#255 + + + + + <20>
|
55
src/test/locale/koi8-r/expected/test-koi8-char.sql.out
Normal file
55
src/test/locale/koi8-r/expected/test-koi8-char.sql.out
Normal file
@ -0,0 +1,55 @@
|
||||
abbrev|name_en |name_ru
|
||||
------+--------------------+------------------------------------------------------------
|
||||
ID |Idaho |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
IA |Iowa |<7C><><EFBFBD><EFBFBD><EFBFBD>
|
||||
AL |Alabama |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AK |Alaska |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AZ |Arizona |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AR |Arkansas |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WY |Wyoming |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WA |Washington |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
VT |Vermont |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
VA |Virginia |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WI |Wisconsin |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
DE |Delaware |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
GA |Georgia |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WV |West Virginia |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
IL |Illinois |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
IN |Indiana |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CA |California |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
KA |Kansas |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
KY |Kentucky |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CO |Colorado |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CT |Connecticut |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LA |Louisiana |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MA |Massachusetts |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MN |Minnesota |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MS |Mississippi |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MO |Missouri |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MI |Michigan |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MT |Montana |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ME |Maine |<7C><><EFBFBD>
|
||||
MD |Maryland |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NE |Nebraska |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NV |Nevada |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NH |New Hampshire |<7C><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NJ |New Jersey |<7C><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NY |New York |<7C><><EFBFBD>-<2D><><EFBFBD><EFBFBD>
|
||||
NM |New Mexico |<7C><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
OH |Ohio |<7C><><EFBFBD><EFBFBD><EFBFBD>
|
||||
OK |Oklahoma |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
DC |Washington DC |<7C><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
OR |Oregon |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
PA |Pennsylvania |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
RI |Rhode Island |<7C><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ND |North Dakota |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NC |North Carolina |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
TN |Tennessee |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
TX |Texas |<7C><><EFBFBD><EFBFBD><EFBFBD>
|
||||
FL |Florida |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
SD |South Dakota |<7C><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
SC |South Carolina |<7C><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UT |Utah |<7C><><EFBFBD>
|
||||
(50 rows)
|
||||
|
||||
EOF
|
9
src/test/locale/koi8-r/expected/test-koi8-select.sql.out
Normal file
9
src/test/locale/koi8-r/expected/test-koi8-select.sql.out
Normal file
@ -0,0 +1,9 @@
|
||||
abbrev|name_en |name_ru
|
||||
------+--------------------+----------------------------------------------
|
||||
OH |Ohio |<7C><><EFBFBD><EFBFBD><EFBFBD>
|
||||
OK |Oklahoma |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
DC |Washington DC |<7C><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
OR |Oregon |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
(4 rows)
|
||||
|
||||
EOF
|
9
src/test/locale/koi8-r/expected/test-koi8-sort.out
Normal file
9
src/test/locale/koi8-r/expected/test-koi8-sort.out
Normal file
@ -0,0 +1,9 @@
|
||||
Bording
|
||||
hoarding
|
||||
Vesta
|
||||
vesta
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD>
|
55
src/test/locale/koi8-r/expected/test-koi8-text.sql.out
Normal file
55
src/test/locale/koi8-r/expected/test-koi8-text.sql.out
Normal file
@ -0,0 +1,55 @@
|
||||
abbrev|name_en |name_ru
|
||||
------+--------------------+----------------------------------------------
|
||||
ID |Idaho |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
IA |Iowa |<7C><><EFBFBD><EFBFBD><EFBFBD>
|
||||
AL |Alabama |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AK |Alaska |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AZ |Arizona |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AR |Arkansas |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WY |Wyoming |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WA |Washington |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
VT |Vermont |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
VA |Virginia |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WI |Wisconsin |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
DE |Delaware |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
GA |Georgia |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WV |West Virginia |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
IL |Illinois |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
IN |Indiana |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CA |California |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
KA |Kansas |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
KY |Kentucky |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CO |Colorado |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CT |Connecticut |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LA |Louisiana |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MA |Massachusetts |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MN |Minnesota |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MS |Mississippi |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MO |Missouri |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MI |Michigan |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MT |Montana |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ME |Maine |<7C><><EFBFBD>
|
||||
MD |Maryland |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NE |Nebraska |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NV |Nevada |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NH |New Hampshire |<7C><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NJ |New Jersey |<7C><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NY |New York |<7C><><EFBFBD>-<2D><><EFBFBD><EFBFBD>
|
||||
NM |New Mexico |<7C><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
OH |Ohio |<7C><><EFBFBD><EFBFBD><EFBFBD>
|
||||
OK |Oklahoma |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
DC |Washington DC |<7C><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
OR |Oregon |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
PA |Pennsylvania |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
RI |Rhode Island |<7C><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ND |North Dakota |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NC |North Carolina |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
TN |Tennessee |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
TX |Texas |<7C><><EFBFBD><EFBFBD><EFBFBD>
|
||||
FL |Florida |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
SD |South Dakota |<7C><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
SC |South Carolina |<7C><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UT |Utah |<7C><><EFBFBD>
|
||||
(50 rows)
|
||||
|
||||
EOF
|
55
src/test/locale/koi8-r/expected/test-koi8-varchar.sql.out
Normal file
55
src/test/locale/koi8-r/expected/test-koi8-varchar.sql.out
Normal file
@ -0,0 +1,55 @@
|
||||
abbrev|name_en |name_ru
|
||||
------+--------------------+----------------------------------------------
|
||||
ID |Idaho |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
IA |Iowa |<7C><><EFBFBD><EFBFBD><EFBFBD>
|
||||
AL |Alabama |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AK |Alaska |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AZ |Arizona |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AR |Arkansas |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WY |Wyoming |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WA |Washington |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
VT |Vermont |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
VA |Virginia |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WI |Wisconsin |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
DE |Delaware |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
GA |Georgia |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WV |West Virginia |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
IL |Illinois |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
IN |Indiana |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CA |California |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
KA |Kansas |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
KY |Kentucky |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CO |Colorado |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CT |Connecticut |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LA |Louisiana |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MA |Massachusetts |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MN |Minnesota |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MS |Mississippi |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MO |Missouri |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MI |Michigan |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MT |Montana |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ME |Maine |<7C><><EFBFBD>
|
||||
MD |Maryland |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NE |Nebraska |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NV |Nevada |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NH |New Hampshire |<7C><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NJ |New Jersey |<7C><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NY |New York |<7C><><EFBFBD>-<2D><><EFBFBD><EFBFBD>
|
||||
NM |New Mexico |<7C><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
OH |Ohio |<7C><><EFBFBD><EFBFBD><EFBFBD>
|
||||
OK |Oklahoma |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
DC |Washington DC |<7C><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
OR |Oregon |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
PA |Pennsylvania |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
RI |Rhode Island |<7C><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ND |North Dakota |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NC |North Carolina |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
TN |Tennessee |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
TX |Texas |<7C><><EFBFBD><EFBFBD><EFBFBD>
|
||||
FL |Florida |<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
SD |South Dakota |<7C><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
SC |South Carolina |<7C><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UT |Utah |<7C><><EFBFBD>
|
||||
(50 rows)
|
||||
|
||||
EOF
|
52
src/test/locale/koi8-r/runall
Executable file
52
src/test/locale/koi8-r/runall
Executable file
@ -0,0 +1,52 @@
|
||||
#! /bin/sh
|
||||
|
||||
PATH=..:$PATH
|
||||
|
||||
echo "Testing PostgreSQL compilation..."
|
||||
if ! test-pgsql-locale; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LC_CTYPE=ru_RU.KOI8-R
|
||||
LC_COLLATE=$LC_CTYPE
|
||||
export LC_CTYPE LC_COLLATE
|
||||
|
||||
echo "Testing LC_CTYPE..."
|
||||
if ! test-ctype > koi8-ctype.out; then
|
||||
exit 1
|
||||
fi
|
||||
diff expected/koi8-ctype.out koi8-ctype.out
|
||||
|
||||
echo "Testing LC_COLLATE..."
|
||||
perl ../sort-test.pl test-koi8-sort.in > test-koi8-sort.out
|
||||
diff expected/test-koi8-sort.out test-koi8-sort.out
|
||||
|
||||
### If you have Python - uncomment the following two lines
|
||||
#python ../sort-test.py test-koi8-sort.in > test-koi8-sort.out
|
||||
#diff expected/test-koi8-sort.out test-koi8-sort.out
|
||||
|
||||
|
||||
abort() {
|
||||
[ "$1" ] && echo "$*"
|
||||
exit 1
|
||||
}
|
||||
|
||||
for f in char varchar text; do
|
||||
if echo $f | grep -q char; then
|
||||
ftype="$f(60)"
|
||||
else
|
||||
ftype="$f"
|
||||
fi
|
||||
echo "Testing PgSQL: sort on $ftype type..."
|
||||
|
||||
destroydb testlocale >/dev/null 2>&1
|
||||
createdb testlocale || abort "createdb failed"
|
||||
psql -d testlocale -c "CREATE TABLE usastates (abbrev char2, name_en char(20), name_ru $ftype);" >/dev/null 2>&1 || abort "createtable failed"
|
||||
psql testlocale < test-koi8.sql.in > test-koi8-$f.sql.out 2>/dev/null || abort "test query failed"
|
||||
diff expected/test-koi8-$f.sql.out test-koi8-$f.sql.out
|
||||
done
|
||||
echo "Testing PgSQL: select on regexp..."
|
||||
psql testlocale < test-koi8-select.sql.in > test-koi8-select.sql.out 2>/dev/null || abort "select query failed"
|
||||
diff expected/test-koi8-select.sql.out test-koi8-select.sql.out
|
||||
destroydb testlocale || abort "destroydb failed"
|
||||
echo "Finished."
|
1
src/test/locale/koi8-r/test-koi8-select.sql.in
Normal file
1
src/test/locale/koi8-r/test-koi8-select.sql.in
Normal file
@ -0,0 +1 @@
|
||||
SELECT * FROM usastates WHERE name_ru ~* '^<5E>.*' ORDER BY name_ru;
|
9
src/test/locale/koi8-r/test-koi8-sort.in
Normal file
9
src/test/locale/koi8-r/test-koi8-sort.in
Normal file
@ -0,0 +1,9 @@
|
||||
Vesta
|
||||
vesta
|
||||
<EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
Bording
|
||||
hoarding
|
53
src/test/locale/koi8-r/test-koi8.sql.in
Normal file
53
src/test/locale/koi8-r/test-koi8.sql.in
Normal file
@ -0,0 +1,53 @@
|
||||
COPY usastates FROM stdin USING DELIMITERS '|';
|
||||
AK|Alaska |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WA|Washington |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
OR|Oregon |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CA|California |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NV|Nevada |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ID|Idaho |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UT|Utah |<EFBFBD><EFBFBD><EFBFBD>
|
||||
AZ|Arizona |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MT|Montana |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WY|Wyoming |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CO|Colorado |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NM|New Mexico |<EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ND|North Dakota |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
SD|South Dakota |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NE|Nebraska |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
KA|Kansas |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
OK|Oklahoma |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
TX|Texas |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MN|Minnesota |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
IA|Iowa |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MO|Missouri |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AR|Arkansas |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LA|Louisiana |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WI|Wisconsin |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
IL|Illinois |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
IN|Indiana |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MS|Mississippi |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
AL|Alabama |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MI|Michigan |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
OH|Ohio |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
KY|Kentucky |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
TN|Tennessee |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
GA|Georgia |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
FL|Florida |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
PA|Pennsylvania |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WV|West Virginia |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
VA|Virginia |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NC|North Carolina|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
SC|South Carolina|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NY|New York |<EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NJ|New Jersey |<EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
DE|Delaware |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MD|Maryland |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
DC|Washington DC |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
VT|Vermont |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MA|Massachusetts |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CT|Connecticut |<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ME|Maine |<EFBFBD><EFBFBD><EFBFBD>
|
||||
NH|New Hampshire |<EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
RI|Rhode Island |<EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
\.
|
||||
SELECT * FROM usastates ORDER BY name_ru;
|
12
src/test/locale/sort-test.pl
Executable file
12
src/test/locale/sort-test.pl
Executable file
@ -0,0 +1,12 @@
|
||||
#!/usr/local/bin/perl -w
|
||||
use locale;
|
||||
|
||||
open(INFILE, "<$ARGV[0]");
|
||||
chop(my(@words) = <INFILE>);
|
||||
close(INFILE);
|
||||
|
||||
$"="\n";
|
||||
my(@result) = sort @words;
|
||||
|
||||
print "@result\n";
|
||||
|
18
src/test/locale/sort-test.py
Executable file
18
src/test/locale/sort-test.py
Executable file
@ -0,0 +1,18 @@
|
||||
#! /usr/local/bin/python
|
||||
|
||||
import sys, string, locale
|
||||
locale.setlocale(locale.LC_ALL, "")
|
||||
|
||||
if len(sys.argv) <> 2:
|
||||
sys.stderr.write("Usage: sort.py filename\n")
|
||||
sys.exit(1)
|
||||
|
||||
infile = open(sys.argv[1], 'r')
|
||||
list = infile.readlines()
|
||||
infile.close()
|
||||
|
||||
for i in range(0, len(list)):
|
||||
list[i] = list[i][:-1] # chop!
|
||||
|
||||
list.sort(locale.strcoll)
|
||||
print string.join(list, '\n')
|
65
src/test/locale/test-ctype.c
Normal file
65
src/test/locale/test-ctype.c
Normal file
@ -0,0 +1,65 @@
|
||||
|
||||
/*
|
||||
|
||||
test-ctype.c
|
||||
|
||||
Written by Oleg BroytMann, phd2@earthling.net
|
||||
with help from Oleg Bartunov, oleg@sai.msu.su
|
||||
Copyright (C) 1998 PhiloSoft Design
|
||||
|
||||
This is copyrighted but free software. You can use it, modify and distribute
|
||||
in original or modified form providing that the author's names and the above
|
||||
copyright notice will remain.
|
||||
|
||||
Disclaimer, legal notice and absence of warranty.
|
||||
This software provided "as is" without any kind of warranty. In no event
|
||||
the author shall be liable for any damage, etc.
|
||||
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <locale.h>
|
||||
#include <ctype.h>
|
||||
|
||||
char * flag(int b);
|
||||
void describe_char(int c);
|
||||
|
||||
#undef LONG_FLAG
|
||||
|
||||
char * flag(int b)
|
||||
{
|
||||
#ifdef LONG_FLAG
|
||||
return b ? "yes" : "no";
|
||||
#else
|
||||
return b ? "+" : " ";
|
||||
#endif
|
||||
}
|
||||
|
||||
void describe_char(int c)
|
||||
{
|
||||
char cp = c, up = toupper(c), lo = tolower(c);
|
||||
if (!isprint(cp)) cp = ' ';
|
||||
if (!isprint(up)) up = ' ';
|
||||
if (!isprint(lo)) lo = ' ';
|
||||
|
||||
printf("chr#%-4d%2c%6s%6s%6s%6s%6s%6s%6s%6s%6s%6s%6s%4c%4c\n", c, cp, flag(isalnum(c)), flag(isalpha(c)), flag(iscntrl(c)), flag(isdigit(c)), flag(islower(c)), flag(isgraph(c)), flag(isprint(c)), flag(ispunct(c)), flag(isspace(c)), flag(isupper(c)), flag(isxdigit(c)), lo, up);
|
||||
}
|
||||
|
||||
int main() {
|
||||
short c;
|
||||
char * cur_locale;
|
||||
|
||||
cur_locale = setlocale(LC_ALL, "");
|
||||
if (cur_locale) {
|
||||
fprintf(stderr, "Successfulle set locale to %s\n", cur_locale);
|
||||
} else {
|
||||
fprintf(stderr, "Cannot setup locale. Either your libc does not provide\nlocale support, or your locale data is corrupt, or you have not set\nLANG or LC_CTYPE environment variable to proper value. Program aborted.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
printf("char# char alnum alpha cntrl digit lower graph print punct space upper xdigit lo up\n");
|
||||
for (c = 0; c <= 255; c++)
|
||||
describe_char(c);
|
||||
|
||||
return 0;
|
||||
}
|
13
src/test/locale/test-pgsql-locale.c
Normal file
13
src/test/locale/test-pgsql-locale.c
Normal file
@ -0,0 +1,13 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include "postgres.h"
|
||||
|
||||
int main() {
|
||||
#ifdef USE_LOCALE
|
||||
printf("PostgreSQL compiled with locale support\n");
|
||||
return 0;
|
||||
#else
|
||||
printf("PostgreSQL compiled without locale support\n");
|
||||
return 1;
|
||||
#endif
|
||||
}
|
Reference in New Issue
Block a user