Ejemplo n.º 1
0
        public virtual void ensureTableExists(capex.data.SQLTableInfo table, System.Action <bool> callback)
        {
            var v = ensureTableExists(table);

            if (callback != null)
            {
                callback(v);
            }
        }
Ejemplo n.º 2
0
        public static capex.data.SQLTableInfo forDetails(string name, capex.data.SQLTableColumnInfo[] columns = null, string[] indexes = null, string[] uniqueIndexes = null)
        {
            var v = new capex.data.SQLTableInfo();

            v.setName(name);
            if (columns != null)
            {
                var n = 0;
                var m = columns.Length;
                for (n = 0; n < m; n++)
                {
                    var column = columns[n];
                    if (column != null)
                    {
                        v.addColumn(column);
                    }
                }
            }
            if (indexes != null)
            {
                var n2 = 0;
                var m2 = indexes.Length;
                for (n2 = 0; n2 < m2; n2++)
                {
                    var index = indexes[n2];
                    if (index != null)
                    {
                        v.addIndex(index);
                    }
                }
            }
            if (uniqueIndexes != null)
            {
                var n3 = 0;
                var m3 = uniqueIndexes.Length;
                for (n3 = 0; n3 < m3; n3++)
                {
                    var uniqueIndex = uniqueIndexes[n3];
                    if (uniqueIndex != null)
                    {
                        v.addUniqueIndex(uniqueIndex);
                    }
                }
            }
            return(v);
        }
Ejemplo n.º 3
0
        public virtual bool ensureTableExists(capex.data.SQLTableInfo table)
        {
            if (!(table != null))
            {
                return(false);
            }
            var name = table.getName();

            if (cape.String.isEmpty(name))
            {
                return(false);
            }
            if (tableExists(name))
            {
                return(true);
            }
            if (!execute(prepareCreateTableStatement(name, table.getColumns())))
            {
                return(false);
            }
            var array = table.getIndexes();

            if (array != null)
            {
                var n = 0;
                var m = array.Count;
                for (n = 0; n < m; n++)
                {
                    var cii = array[n];
                    if (cii != null)
                    {
                        if (execute(prepareCreateIndexStatement(name, cii.getColumn(), cii.getUnique())) == false)
                        {
                            execute(prepareDeleteTableStatement(name));
                        }
                    }
                }
            }
            return(true);
        }