~ubuntu-branches/ubuntu/utopic/pgadmin3/utopic-proposed

« back to all changes in this revision

Viewing changes to xtra/pgscript/file/test/source/randdata.sql.pgs

  • Committer: Package Import Robot
  • Author(s): Christoph Berg
  • Date: 2013-09-10 16:16:38 UTC
  • mfrom: (1.3.4)
  • Revision ID: package-import@ubuntu.com-20130910161638-wwup1q553ylww7dr
Tags: 1.18.0-1
* New upstream release.
* Don't install /usr/bin/png2c anymore.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
SET @DATABASE   = 'mytable';
2
 
SET @ITERATIONS = 50;
3
 
 
4
 
PRINT 'Testing random data on ' + @DATABASE;
5
 
 
6
 
IF (SELECT COUNT(*) FROM @DATABASE)
7
 
BEGIN
8
 
    DROP TABLE @DATABASE;
9
 
END
10
 
 
11
 
PRINT '  Creating table';
12
 
CREATE TABLE @DATABASE
13
 
(
14
 
  a bigint,
15
 
  b bigserial NOT NULL,
16
 
  c bit(1),
17
 
  d bit varying,
18
 
  e boolean,
19
 
  f bytea,
20
 
  g character varying,
21
 
  h character(1),
22
 
  i cidr,
23
 
  j circle,
24
 
  k date,
25
 
  l double precision,
26
 
  m inet,
27
 
  n interval,
28
 
  o lseg,
29
 
  p lseg,
30
 
  q macaddr,
31
 
  r decimal,
32
 
  s numeric,
33
 
  t path,
34
 
  u point,
35
 
  v polygon,
36
 
  w smallint,
37
 
  x serial NOT NULL,
38
 
  y text,
39
 
  z time with time zone,
40
 
  _ timestamp with time zone,
41
 
  PRIMARY KEY (b)
42
 
)
43
 
WITHOUT OIDS;
44
 
 
45
 
SET @INTEGER  = INTEGER(-10000, +10000);
46
 
SET @UNIQUE   = INTEGER(0, 10000, 1);
47
 
SET @REAL     = REAL(-10000, +10000, 2);
48
 
SET @BINARY   = REGEX('[01]');
49
 
SET @BSTRING  = REGEX('[01]{1,10}');
50
 
SET @BOOLEAN  = INTEGER(0, 1);
51
 
SET @STRING   = STRING(5, 10, 3);
52
 
SET @CHAR     = STRING(1, 1, 1);
53
 
SET @NUMERIC  = REGEX('[0-9]{5}.[0-9]{2}');
54
 
SET @TIME     = TIME('00:00:00', '23:59:59');
55
 
SET @DATE     = DATE('1900-01-01', '2008-08-01');
56
 
SET @DATETIME = DATETIME('1900-01-01 00:00:00', '2008-08-0100:00:00');
57
 
 
58
 
SET @RADIUS   = INTEGER(1, 10000);
59
 
SET @IPELM    = INTEGER(1, 254);
60
 
SET @MACELM   = REGEX('[0-9a-f]{2}');
61
 
 
62
 
PRINT '  Inserting data';
63
 
SET @I = 0;
64
 
WHILE @I < @ITERATIONS
65
 
BEGIN
66
 
        -- Generate complex values with the indirect generators
67
 
    SET @INETCIDR = CAST (@IPELM  AS STRING) + '.' + CAST (@IPELM  AS STRING) + '.'
68
 
                  + CAST (@IPELM  AS STRING) + '.' + CAST (@IPELM  AS STRING) + '/32';
69
 
    SET @MACADDR  = CAST (@MACELM AS STRING) + ':' + CAST (@MACELM AS STRING) + ':'
70
 
                  + CAST (@MACELM AS STRING) + ':' + CAST (@MACELM AS STRING) + ':'
71
 
                  + CAST (@MACELM AS STRING) + ':' + CAST (@MACELM AS STRING);
72
 
    SET @CIRCLE   = '(('  + CAST (@INTEGER AS STRING) + ',' + CAST (@INTEGER AS STRING)
73
 
                  + '),'  + CAST (@RADIUS  AS STRING) + ')';
74
 
    SET @LSEG     = '(('  + CAST (@INTEGER AS STRING) + ',' + CAST (@INTEGER AS STRING)
75
 
                  + '),(' + CAST (@INTEGER AS STRING) + ',' + CAST (@INTEGER AS STRING) + '))';
76
 
    SET @PATH     = '(('  + CAST (@INTEGER AS STRING) + ',' + CAST (@INTEGER AS STRING)
77
 
                  + '),(' + CAST (@INTEGER AS STRING) + ',' + CAST (@INTEGER AS STRING)
78
 
                  + '),(' + CAST (@INTEGER AS STRING) + ',' + CAST (@INTEGER AS STRING) + '))';
79
 
    SET @POINT    = '('   + CAST (@INTEGER AS STRING) + ',' + CAST (@INTEGER AS STRING) + ')';
80
 
    SET @POLYGON  = '(('  + CAST (@INTEGER AS STRING) + ',' + CAST (@INTEGER AS STRING)
81
 
                  + '),(' + CAST (@INTEGER AS STRING) + ',' + CAST (@INTEGER AS STRING)
82
 
                  + '),(' + CAST (@INTEGER AS STRING) + ',' + CAST (@INTEGER AS STRING) + '))';
83
 
    
84
 
    -- Insert value into the database
85
 
    INSERT INTO @DATABASE(
86
 
            a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q,
87
 
            r, s, t, u, v, w, x, y, z, _)
88
 
        VALUES (
89
 
            @INTEGER, @UNIQUE, B'@BINARY', B'@BSTRING', '@BOOLEAN',
90
 
            '@STRING'::bytea, '@STRING', '@CHAR', '@INETCIDR', '@CIRCLE',
91
 
            '@DATE', @REAL, '@INETCIDR', '1 12:59:10',
92
 
            '@LSEG', '@LSEG', '@MACADDR', @NUMERIC, @NUMERIC,
93
 
            '@PATH', '@POINT', '@POLYGON', @INTEGER, @INTEGER,
94
 
            '@STRING', '@TIME', '@DATETIME');
95
 
      
96
 
        -- Iterate            
97
 
    SET @I = @I + 1;
98
 
END
99
 
 
100
 
PRINT '  Checking data';
101
 
ASSERT (SELECT COUNT(*) FROM @DATABASE);
102
 
ASSERT CAST ((SELECT COUNT(*) FROM @DATABASE) AS INTEGER) = @ITERATIONS;
103
 
SET @RESULT = SELECT * FROM @DATABASE LIMIT 2;
104
 
SET @RESSTR = CAST (@RESULT AS STRING);
105
 
ASSERT @RESULT = CAST (@RESSTR AS RECORD);
106
 
 
107
 
PRINT '  Deleting table';
108
 
DROP TABLE @DATABASE;