From 562ffb5d10624e05512ad2351b4aa8fb4714c40f Mon Sep 17 00:00:00 2001 From: "Daniel J. Summers" Date: Wed, 27 Apr 2022 10:10:13 -0400 Subject: [PATCH] Add index create w/arbitrary expression --- src/RethinkDb.Driver.FSharp/Builder.fs | 8 ++++++++ src/RethinkDb.Driver.FSharp/Functions.fs | 10 +++++++++- .../RethinkDb.Driver.FSharp.fsproj | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/RethinkDb.Driver.FSharp/Builder.fs b/src/RethinkDb.Driver.FSharp/Builder.fs index 7691e5a..cd566f0 100644 --- a/src/RethinkDb.Driver.FSharp/Builder.fs +++ b/src/RethinkDb.Driver.FSharp/Builder.fs @@ -118,6 +118,14 @@ type RethinkBuilder<'T> () = [] member _.IndexCreate (tbl, index, js, opts) = indexCreateJSWithOptArgs index js opts tbl + /// Create an index for a table, using an object expression + [] + member _.IndexCreate (tbl, index, expr : obj) = indexCreateObj index expr tbl + + /// Create an index for a table, using an object expression and optional arguments + [] + member _.IndexCreate (tbl, index, expr : obj, opts) = indexCreateObjWithOptArgs index expr opts tbl + /// Drop an index for a table [] member _.IndexDrop (tbl, index) = indexDrop index tbl diff --git a/src/RethinkDb.Driver.FSharp/Functions.fs b/src/RethinkDb.Driver.FSharp/Functions.fs index f82237b..9f1d52b 100644 --- a/src/RethinkDb.Driver.FSharp/Functions.fs +++ b/src/RethinkDb.Driver.FSharp/Functions.fs @@ -260,7 +260,7 @@ let indexCreate (indexName : string) (table : Table) = table.IndexCreate indexName /// Create an index on the given table, including optional arguments -let indexCreateWithOptArgs (indexName : string) args (table : Table) = +let indexCreateWithOptArgs indexName args table = indexCreate indexName table |> IndexCreateOptArg.apply args /// Create an index on the given table using a function @@ -279,6 +279,14 @@ let indexCreateJS (indexName : string) js (table : Table) = let indexCreateJSWithOptArgs indexName js args table = indexCreateJS indexName js table |> IndexCreateOptArg.apply args +/// Create an index on the given table using the give expression +let indexCreateObj (indexName : string) (expr : obj) (table : Table) = + table.IndexCreate (indexName, expr) + +/// Create an index on the given table using the give expression, including optional arguments +let indexCreateObjWithOptArgs indexName (expr : obj) args table = + indexCreateObj indexName expr table |> IndexCreateOptArg.apply args + /// Drop an index let indexDrop (indexName : string) (table : Table) = table.IndexDrop indexName diff --git a/src/RethinkDb.Driver.FSharp/RethinkDb.Driver.FSharp.fsproj b/src/RethinkDb.Driver.FSharp/RethinkDb.Driver.FSharp.fsproj index be318f8..a5a2b9e 100644 --- a/src/RethinkDb.Driver.FSharp/RethinkDb.Driver.FSharp.fsproj +++ b/src/RethinkDb.Driver.FSharp/RethinkDb.Driver.FSharp.fsproj @@ -11,7 +11,7 @@ See LICENSE RethinkDB document F# 0.8.0 - alpha-0007 + alpha-0008 Alpha; use at your own risk