コード例 #1
0
        public static Task CreatePrimaryIndexAsync(this IQueryIndexManager queryIndexManager, string bucketName, Action <CreatePrimaryQueryIndexOptions> configureOptions)
        {
            var options = new CreatePrimaryQueryIndexOptions();

            configureOptions(options);

            return(queryIndexManager.CreatePrimaryIndexAsync(bucketName, options));
        }
コード例 #2
0
 public static string CreatePrimaryIndexStatement(string bucketName, CreatePrimaryQueryIndexOptions options = null)
 {
     if (options.ScopeNameValue == null)
     {
         return $"CREATE PRIMARY INDEX ON {bucketName.EscapeIfRequired()} USING GSI WITH {{\"defer_build\":{options.DeferredValue}}};";
     }
     return $"CREATE PRIMARY INDEX ON {bucketName.EscapeIfRequired()}.{options.ScopeNameValue.EscapeIfRequired()}.{options.CollectionNameValue.EscapeIfRequired()} USING GSI WITH {{\"defer_build\":{options.DeferredValue}}};";
 }
コード例 #3
0
        public async Task CreatePrimaryIndexAsync(string bucketName, CreatePrimaryQueryIndexOptions options)
        {
            Logger.LogInformation($"Attempting to create primary query index on bucket {bucketName}");

            try
            {
                var statement = $"CREATE PRIMARY INDEX ON {bucketName} USING GSI WITH {{\"defer_build\":{options.Deferred}}};";
                await _queryClient.QueryAsync <dynamic>(statement,
                                                        queryOptions => queryOptions.WithCancellationToken(options.CancellationToken)
                                                        );
            }
            catch (Exception exception)
            {
                Logger.LogError(exception, $"Error trying to create primary query index on {bucketName}");
                throw;
            }
        }