@@ -48,17 +48,18 @@ public function compileTableExists()
4848 public function compileColumnExists (string $ table )
4949 {
5050 return "
51- SELECT
52- col.name
53- FROM
54- sys.columns AS col
55- JOIN
56- sys.objects AS obj
57- ON
58- col.object_id = obj.object_id
59- WHERE
60- obj.type = 'U' AND
61- obj.name = ' $ table' " ;
51+ SELECT
52+ col.name
53+ FROM
54+ syscolumns col noholdlock
55+ JOIN
56+ sysobjects obj noholdlock
57+ ON
58+ col.id = obj.id
59+ WHERE
60+ obj.type = 'U' AND
61+ obj.name = ' $ table';
62+ " ;
6263 }
6364
6465 /**
@@ -112,15 +113,15 @@ public function compileColumns($table)
112113 NULL AS collation, -- Sybase não fornece suporte direto para collation em colunas
113114 com.text AS comment -- Comentários associados à coluna, se existirem
114115 FROM
115- sysobjects obj
116+ sysobjects obj noholdlock
116117 JOIN
117- syscolumns col ON obj.id = col.id
118+ syscolumns col noholdlock ON obj.id = col.id
118119 JOIN
119- systypes type ON col.usertype = type.usertype
120+ systypes type noholdlock ON col.usertype = type.usertype
120121 LEFT JOIN
121- syscomments def ON col.cdefault = def.id -- Valores padrão da coluna
122+ syscomments def noholdlock ON col.cdefault = def.id -- Valores padrão da coluna
122123 LEFT JOIN
123- syscomments com ON col.colid = com.colid -- Comentários associados às colunas (se habilitados)
124+ syscomments com noholdlock ON col.colid = com.colid -- Comentários associados às colunas (se habilitados)
124125 WHERE
125126 obj.type IN ('U', 'V') -- 'U' para tabelas, 'V' para visões
126127 AND obj.name = ' $ table'
@@ -142,9 +143,9 @@ public function compileIndexes($table)
142143 CASE WHEN i.status & 2048 = 2048 THEN 'YES' ELSE 'NO' END AS is_primary,
143144 CASE WHEN i.status & 2 = 2 THEN 'YES' ELSE 'NO' END AS is_unique
144145 FROM
145- sysobjects o
146- INNER JOIN sysindexes i ON i.id = o.id
147- INNER JOIN syscolumns c ON c.id = o.id
146+ sysobjects o noholdlock
147+ INNER JOIN sysindexes i noholdlock ON i.id = o.id
148+ INNER JOIN syscolumns c noholdlock ON c.id = o.id
148149 WHERE
149150 o.type = 'U' -- Apenas tabelas de usuário
150151 AND o.name = ' $ table' -- Nome da tabela alvo
0 commit comments