Exemple #1
0
        public long Count(params Object[] selectionArgs)
        {
            var builder      = Builder;
            var countBuilder = new SqlSelectBuilder
            {
                Source        = builder.Source,
                Dialect       = builder.Dialect,
                WhereClause   = builder.WhereClause,
                GroupByClause = builder.GroupByClause,
                OrderByClause = builder.OrderByClause,
                LimitClause   = builder.LimitClause,
                Clauses       = builder.Clauses,
            };

            foreach (var jc in builder.JoinClauses)
            {
                countBuilder.JoinClauses.Add(jc);
            }
            countBuilder.ResultColumns.Add("count(1)");

            var connection = Connection;

            if (connection != null)
            {
                return(connection.ExecuteScalar <long>(countBuilder.ToString() + ";", parameters: selectionArgs));
            }
            else
            {
                return(Datastore.ExecuteScalar <long>(countBuilder.ToString() + ";", parameters: selectionArgs));
            }
        }
Exemple #2
0
        public int Count()
        {
            var countedEntity = Query.Entity;
            var columnValue   = Datastore.ToColumnValue(countedEntity, countedEntity.PrimaryKey.FieldName);

            SelectStatement = Queries.Count.CreateColumnCount(columnValue);
            return(Datastore.ExecuteScalar(this));
        }
Exemple #3
0
        private static String[] ListTriggers(Datastore db)
        {
            var result = db.ExecuteScalar("SELECT group_concat(name,',') FROM sqlite_master WHERE type LIKE 'trigger';") as string;

            if (string.IsNullOrEmpty(result))
            {
                return(new string[0]);
            }
            else
            {
                return(result.Split(','));
            }
        }
Exemple #4
0
        public static string GetTriggerDDL(Datastore db, string tableName)
        {
            var getTriggers = String.Format("SELECT group_concat(sql,';\r\n') FROM sqlite_master WHERE tbl_name LIKE '{0}' and type LIKE 'trigger';", tableName);

            return(db.ExecuteScalar(getTriggers) as string);
        }