Mercurial > urweb
comparison src/postgres.sml @ 1682:ac141fbb313a
'ORDER BY RANDOM' (based on a patch from Ron de Bruijn)
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Thu, 02 Feb 2012 11:40:10 -0500 |
parents | 3e7c7e200713 |
children | 59b07fdae1ff |
comparison
equal
deleted
inserted
replaced
1681:e8a84494d2c0 | 1682:ac141fbb313a |
---|---|
14 * | 14 * |
15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | 15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
16 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 16 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
18 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | 18 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
19 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 19 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
20 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 20 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
21 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 21 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | 22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
24 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | 24 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
643 doCols p_getcol, | 643 doCols p_getcol, |
644 string "}", | 644 string "}", |
645 newline, | 645 newline, |
646 newline, | 646 newline, |
647 string "uw_pop_cleanup(ctx);", | 647 string "uw_pop_cleanup(ctx);", |
648 newline] | 648 newline] |
649 | 649 |
650 fun query {loc, cols, doCols} = | 650 fun query {loc, cols, doCols} = |
651 box [string "PGconn *conn = uw_get_db(ctx);", | 651 box [string "PGconn *conn = uw_get_db(ctx);", |
652 newline, | 652 newline, |
653 string "PGresult *res = PQexecParams(conn, query, 0, NULL, NULL, NULL, NULL, 0);", | 653 string "PGresult *res = PQexecParams(conn, query, 0, NULL, NULL, NULL, NULL, 0);", |
1035 fun p_cast (s, t) = s ^ "::" ^ p_sql_type t | 1035 fun p_cast (s, t) = s ^ "::" ^ p_sql_type t |
1036 | 1036 |
1037 fun p_blank (n, t) = p_cast ("$" ^ Int.toString n, t) | 1037 fun p_blank (n, t) = p_cast ("$" ^ Int.toString n, t) |
1038 | 1038 |
1039 val () = addDbms {name = "postgres", | 1039 val () = addDbms {name = "postgres", |
1040 randomFunction = "RANDOM", | |
1040 header = Config.pgheader, | 1041 header = Config.pgheader, |
1041 link = "-lpq", | 1042 link = "-lpq", |
1042 p_sql_type = p_sql_type, | 1043 p_sql_type = p_sql_type, |
1043 init = init, | 1044 init = init, |
1044 query = query, | 1045 query = query, |