Re: VMS x86-64 database server

Liste des GroupesRevenir à co vms 
Sujet : Re: VMS x86-64 database server
De : ldo (at) *nospam* nz.invalid (Lawrence D'Oliveiro)
Groupes : comp.os.vms
Date : 10. Jul 2025, 02:33:08
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <104n58k$gs8r$3@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
User-Agent : Pan/0.162 (Pokrosvk)
On Wed, 9 Jul 2025 20:04:34 -0400, Arne Vajhøj wrote:

I would write your code a little simpler:

I notice you didn’t try to offer alternatives to the wildcard and
identifier escaping.

def dump_range(con, vals):
     jvals = ",".join(q(esc(val)) for val in vals)
     c = con.cursor()
     c.execute(f"SELECT f1,f2 FROM t1 WHERE f2 IN ({jvals})")
     for row in c.fetchall():
         print('%d %s' % (row[0], row[1]))

Instead of using my sql_string_list() function everywhere it’s needed,
you want to write out the full expression at every point?

But dynamic SQL with dynamic data is still bad.

Is it bad to offer users dynamic query capabilities?

Here’s some code I wrote back in Python-2 days (MySQL-specific):

    # collect list of items matching specified search criteria
    condition = \
        (
            list
                ( # free-text fields
                    "%(name)s like %(value)s"
                %
                    {
                        "name" : field[0],
                        "value" :
                            SQLString("%" + EscapeSQLWild(Params.getvalue(field[1])) + "%"),
                    }
                for field in
                    (
                        ("make", "search_make"),
                        ("model", "search_model"),
                        ("details", "search_details"),
                        ("serial_nr", "search_serial"),
                        ("inventory_nr", "search_invent"),
                    )
                if Params.getvalue(field[1]) != ""
            )
        +
            list
                ( # exact-match fields
                    "%(name)s = %(value)s"
                %
                    {
                        "name" : field[0],
                        "value" : SQLString(Params.getvalue(field[1])),
                    }
                for field in
                    (
                        ("class_name", "search_class"),
                        ("allocation", "search_allocated"),
                        ("location_name", "search_location"),
                    )
                if Params.getvalue(field[1]) != ""
                )
        +
            list
                ( # date fields
                    "("
                +
                    " or ".join
                        (
                            "%(name)s %(op)s %(value)s"
                        %
                            {
                                "name" : field[0],
                                "op" : op[0],
                                "value" : SQLString(Params.getvalue(field[1])),
                            }
                        for op in
                            (
                                ("<", "lt"),
                                ("=", "eq"),
                                (">", "gt"),
                            )
                        if GetCheckbox("%(name)s[%(op)s]" % {"name" : field[1], "op" : op[1]})
                        )
                +
                    ")"
                for field in
                    (
                        ("when_purchased", "search_when_purchased"),
                        ("warranty_expiry", "search_warranty_expiry"),
                    )
                if reduce
                    (
                        operator.__or__,
                        (
                            GetCheckbox("%(name)s[%(op)s]" % {"name" : field[1], "op" : op})
                                for op in ("lt", "eq", "gt")
                        )
                    )
                )
        )
    condition = " and ".join(condition)

used as

    select «fields» from «table» where «condition»

Let’s see your EXEC SQL cope with that ...

Date Sujet#  Auteur
6 Jul20:45 * VMS x86-64 database server60Arne Vajhøj
6 Jul22:39 +- Re: VMS x86-64 database server1Lawrence D'Oliveiro
6 Jul23:07 +* Re: VMS x86-64 database server34Arne Vajhøj
7 Jul00:19 i`* Re: VMS x86-64 database server33Lawrence D'Oliveiro
7 Jul00:58 i `* Re: VMS x86-64 database server32Arne Vajhøj
7 Jul03:42 i  `* Re: VMS x86-64 database server31Lawrence D'Oliveiro
7 Jul19:07 i   `* Re: VMS x86-64 database server30Arne Vajhøj
7 Jul19:16 i    +* Re: VMS x86-64 database server2Arne Vajhøj
7 Jul19:21 i    i`- Re: VMS x86-64 database server1Arne Vajhøj
7 Jul23:07 i    `* Re: VMS x86-64 database server27Lawrence D'Oliveiro
8 Jul00:28 i     +* Re: VMS x86-64 database server14Arne Vajhøj
8 Jul01:26 i     i`* Re: VMS x86-64 database server13Lawrence D'Oliveiro
8 Jul13:45 i     i `* Re: VMS x86-64 database server12Arne Vajhøj
8 Jul22:57 i     i  `* Re: VMS x86-64 database server11Lawrence D'Oliveiro
8 Jul23:40 i     i   `* Re: VMS x86-64 database server10Arne Vajhøj
9 Jul00:38 i     i    `* Re: VMS x86-64 database server9Lawrence D'Oliveiro
9 Jul02:54 i     i     `* Re: VMS x86-64 database server8Arne Vajhøj
9 Jul08:25 i     i      `* Re: VMS x86-64 database server7Lawrence D'Oliveiro
9 Jul20:33 i     i       `* Re: VMS x86-64 database server6Arne Vajhøj
10 Jul00:07 i     i        `* Re: VMS x86-64 database server5Lawrence D'Oliveiro
10 Jul00:51 i     i         `* Re: VMS x86-64 database server4Arne Vajhøj
10 Jul02:21 i     i          `* Re: VMS x86-64 database server3Lawrence D'Oliveiro
10 Jul03:24 i     i           `* Re: VMS x86-64 database server2Arne Vajhøj
10 Jul05:28 i     i            `- Re: VMS x86-64 database server1Lawrence D'Oliveiro
8 Jul14:35 i     `* Re: VMS x86-64 database server12Arne Vajhøj
8 Jul22:56 i      `* Re: VMS x86-64 database server11Lawrence D'Oliveiro
8 Jul23:20 i       `* Re: VMS x86-64 database server10Arne Vajhøj
9 Jul00:37 i        `* Re: VMS x86-64 database server9Lawrence D'Oliveiro
9 Jul01:31 i         `* Re: VMS x86-64 database server8Arne Vajhøj
9 Jul08:22 i          `* Re: VMS x86-64 database server7Lawrence D'Oliveiro
10 Jul01:04 i           `* Re: VMS x86-64 database server6Arne Vajhøj
10 Jul01:25 i            +* Re: VMS x86-64 database server4Arne Vajhøj
10 Jul02:35 i            i`* Re: VMS x86-64 database server3Lawrence D'Oliveiro
10 Jul03:26 i            i `* Re: VMS x86-64 database server2Arne Vajhøj
10 Jul06:48 i            i  `- Re: VMS x86-64 database server1Lawrence D'Oliveiro
10 Jul02:33 i            `- Re: VMS x86-64 database server1Lawrence D'Oliveiro
6 Jul23:11 +- Re: VMS x86-64 database server1Arne Vajhøj
6 Jul23:39 `* Re: VMS x86-64 database server23Craig A. Berry
7 Jul00:57  `* Re: VMS x86-64 database server22Arne Vajhøj
7 Jul15:50   `* Re: VMS x86-64 database server21Mark Berryman
7 Jul19:01    `* Re: VMS x86-64 database server20Arne Vajhøj
7 Jul22:06     `* Re: VMS x86-64 database server19Mark Berryman
7 Jul22:36      +* Re: VMS x86-64 database server2Arne Vajhøj
7 Jul22:37      i`- Re: VMS x86-64 database server1Arne Vajhøj
7 Jul23:08      `* Re: VMS x86-64 database server16Lawrence D'Oliveiro
8 Jul00:21       `* Re: VMS x86-64 database server15Arne Vajhøj
8 Jul01:27        `* Re: VMS x86-64 database server14Lawrence D'Oliveiro
8 Jul12:14         `* Re: VMS x86-64 database server13Arne Vajhøj
8 Jul22:58          `* Re: VMS x86-64 database server12Lawrence D'Oliveiro
8 Jul23:14           +* Re: VMS x86-64 database server10Arne Vajhøj
9 Jul00:40           i`* Re: VMS x86-64 database server9Lawrence D'Oliveiro
9 Jul03:18           i `* Re: VMS x86-64 database server8Arne Vajhøj
9 Jul08:27           i  +- Re: VMS x86-64 database server1Lawrence D'Oliveiro
9 Jul11:16           i  `* Re: VMS x86-64 database server6hb0815
9 Jul15:13           i   `* Re: VMS x86-64 database server5Arne Vajhøj
9 Jul17:51           i    `* Re: VMS x86-64 database server4hb0815
9 Jul18:39           i     `* Re: VMS x86-64 database server3Arne Vajhøj
9 Jul18:56           i      +- Re: VMS x86-64 database server1Chris Townley
9 Jul20:55           i      `- Re: VMS x86-64 database server1hb0815
10 Jul01:12           `- Re: VMS x86-64 database server1bill

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal