1--
2-- LINE
3-- Infinite lines
4--
5
6--DROP TABLE LINE_TBL;
7CREATE TABLE LINE_TBL (s line);
8
9INSERT INTO LINE_TBL VALUES ('{0,-1,5}');	-- A == 0
10INSERT INTO LINE_TBL VALUES ('{1,0,5}');	-- B == 0
11INSERT INTO LINE_TBL VALUES ('{0,3,0}');	-- A == C == 0
12INSERT INTO LINE_TBL VALUES (' (0,0), (6,6)');
13INSERT INTO LINE_TBL VALUES ('10,-10 ,-5,-4');
14INSERT INTO LINE_TBL VALUES ('[-1e6,2e2,3e5, -4e1]');
15
16INSERT INTO LINE_TBL VALUES ('{3,NaN,5}');
17INSERT INTO LINE_TBL VALUES ('{NaN,NaN,NaN}');
18
19-- horizontal
20INSERT INTO LINE_TBL VALUES ('[(1,3),(2,3)]');
21-- vertical
22INSERT INTO LINE_TBL VALUES (line(point '(3,1)', point '(3,2)'));
23
24-- bad values for parser testing
25INSERT INTO LINE_TBL VALUES ('{}');
26INSERT INTO LINE_TBL VALUES ('{0');
27INSERT INTO LINE_TBL VALUES ('{0,0}');
28INSERT INTO LINE_TBL VALUES ('{0,0,1');
29INSERT INTO LINE_TBL VALUES ('{0,0,1}');
30INSERT INTO LINE_TBL VALUES ('{0,0,1} x');
31INSERT INTO LINE_TBL VALUES ('(3asdf,2 ,3,4r2)');
32INSERT INTO LINE_TBL VALUES ('[1,2,3, 4');
33INSERT INTO LINE_TBL VALUES ('[(,2),(3,4)]');
34INSERT INTO LINE_TBL VALUES ('[(1,2),(3,4)');
35INSERT INTO LINE_TBL VALUES ('[(1,2),(1,2)]');
36
37INSERT INTO LINE_TBL VALUES (line(point '(1,0)', point '(1,0)'));
38
39select * from LINE_TBL;
40
41select '{nan, 1, nan}'::line = '{nan, 1, nan}'::line as true,
42	   '{nan, 1, nan}'::line = '{nan, 2, nan}'::line as false;
43