@@ -48,17 +48,18 @@ public function compileTableExists()
48
48
public function compileColumnExists (string $ table )
49
49
{
50
50
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
+ " ;
62
63
}
63
64
64
65
/**
@@ -112,15 +113,15 @@ public function compileColumns($table)
112
113
NULL AS collation, -- Sybase não fornece suporte direto para collation em colunas
113
114
com.text AS comment -- Comentários associados à coluna, se existirem
114
115
FROM
115
- sysobjects obj
116
+ sysobjects obj noholdlock
116
117
JOIN
117
- syscolumns col ON obj.id = col.id
118
+ syscolumns col noholdlock ON obj.id = col.id
118
119
JOIN
119
- systypes type ON col.usertype = type.usertype
120
+ systypes type noholdlock ON col.usertype = type.usertype
120
121
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
122
123
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)
124
125
WHERE
125
126
obj.type IN ('U', 'V') -- 'U' para tabelas, 'V' para visões
126
127
AND obj.name = ' $ table'
@@ -142,9 +143,9 @@ public function compileIndexes($table)
142
143
CASE WHEN i.status & 2048 = 2048 THEN 'YES' ELSE 'NO' END AS is_primary,
143
144
CASE WHEN i.status & 2 = 2 THEN 'YES' ELSE 'NO' END AS is_unique
144
145
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
148
149
WHERE
149
150
o.type = 'U' -- Apenas tabelas de usuário
150
151
AND o.name = ' $ table' -- Nome da tabela alvo
0 commit comments