File tree 10 files changed +687
-16
lines changed
10 files changed +687
-16
lines changed Original file line number Diff line number Diff line change @@ -4,7 +4,8 @@ EXTENSION = unit
4
4
DATA = unit_prefixes.data unit_units.data \
5
5
unit--1.sql unit--1--2.sql \
6
6
unit--2.sql
7
- DATA_built = unit--2--3.sql unit--3.sql
7
+ DATA_built = unit--2--3.sql unit--3.sql \
8
+ unit--3--4.sql unit--4.sql
8
9
REGRESS = extension tables unit unicode prefix units temperature functions derived compare aggregate iec custom
9
10
EXTRA_CLEAN = unitparse.yy.* powers powers.o unit-*.dump # unitparse.tab.*
10
11
Original file line number Diff line number Diff line change 1
- postgresql-unit (3.2 ) UNRELEASED; urgency=medium
1
+ postgresql-unit (4.0 ) UNRELEASED; urgency=medium
2
2
3
3
* Support exponents written using Unicode superscript characters.
4
4
* Report 22P02/invalid_text_representation on invalid unit input.
5
5
* Fix crash when unit_reset() runs into an OOM error. Patch by Andreas
6
6
Seltenreich, thanks!
7
+ * Change @ operator signature to (unit, text).
7
8
8
- -- Christoph Berg <
[email protected] >
Sat, 08 Apr 2017
18:36:50 +0200
9
+ -- Christoph Berg <
[email protected] >
Fri, 07 Jul 2017
21:42:13 +0200
9
10
10
11
postgresql-unit (3.1) experimental; urgency=medium
11
12
Original file line number Diff line number Diff line change 9
9
('yd'),
10
10
('mi'))
11
11
SELECT
12
- l1.u, l2.u, l1.u::unit @ l2.u::cstring
12
+ l1.u, l2.u, l1.u::unit @ l2.u
13
13
FROM
14
14
l l1 CROSS JOIN l l2
15
15
\crosstabview
35
35
('yd^2'),
36
36
('mi^2'))
37
37
SELECT
38
- l1.u, l2.u, l1.u::unit @ l2.u::cstring
38
+ l1.u, l2.u, l1.u::unit @ l2.u
39
39
FROM
40
40
l l1 CROSS JOIN l l2
41
41
\crosstabview
60
60
('ft^3'),
61
61
('yd^3'))
62
62
SELECT
63
- l1.u, l2.u, l1.u::unit @ l2.u::cstring
63
+ l1.u, l2.u, l1.u::unit @ l2.u
64
64
FROM
65
65
l l1 CROSS JOIN l l2
66
66
\crosstabview
83
83
('oz'),
84
84
('lb'))
85
85
SELECT
86
- l1.u, l2.u, l1.u::unit @ l2.u::cstring
86
+ l1.u, l2.u, l1.u::unit @ l2.u
87
87
FROM
88
88
l l1 CROSS JOIN l l2
89
89
\crosstabview
105
105
('d'),
106
106
('julianyear'))
107
107
SELECT
108
- l1.u, l2.u, l1.u::unit @ l2.u::cstring
108
+ l1.u, l2.u, l1.u::unit @ l2.u
109
109
FROM
110
110
l l1 CROSS JOIN l l2
111
111
\crosstabview
Original file line number Diff line number Diff line change @@ -39,6 +39,18 @@ BEGIN;
39
39
COMMIT;
40
40
\! pg_dump -f unit-2-3.dump -T pg_depend_save
41
41
INSERT INTO pg_depend SELECT * FROM pg_depend_save;
42
+ -- upgrade to version 4
43
+ ALTER EXTENSION unit UPDATE TO "4";
44
+ BEGIN;
45
+ DELETE FROM pg_depend_save;
46
+ WITH
47
+ ext AS (DELETE FROM pg_depend WHERE refobjid =
48
+ (SELECT oid FROM pg_extension WHERE extname = 'unit')
49
+ RETURNING *)
50
+ INSERT INTO pg_depend_save SELECT * FROM ext;
51
+ COMMIT;
52
+ \! pg_dump -f unit-3-4.dump -T pg_depend_save
53
+ INSERT INTO pg_depend SELECT * FROM pg_depend_save;
42
54
-- reinstall latest version
43
55
DROP EXTENSION unit CASCADE;
44
56
CREATE EXTENSION unit;
50
62
RETURNING *)
51
63
INSERT INTO pg_depend_save SELECT * FROM ext;
52
64
COMMIT;
53
- \! pg_dump -f unit-3 .dump -T pg_depend_save
65
+ \! pg_dump -f unit-4 .dump -T pg_depend_save
54
66
INSERT INTO pg_depend SELECT * FROM pg_depend_save;
Original file line number Diff line number Diff line change 9
9
(' yd' ),
10
10
(' mi' ))
11
11
SELECT
12
- l1 .u , l2 .u , l1 .u ::unit @ l2 .u ::cstring
12
+ l1 .u , l2 .u , l1 .u ::unit @ l2 .u
13
13
FROM
14
14
l l1 CROSS JOIN l l2
15
15
\crosstabview
25
25
(' yd^2' ),
26
26
(' mi^2' ))
27
27
SELECT
28
- l1 .u , l2 .u , l1 .u ::unit @ l2 .u ::cstring
28
+ l1 .u , l2 .u , l1 .u ::unit @ l2 .u
29
29
FROM
30
30
l l1 CROSS JOIN l l2
31
31
\crosstabview
40
40
(' ft^3' ),
41
41
(' yd^3' ))
42
42
SELECT
43
- l1 .u , l2 .u , l1 .u ::unit @ l2 .u ::cstring
43
+ l1 .u , l2 .u , l1 .u ::unit @ l2 .u
44
44
FROM
45
45
l l1 CROSS JOIN l l2
46
46
\crosstabview
54
54
(' oz' ),
55
55
(' lb' ))
56
56
SELECT
57
- l1 .u , l2 .u , l1 .u ::unit @ l2 .u ::cstring
57
+ l1 .u , l2 .u , l1 .u ::unit @ l2 .u
58
58
FROM
59
59
l l1 CROSS JOIN l l2
60
60
\crosstabview
68
68
(' d' ),
69
69
(' julianyear' ))
70
70
SELECT
71
- l1 .u , l2 .u , l1 .u ::unit @ l2 .u ::cstring
71
+ l1 .u , l2 .u , l1 .u ::unit @ l2 .u
72
72
FROM
73
73
l l1 CROSS JOIN l l2
74
74
\crosstabview
Original file line number Diff line number Diff line change @@ -44,6 +44,20 @@ COMMIT;
44
44
\! pg_dump - f unit- 2 - 3 .dump - T pg_depend_save
45
45
INSERT INTO pg_depend SELECT * FROM pg_depend_save;
46
46
47
+ -- upgrade to version 4
48
+ ALTER EXTENSION unit UPDATE TO " 4" ;
49
+
50
+ BEGIN ;
51
+ DELETE FROM pg_depend_save;
52
+ WITH
53
+ ext AS (DELETE FROM pg_depend WHERE refobjid =
54
+ (SELECT oid FROM pg_extension WHERE extname = ' unit' )
55
+ RETURNING * )
56
+ INSERT INTO pg_depend_save SELECT * FROM ext;
57
+ COMMIT ;
58
+ \! pg_dump - f unit- 3 - 4 .dump - T pg_depend_save
59
+ INSERT INTO pg_depend SELECT * FROM pg_depend_save;
60
+
47
61
-- reinstall latest version
48
62
DROP EXTENSION unit CASCADE;
49
63
CREATE EXTENSION unit;
56
70
RETURNING * )
57
71
INSERT INTO pg_depend_save SELECT * FROM ext;
58
72
COMMIT ;
59
- \! pg_dump - f unit- 3 .dump - T pg_depend_save
73
+ \! pg_dump - f unit- 4 .dump - T pg_depend_save
60
74
INSERT INTO pg_depend SELECT * FROM pg_depend_save;
Original file line number Diff line number Diff line change
1
+ -- convert @ from (unit, cstring) to (unit, text)
2
+
3
+ DROP OPERATOR @ (unit, cstring);
4
+ DROP FUNCTION unit_at(unit, cstring);
5
+
6
+ CREATE FUNCTION unit_at(unit, text)
7
+ RETURNS cstring
8
+ SET search_path = @extschema@
9
+ AS '$libdir/unit', 'unit_at_text'
10
+ LANGUAGE C IMMUTABLE STRICT;
11
+
12
+ CREATE OPERATOR @ (
13
+ leftarg = unit,
14
+ rightarg = text,
15
+ procedure = unit_at
16
+ );
You can’t perform that action at this time.
0 commit comments