og 0.20.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. data/CHANGELOG +796 -664
  2. data/INSTALL +24 -24
  3. data/README +39 -32
  4. data/Rakefile +41 -42
  5. data/benchmark/bench.rb +36 -36
  6. data/doc/AUTHORS +15 -12
  7. data/doc/LICENSE +3 -3
  8. data/doc/RELEASES +311 -243
  9. data/doc/config.txt +1 -1
  10. data/examples/mysql_to_psql.rb +15 -15
  11. data/examples/run.rb +92 -92
  12. data/install.rb +7 -17
  13. data/lib/og.rb +76 -75
  14. data/lib/og/collection.rb +203 -160
  15. data/lib/og/entity.rb +168 -169
  16. data/lib/og/errors.rb +5 -5
  17. data/lib/og/manager.rb +179 -178
  18. data/lib/og/mixin/hierarchical.rb +107 -107
  19. data/lib/og/mixin/optimistic_locking.rb +36 -36
  20. data/lib/og/mixin/orderable.rb +148 -148
  21. data/lib/og/mixin/timestamped.rb +8 -8
  22. data/lib/og/mixin/tree.rb +124 -124
  23. data/lib/og/relation.rb +237 -213
  24. data/lib/og/relation/belongs_to.rb +5 -5
  25. data/lib/og/relation/has_many.rb +60 -58
  26. data/lib/og/relation/joins_many.rb +93 -47
  27. data/lib/og/relation/refers_to.rb +25 -21
  28. data/lib/og/store.rb +210 -207
  29. data/lib/og/store/filesys.rb +79 -79
  30. data/lib/og/store/kirby.rb +263 -258
  31. data/lib/og/store/memory.rb +261 -261
  32. data/lib/og/store/mysql.rb +288 -284
  33. data/lib/og/store/psql.rb +261 -244
  34. data/lib/og/store/sql.rb +873 -720
  35. data/lib/og/store/sqlite.rb +177 -175
  36. data/lib/og/store/sqlserver.rb +204 -214
  37. data/lib/og/types.rb +1 -1
  38. data/lib/og/validation.rb +57 -57
  39. data/lib/vendor/mysql.rb +376 -376
  40. data/lib/vendor/mysql411.rb +10 -10
  41. data/test/og/mixin/tc_hierarchical.rb +59 -59
  42. data/test/og/mixin/tc_optimistic_locking.rb +40 -40
  43. data/test/og/mixin/tc_orderable.rb +67 -67
  44. data/test/og/mixin/tc_timestamped.rb +19 -19
  45. data/test/og/store/tc_filesys.rb +46 -46
  46. data/test/og/tc_inheritance.rb +81 -81
  47. data/test/og/tc_join.rb +67 -0
  48. data/test/og/tc_polymorphic.rb +49 -49
  49. data/test/og/tc_relation.rb +57 -30
  50. data/test/og/tc_select.rb +49 -0
  51. data/test/og/tc_store.rb +345 -337
  52. data/test/og/tc_types.rb +11 -11
  53. metadata +11 -18
@@ -9,7 +9,7 @@ module Og
9
9
  # property :name, VarChar(30)
10
10
 
11
11
  def self.VarChar(size)
12
- return String, :sql => "VARCHAR(#{size})"
12
+ return String, :sql => "VARCHAR(#{size})"
13
13
  end
14
14
 
15
15
  NotNull = { :sql => 'NOT NULL' }.freeze
@@ -7,71 +7,71 @@ module Glue
7
7
 
8
8
  module Validation
9
9
 
10
- # Encapsulates a list of validation errors.
11
-
12
- class Errors
13
- cattr_accessor :not_unique, 'The value is already used'
14
- cattr_accessor :invalid_relation, 'Invalid relations'
15
- end
10
+ # Encapsulates a list of validation errors.
11
+
12
+ class Errors
13
+ cattr_accessor :not_unique, 'The value is already used'
14
+ cattr_accessor :invalid_relation, 'Invalid relations'
15
+ end
16
16
 
17
- module MetaLanguage
17
+ module MetaLanguage
18
18
 
19
- # Validate the value of this attribute is unique
20
- # for this class.
21
- #
22
- # The Og libraries are required for this methdod to
23
- # work. You can override this method if you want to
24
- # use another OR mapping library.
25
- #
26
- #--
27
- # TODO: :unique should implicitly generate
28
- # validate_unique.
29
- #++
19
+ # Validate the value of this attribute is unique
20
+ # for this class.
21
+ #
22
+ # The Og libraries are required for this methdod to
23
+ # work. You can override this method if you want to
24
+ # use another OR mapping library.
25
+ #
26
+ #--
27
+ # TODO: :unique should implicitly generate
28
+ # validate_unique.
29
+ #++
30
30
 
31
- def validate_unique(*params)
32
- c = {
33
- :msg => Glue::Validation::Errors.not_unique,
34
- :on => :save
35
- }
36
- c.update(params.pop) if params.last.is_a?(Hash)
31
+ def validate_unique(*params)
32
+ c = {
33
+ :msg => Glue::Validation::Errors.not_unique,
34
+ :on => :save
35
+ }
36
+ c.update(params.pop) if params.last.is_a?(Hash)
37
37
 
38
- for name in params
39
- # FIXME: improve the generated code.
40
- code = %{
41
- others = obj.class.find_by_#{name}(obj.#{name})
42
- unless (others.is_a?(Array) and others.empty?)
43
- errors.add(:#{name}, '#{c[:msg]}')
44
- end;
45
- }
38
+ for name in params
39
+ # FIXME: improve the generated code.
40
+ code = %{
41
+ others = obj.class.find_by_#{name}(obj.#{name})
42
+ unless (others.is_a?(Array) and others.empty?)
43
+ errors.add(:#{name}, '#{c[:msg]}')
44
+ end;
45
+ }
46
46
 
47
- __meta[:validations] << [code, c[:on]]
48
- end
49
- end
47
+ __meta[:validations] << [code, c[:on]]
48
+ end
49
+ end
50
50
 
51
- # Validate the related object or objects. Works
52
- # with all relations.
53
-
54
- def validate_related(*params)
55
- c = {
56
- :msg => Glue::Validation::Errors.invalid_relation,
57
- :on => :save
58
- }
59
- c.update(params.pop) if params.last.is_a?(Hash)
60
-
61
- for name in params
62
- code = %{
63
- unless (obj.#{name}.is_a?(Array) ? obj.#{name} : [obj.#{name}]).inject(true) { |memo, obj| (obj.nil? or obj.valid?) and memo }
64
- errors.add(:#{name}, '#{c[:msg]}')
65
- end;
66
- }
51
+ # Validate the related object or objects. Works
52
+ # with all relations.
53
+
54
+ def validate_related(*params)
55
+ c = {
56
+ :msg => Glue::Validation::Errors.invalid_relation,
57
+ :on => :save
58
+ }
59
+ c.update(params.pop) if params.last.is_a?(Hash)
60
+
61
+ for name in params
62
+ code = %{
63
+ unless (obj.#{name}.is_a?(Array) ? obj.#{name} : [obj.#{name}]).inject(true) { |memo, obj| (obj.nil? or obj.valid?) and memo }
64
+ errors.add(:#{name}, '#{c[:msg]}')
65
+ end;
66
+ }
67
67
 
68
- __meta[:validations] << [code, c[:on]]
69
- end
70
- end
71
- alias_method :validate_associated, :validate_related
68
+ __meta[:validations] << [code, c[:on]]
69
+ end
70
+ end
71
+ alias_method :validate_associated, :validate_related
72
72
 
73
- end
74
-
73
+ end
74
+
75
75
  end
76
76
 
77
77
  end
@@ -18,69 +18,69 @@ class Mysql
18
18
  PROTOCOL_VERSION = 10
19
19
 
20
20
  # Command
21
- COM_SLEEP = 0
22
- COM_QUIT = 1
23
- COM_INIT_DB = 2
24
- COM_QUERY = 3
25
- COM_FIELD_LIST = 4
26
- COM_CREATE_DB = 5
27
- COM_DROP_DB = 6
28
- COM_REFRESH = 7
29
- COM_SHUTDOWN = 8
30
- COM_STATISTICS = 9
31
- COM_PROCESS_INFO = 10
32
- COM_CONNECT = 11
33
- COM_PROCESS_KILL = 12
34
- COM_DEBUG = 13
35
- COM_PING = 14
36
- COM_TIME = 15
37
- COM_DELAYED_INSERT = 16
38
- COM_CHANGE_USER = 17
39
- COM_BINLOG_DUMP = 18
40
- COM_TABLE_DUMP = 19
41
- COM_CONNECT_OUT = 20
42
- COM_REGISTER_SLAVE = 21
21
+ COM_SLEEP = 0
22
+ COM_QUIT = 1
23
+ COM_INIT_DB = 2
24
+ COM_QUERY = 3
25
+ COM_FIELD_LIST = 4
26
+ COM_CREATE_DB = 5
27
+ COM_DROP_DB = 6
28
+ COM_REFRESH = 7
29
+ COM_SHUTDOWN = 8
30
+ COM_STATISTICS = 9
31
+ COM_PROCESS_INFO = 10
32
+ COM_CONNECT = 11
33
+ COM_PROCESS_KILL = 12
34
+ COM_DEBUG = 13
35
+ COM_PING = 14
36
+ COM_TIME = 15
37
+ COM_DELAYED_INSERT = 16
38
+ COM_CHANGE_USER = 17
39
+ COM_BINLOG_DUMP = 18
40
+ COM_TABLE_DUMP = 19
41
+ COM_CONNECT_OUT = 20
42
+ COM_REGISTER_SLAVE = 21
43
43
 
44
44
  # Client flag
45
- CLIENT_LONG_PASSWORD = 1
46
- CLIENT_FOUND_ROWS = 1 << 1
47
- CLIENT_LONG_FLAG = 1 << 2
45
+ CLIENT_LONG_PASSWORD = 1
46
+ CLIENT_FOUND_ROWS = 1 << 1
47
+ CLIENT_LONG_FLAG = 1 << 2
48
48
  CLIENT_CONNECT_WITH_DB= 1 << 3
49
- CLIENT_NO_SCHEMA = 1 << 4
50
- CLIENT_COMPRESS = 1 << 5
51
- CLIENT_ODBC = 1 << 6
52
- CLIENT_LOCAL_FILES = 1 << 7
53
- CLIENT_IGNORE_SPACE = 1 << 8
54
- CLIENT_INTERACTIVE = 1 << 10
55
- CLIENT_SSL = 1 << 11
56
- CLIENT_IGNORE_SIGPIPE = 1 << 12
57
- CLIENT_TRANSACTIONS = 1 << 13
49
+ CLIENT_NO_SCHEMA = 1 << 4
50
+ CLIENT_COMPRESS = 1 << 5
51
+ CLIENT_ODBC = 1 << 6
52
+ CLIENT_LOCAL_FILES = 1 << 7
53
+ CLIENT_IGNORE_SPACE = 1 << 8
54
+ CLIENT_INTERACTIVE = 1 << 10
55
+ CLIENT_SSL = 1 << 11
56
+ CLIENT_IGNORE_SIGPIPE = 1 << 12
57
+ CLIENT_TRANSACTIONS = 1 << 13
58
58
  CLIENT_CAPABILITIES = CLIENT_LONG_PASSWORD|CLIENT_LONG_FLAG|CLIENT_TRANSACTIONS
59
59
 
60
60
  # Connection Option
61
- OPT_CONNECT_TIMEOUT = 0
62
- OPT_COMPRESS = 1
63
- OPT_NAMED_PIPE = 2
64
- INIT_COMMAND = 3
65
- READ_DEFAULT_FILE = 4
66
- READ_DEFAULT_GROUP = 5
67
- SET_CHARSET_DIR = 6
68
- SET_CHARSET_NAME = 7
69
- OPT_LOCAL_INFILE = 8
61
+ OPT_CONNECT_TIMEOUT = 0
62
+ OPT_COMPRESS = 1
63
+ OPT_NAMED_PIPE = 2
64
+ INIT_COMMAND = 3
65
+ READ_DEFAULT_FILE = 4
66
+ READ_DEFAULT_GROUP = 5
67
+ SET_CHARSET_DIR = 6
68
+ SET_CHARSET_NAME = 7
69
+ OPT_LOCAL_INFILE = 8
70
70
 
71
71
  # Server Status
72
- SERVER_STATUS_IN_TRANS = 1
73
- SERVER_STATUS_AUTOCOMMIT = 2
72
+ SERVER_STATUS_IN_TRANS = 1
73
+ SERVER_STATUS_AUTOCOMMIT = 2
74
74
 
75
75
  # Refresh parameter
76
- REFRESH_GRANT = 1
77
- REFRESH_LOG = 2
78
- REFRESH_TABLES = 4
79
- REFRESH_HOSTS = 8
80
- REFRESH_STATUS = 16
81
- REFRESH_THREADS = 32
82
- REFRESH_SLAVE = 64
83
- REFRESH_MASTER = 128
76
+ REFRESH_GRANT = 1
77
+ REFRESH_LOG = 2
78
+ REFRESH_TABLES = 4
79
+ REFRESH_HOSTS = 8
80
+ REFRESH_STATUS = 16
81
+ REFRESH_THREADS = 32
82
+ REFRESH_SLAVE = 64
83
+ REFRESH_MASTER = 128
84
84
 
85
85
  def initialize(*args)
86
86
  @client_flag = 0
@@ -145,9 +145,9 @@ class Mysql
145
145
  def options(option, arg=nil)
146
146
  if option == OPT_LOCAL_INFILE then
147
147
  if arg == false or arg == 0 then
148
- @client_flag &= ~CLIENT_LOCAL_FILES
148
+ @client_flag &= ~CLIENT_LOCAL_FILES
149
149
  else
150
- @client_flag |= CLIENT_LOCAL_FILES
150
+ @client_flag |= CLIENT_LOCAL_FILES
151
151
  end
152
152
  else
153
153
  raise "not implemented"
@@ -316,9 +316,9 @@ class Mysql
316
316
  field_count.times do
317
317
  len = get_length data
318
318
  if len == nil then
319
- rec << len
319
+ rec << len
320
320
  else
321
- rec << data.slice!(0,len)
321
+ rec << data.slice!(0,len)
322
322
  end
323
323
  end
324
324
  rec
@@ -327,8 +327,8 @@ class Mysql
327
327
  def skip_result()
328
328
  if @status == :STATUS_USE_RESULT then
329
329
  loop do
330
- data = read
331
- break if data[0] == 254 and data.length == 1
330
+ data = read
331
+ break if data[0] == 254 and data.length == 1
332
332
  end
333
333
  @status = :STATUS_READY
334
334
  end
@@ -343,11 +343,11 @@ class Mysql
343
343
  def read_query_result()
344
344
  data = read
345
345
  @field_count = get_length(data)
346
- if @field_count == nil then # LOAD DATA LOCAL INFILE
346
+ if @field_count == nil then # LOAD DATA LOCAL INFILE
347
347
  File::open(data) do |f|
348
- write f.read
348
+ write f.read
349
349
  end
350
- write "" # mark EOF
350
+ write "" # mark EOF
351
351
  data = read
352
352
  @field_count = get_length(data)
353
353
  end
@@ -355,11 +355,11 @@ class Mysql
355
355
  @affected_rows = get_length(data, true)
356
356
  @insert_id = get_length(data, true)
357
357
  if @server_capabilities & CLIENT_TRANSACTIONS != 0 then
358
- a = data.slice!(0,2)
359
- @server_status = a[0]+a[1]*256
358
+ a = data.slice!(0,2)
359
+ @server_status = a[0]+a[1]*256
360
360
  end
361
361
  if data.size > 0 and get_length(data) then
362
- @info = data
362
+ @info = data
363
363
  end
364
364
  else
365
365
  @extra_info = get_length(data, true)
@@ -378,11 +378,11 @@ class Mysql
378
378
  length = f[2][0]+f[2][1]*256+f[2][2]*256*256
379
379
  type = f[3][0]
380
380
  if long_flag_protocol then
381
- flags = f[4][0]+f[4][1]*256
382
- decimals = f[4][2]
381
+ flags = f[4][0]+f[4][1]*256
382
+ decimals = f[4][2]
383
383
  else
384
- flags = f[4][0]
385
- decimals = f[4][1]
384
+ flags = f[4][0]
385
+ decimals = f[4][1]
386
386
  end
387
387
  def_value = f[5]
388
388
  max_length = 0
@@ -414,10 +414,10 @@ class Mysql
414
414
  when 254
415
415
  a = data.slice!(0,8)
416
416
  if longlong then
417
- return a[0]+a[1]*256+a[2]*256**2+a[3]*256**3+
418
- a[4]*256**4+a[5]*256**5+a[6]*256**6+a[7]*256**7
417
+ return a[0]+a[1]*256+a[2]*256**2+a[3]*256**3+
418
+ a[4]*256**4+a[5]*256**5+a[6]*256**6+a[7]*256**7
419
419
  else
420
- return a[0]+a[1]*256+a[2]*256**2+a[3]*256**3
420
+ return a[0]+a[1]*256+a[2]*256**2+a[3]*256**3
421
421
  end
422
422
  else
423
423
  c
@@ -443,11 +443,11 @@ class Mysql
443
443
  a = @net.read
444
444
  if a[0] == 255 then
445
445
  if a.length > 3 then
446
- @errno = a[1]+a[2]*256
447
- @error = a[3 .. -1]
446
+ @errno = a[1]+a[2]*256
447
+ @error = a[3 .. -1]
448
448
  else
449
- @errno = Error::CR_UNKNOWN_ERROR
450
- @error = Error::err @errno
449
+ @errno = Error::CR_UNKNOWN_ERROR
450
+ @error = Error::err @errno
451
451
  end
452
452
  raise Error::new(@errno, @error)
453
453
  end
@@ -533,21 +533,21 @@ class Mysql
533
533
 
534
534
  def fetch_row()
535
535
  if @data then
536
- if @current_row >= @data.length then
537
- @handle.status = :STATUS_READY
538
- return
539
- end
540
- ret = @data[@current_row]
541
- @current_row += 1
536
+ if @current_row >= @data.length then
537
+ @handle.status = :STATUS_READY
538
+ return
539
+ end
540
+ ret = @data[@current_row]
541
+ @current_row += 1
542
542
  else
543
- return if @eof
544
- ret = @handle.read_one_row @field_count
545
- if ret == nil then
546
- @eof = true
547
- return
548
- end
549
- @lengths = ret.map{|i| i ? i.length : 0}
550
- @row_count += 1
543
+ return if @eof
544
+ ret = @handle.read_one_row @field_count
545
+ if ret == nil then
546
+ @eof = true
547
+ return
548
+ end
549
+ @lengths = ret.map{|i| i ? i.length : 0}
550
+ @row_count += 1
551
551
  end
552
552
  ret
553
553
  end
@@ -557,8 +557,8 @@ class Mysql
557
557
  return if row == nil
558
558
  hash = {}
559
559
  @fields.each_index do |i|
560
- f = with_table ? @fields[i].table+"."+@fields[i].name : @fields[i].name
561
- hash[f] = row[i]
560
+ f = with_table ? @fields[i].table+"."+@fields[i].name : @fields[i].name
561
+ hash[f] = row[i]
562
562
  end
563
563
  hash
564
564
  end
@@ -595,13 +595,13 @@ class Mysql
595
595
 
596
596
  def each()
597
597
  while row = fetch_row do
598
- yield row
598
+ yield row
599
599
  end
600
600
  end
601
601
 
602
602
  def each_hash(with_table=nil)
603
603
  while hash = fetch_hash(with_table) do
604
- yield hash
604
+ yield hash
605
605
  end
606
606
  end
607
607
 
@@ -669,7 +669,7 @@ class Mysql
669
669
  @def = def_value
670
670
  @max_length = max_length
671
671
  if (type <= TYPE_INT24 and (type != TYPE_TIMESTAMP or length == 14 or length == 8)) or type == TYPE_YEAR then
672
- @flags |= NUM_FLAG
672
+ @flags |= NUM_FLAG
673
673
  end
674
674
  end
675
675
  attr_reader :table, :org_table, :name, :length, :type, :flags, :decimals, :def, :max_length
@@ -681,277 +681,277 @@ class Mysql
681
681
 
682
682
  class Error < StandardError
683
683
  # Server Error
684
- ER_HASHCHK = 1000
685
- ER_NISAMCHK = 1001
686
- ER_NO = 1002
687
- ER_YES = 1003
688
- ER_CANT_CREATE_FILE = 1004
689
- ER_CANT_CREATE_TABLE = 1005
690
- ER_CANT_CREATE_DB = 1006
691
- ER_DB_CREATE_EXISTS = 1007
692
- ER_DB_DROP_EXISTS = 1008
693
- ER_DB_DROP_DELETE = 1009
694
- ER_DB_DROP_RMDIR = 1010
695
- ER_CANT_DELETE_FILE = 1011
696
- ER_CANT_FIND_SYSTEM_REC = 1012
697
- ER_CANT_GET_STAT = 1013
698
- ER_CANT_GET_WD = 1014
699
- ER_CANT_LOCK = 1015
700
- ER_CANT_OPEN_FILE = 1016
701
- ER_FILE_NOT_FOUND = 1017
702
- ER_CANT_READ_DIR = 1018
703
- ER_CANT_SET_WD = 1019
704
- ER_CHECKREAD = 1020
705
- ER_DISK_FULL = 1021
706
- ER_DUP_KEY = 1022
707
- ER_ERROR_ON_CLOSE = 1023
708
- ER_ERROR_ON_READ = 1024
709
- ER_ERROR_ON_RENAME = 1025
710
- ER_ERROR_ON_WRITE = 1026
711
- ER_FILE_USED = 1027
712
- ER_FILSORT_ABORT = 1028
713
- ER_FORM_NOT_FOUND = 1029
714
- ER_GET_ERRNO = 1030
715
- ER_ILLEGAL_HA = 1031
716
- ER_KEY_NOT_FOUND = 1032
717
- ER_NOT_FORM_FILE = 1033
718
- ER_NOT_KEYFILE = 1034
719
- ER_OLD_KEYFILE = 1035
720
- ER_OPEN_AS_READONLY = 1036
721
- ER_OUTOFMEMORY = 1037
722
- ER_OUT_OF_SORTMEMORY = 1038
723
- ER_UNEXPECTED_EOF = 1039
724
- ER_CON_COUNT_ERROR = 1040
725
- ER_OUT_OF_RESOURCES = 1041
726
- ER_BAD_HOST_ERROR = 1042
727
- ER_HANDSHAKE_ERROR = 1043
728
- ER_DBACCESS_DENIED_ERROR = 1044
729
- ER_ACCESS_DENIED_ERROR = 1045
730
- ER_NO_DB_ERROR = 1046
731
- ER_UNKNOWN_COM_ERROR = 1047
732
- ER_BAD_NULL_ERROR = 1048
733
- ER_BAD_DB_ERROR = 1049
734
- ER_TABLE_EXISTS_ERROR = 1050
735
- ER_BAD_TABLE_ERROR = 1051
736
- ER_NON_UNIQ_ERROR = 1052
737
- ER_SERVER_SHUTDOWN = 1053
738
- ER_BAD_FIELD_ERROR = 1054
739
- ER_WRONG_FIELD_WITH_GROUP = 1055
740
- ER_WRONG_GROUP_FIELD = 1056
741
- ER_WRONG_SUM_SELECT = 1057
742
- ER_WRONG_VALUE_COUNT = 1058
743
- ER_TOO_LONG_IDENT = 1059
744
- ER_DUP_FIELDNAME = 1060
745
- ER_DUP_KEYNAME = 1061
746
- ER_DUP_ENTRY = 1062
747
- ER_WRONG_FIELD_SPEC = 1063
748
- ER_PARSE_ERROR = 1064
749
- ER_EMPTY_QUERY = 1065
750
- ER_NONUNIQ_TABLE = 1066
751
- ER_INVALID_DEFAULT = 1067
752
- ER_MULTIPLE_PRI_KEY = 1068
753
- ER_TOO_MANY_KEYS = 1069
754
- ER_TOO_MANY_KEY_PARTS = 1070
755
- ER_TOO_LONG_KEY = 1071
756
- ER_KEY_COLUMN_DOES_NOT_EXITS = 1072
757
- ER_BLOB_USED_AS_KEY = 1073
758
- ER_TOO_BIG_FIELDLENGTH = 1074
759
- ER_WRONG_AUTO_KEY = 1075
760
- ER_READY = 1076
761
- ER_NORMAL_SHUTDOWN = 1077
762
- ER_GOT_SIGNAL = 1078
763
- ER_SHUTDOWN_COMPLETE = 1079
764
- ER_FORCING_CLOSE = 1080
765
- ER_IPSOCK_ERROR = 1081
766
- ER_NO_SUCH_INDEX = 1082
767
- ER_WRONG_FIELD_TERMINATORS = 1083
768
- ER_BLOBS_AND_NO_TERMINATED = 1084
769
- ER_TEXTFILE_NOT_READABLE = 1085
770
- ER_FILE_EXISTS_ERROR = 1086
771
- ER_LOAD_INFO = 1087
772
- ER_ALTER_INFO = 1088
773
- ER_WRONG_SUB_KEY = 1089
774
- ER_CANT_REMOVE_ALL_FIELDS = 1090
775
- ER_CANT_DROP_FIELD_OR_KEY = 1091
776
- ER_INSERT_INFO = 1092
777
- ER_INSERT_TABLE_USED = 1093
778
- ER_NO_SUCH_THREAD = 1094
779
- ER_KILL_DENIED_ERROR = 1095
780
- ER_NO_TABLES_USED = 1096
781
- ER_TOO_BIG_SET = 1097
782
- ER_NO_UNIQUE_LOGFILE = 1098
783
- ER_TABLE_NOT_LOCKED_FOR_WRITE = 1099
784
- ER_TABLE_NOT_LOCKED = 1100
785
- ER_BLOB_CANT_HAVE_DEFAULT = 1101
786
- ER_WRONG_DB_NAME = 1102
787
- ER_WRONG_TABLE_NAME = 1103
788
- ER_TOO_BIG_SELECT = 1104
789
- ER_UNKNOWN_ERROR = 1105
790
- ER_UNKNOWN_PROCEDURE = 1106
791
- ER_WRONG_PARAMCOUNT_TO_PROCEDURE = 1107
792
- ER_WRONG_PARAMETERS_TO_PROCEDURE = 1108
793
- ER_UNKNOWN_TABLE = 1109
794
- ER_FIELD_SPECIFIED_TWICE = 1110
795
- ER_INVALID_GROUP_FUNC_USE = 1111
796
- ER_UNSUPPORTED_EXTENSION = 1112
797
- ER_TABLE_MUST_HAVE_COLUMNS = 1113
798
- ER_RECORD_FILE_FULL = 1114
799
- ER_UNKNOWN_CHARACTER_SET = 1115
800
- ER_TOO_MANY_TABLES = 1116
801
- ER_TOO_MANY_FIELDS = 1117
802
- ER_TOO_BIG_ROWSIZE = 1118
803
- ER_STACK_OVERRUN = 1119
804
- ER_WRONG_OUTER_JOIN = 1120
805
- ER_NULL_COLUMN_IN_INDEX = 1121
806
- ER_CANT_FIND_UDF = 1122
807
- ER_CANT_INITIALIZE_UDF = 1123
808
- ER_UDF_NO_PATHS = 1124
809
- ER_UDF_EXISTS = 1125
810
- ER_CANT_OPEN_LIBRARY = 1126
811
- ER_CANT_FIND_DL_ENTRY = 1127
812
- ER_FUNCTION_NOT_DEFINED = 1128
813
- ER_HOST_IS_BLOCKED = 1129
814
- ER_HOST_NOT_PRIVILEGED = 1130
815
- ER_PASSWORD_ANONYMOUS_USER = 1131
816
- ER_PASSWORD_NOT_ALLOWED = 1132
817
- ER_PASSWORD_NO_MATCH = 1133
818
- ER_UPDATE_INFO = 1134
819
- ER_CANT_CREATE_THREAD = 1135
820
- ER_WRONG_VALUE_COUNT_ON_ROW = 1136
821
- ER_CANT_REOPEN_TABLE = 1137
822
- ER_INVALID_USE_OF_NULL = 1138
823
- ER_REGEXP_ERROR = 1139
824
- ER_MIX_OF_GROUP_FUNC_AND_FIELDS = 1140
825
- ER_NONEXISTING_GRANT = 1141
826
- ER_TABLEACCESS_DENIED_ERROR = 1142
827
- ER_COLUMNACCESS_DENIED_ERROR = 1143
828
- ER_ILLEGAL_GRANT_FOR_TABLE = 1144
829
- ER_GRANT_WRONG_HOST_OR_USER = 1145
830
- ER_NO_SUCH_TABLE = 1146
831
- ER_NONEXISTING_TABLE_GRANT = 1147
832
- ER_NOT_ALLOWED_COMMAND = 1148
833
- ER_SYNTAX_ERROR = 1149
834
- ER_DELAYED_CANT_CHANGE_LOCK = 1150
835
- ER_TOO_MANY_DELAYED_THREADS = 1151
836
- ER_ABORTING_CONNECTION = 1152
837
- ER_NET_PACKET_TOO_LARGE = 1153
838
- ER_NET_READ_ERROR_FROM_PIPE = 1154
839
- ER_NET_FCNTL_ERROR = 1155
840
- ER_NET_PACKETS_OUT_OF_ORDER = 1156
841
- ER_NET_UNCOMPRESS_ERROR = 1157
842
- ER_NET_READ_ERROR = 1158
843
- ER_NET_READ_INTERRUPTED = 1159
844
- ER_NET_ERROR_ON_WRITE = 1160
845
- ER_NET_WRITE_INTERRUPTED = 1161
846
- ER_TOO_LONG_STRING = 1162
847
- ER_TABLE_CANT_HANDLE_BLOB = 1163
848
- ER_TABLE_CANT_HANDLE_AUTO_INCREMENT = 1164
849
- ER_DELAYED_INSERT_TABLE_LOCKED = 1165
850
- ER_WRONG_COLUMN_NAME = 1166
851
- ER_WRONG_KEY_COLUMN = 1167
852
- ER_WRONG_MRG_TABLE = 1168
853
- ER_DUP_UNIQUE = 1169
854
- ER_BLOB_KEY_WITHOUT_LENGTH = 1170
855
- ER_PRIMARY_CANT_HAVE_NULL = 1171
856
- ER_TOO_MANY_ROWS = 1172
857
- ER_REQUIRES_PRIMARY_KEY = 1173
858
- ER_NO_RAID_COMPILED = 1174
859
- ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE = 1175
860
- ER_KEY_DOES_NOT_EXITS = 1176
861
- ER_CHECK_NO_SUCH_TABLE = 1177
862
- ER_CHECK_NOT_IMPLEMENTED = 1178
863
- ER_CANT_DO_THIS_DURING_AN_TRANSACTION = 1179
864
- ER_ERROR_DURING_COMMIT = 1180
865
- ER_ERROR_DURING_ROLLBACK = 1181
866
- ER_ERROR_DURING_FLUSH_LOGS = 1182
867
- ER_ERROR_DURING_CHECKPOINT = 1183
868
- ER_NEW_ABORTING_CONNECTION = 1184
869
- ER_DUMP_NOT_IMPLEMENTED = 1185
870
- ER_FLUSH_MASTER_BINLOG_CLOSED = 1186
871
- ER_INDEX_REBUILD = 1187
872
- ER_MASTER = 1188
873
- ER_MASTER_NET_READ = 1189
874
- ER_MASTER_NET_WRITE = 1190
875
- ER_FT_MATCHING_KEY_NOT_FOUND = 1191
876
- ER_LOCK_OR_ACTIVE_TRANSACTION = 1192
877
- ER_UNKNOWN_SYSTEM_VARIABLE = 1193
878
- ER_CRASHED_ON_USAGE = 1194
879
- ER_CRASHED_ON_REPAIR = 1195
880
- ER_WARNING_NOT_COMPLETE_ROLLBACK = 1196
881
- ER_TRANS_CACHE_FULL = 1197
882
- ER_SLAVE_MUST_STOP = 1198
883
- ER_SLAVE_NOT_RUNNING = 1199
884
- ER_BAD_SLAVE = 1200
885
- ER_MASTER_INFO = 1201
886
- ER_SLAVE_THREAD = 1202
887
- ER_TOO_MANY_USER_CONNECTIONS = 1203
888
- ER_SET_CONSTANTS_ONLY = 1204
889
- ER_LOCK_WAIT_TIMEOUT = 1205
890
- ER_LOCK_TABLE_FULL = 1206
891
- ER_READ_ONLY_TRANSACTION = 1207
892
- ER_DROP_DB_WITH_READ_LOCK = 1208
893
- ER_CREATE_DB_WITH_READ_LOCK = 1209
894
- ER_WRONG_ARGUMENTS = 1210
895
- ER_NO_PERMISSION_TO_CREATE_USER = 1211
896
- ER_UNION_TABLES_IN_DIFFERENT_DIR = 1212
897
- ER_LOCK_DEADLOCK = 1213
898
- ER_TABLE_CANT_HANDLE_FULLTEXT = 1214
899
- ER_CANNOT_ADD_FOREIGN = 1215
900
- ER_NO_REFERENCED_ROW = 1216
901
- ER_ROW_IS_REFERENCED = 1217
902
- ER_CONNECT_TO_MASTER = 1218
903
- ER_QUERY_ON_MASTER = 1219
904
- ER_ERROR_WHEN_EXECUTING_COMMAND = 1220
905
- ER_WRONG_USAGE = 1221
906
- ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT = 1222
907
- ER_CANT_UPDATE_WITH_READLOCK = 1223
908
- ER_MIXING_NOT_ALLOWED = 1224
909
- ER_DUP_ARGUMENT = 1225
910
- ER_USER_LIMIT_REACHED = 1226
911
- ER_SPECIFIC_ACCESS_DENIED_ERROR = 1227
912
- ER_LOCAL_VARIABLE = 1228
913
- ER_GLOBAL_VARIABLE = 1229
914
- ER_NO_DEFAULT = 1230
915
- ER_WRONG_VALUE_FOR_VAR = 1231
916
- ER_WRONG_TYPE_FOR_VAR = 1232
917
- ER_VAR_CANT_BE_READ = 1233
918
- ER_CANT_USE_OPTION_HERE = 1234
919
- ER_NOT_SUPPORTED_YET = 1235
920
- ER_MASTER_FATAL_ERROR_READING_BINLOG = 1236
921
- ER_SLAVE_IGNORED_TABLE = 1237
922
- ER_ERROR_MESSAGES = 238
684
+ ER_HASHCHK = 1000
685
+ ER_NISAMCHK = 1001
686
+ ER_NO = 1002
687
+ ER_YES = 1003
688
+ ER_CANT_CREATE_FILE = 1004
689
+ ER_CANT_CREATE_TABLE = 1005
690
+ ER_CANT_CREATE_DB = 1006
691
+ ER_DB_CREATE_EXISTS = 1007
692
+ ER_DB_DROP_EXISTS = 1008
693
+ ER_DB_DROP_DELETE = 1009
694
+ ER_DB_DROP_RMDIR = 1010
695
+ ER_CANT_DELETE_FILE = 1011
696
+ ER_CANT_FIND_SYSTEM_REC = 1012
697
+ ER_CANT_GET_STAT = 1013
698
+ ER_CANT_GET_WD = 1014
699
+ ER_CANT_LOCK = 1015
700
+ ER_CANT_OPEN_FILE = 1016
701
+ ER_FILE_NOT_FOUND = 1017
702
+ ER_CANT_READ_DIR = 1018
703
+ ER_CANT_SET_WD = 1019
704
+ ER_CHECKREAD = 1020
705
+ ER_DISK_FULL = 1021
706
+ ER_DUP_KEY = 1022
707
+ ER_ERROR_ON_CLOSE = 1023
708
+ ER_ERROR_ON_READ = 1024
709
+ ER_ERROR_ON_RENAME = 1025
710
+ ER_ERROR_ON_WRITE = 1026
711
+ ER_FILE_USED = 1027
712
+ ER_FILSORT_ABORT = 1028
713
+ ER_FORM_NOT_FOUND = 1029
714
+ ER_GET_ERRNO = 1030
715
+ ER_ILLEGAL_HA = 1031
716
+ ER_KEY_NOT_FOUND = 1032
717
+ ER_NOT_FORM_FILE = 1033
718
+ ER_NOT_KEYFILE = 1034
719
+ ER_OLD_KEYFILE = 1035
720
+ ER_OPEN_AS_READONLY = 1036
721
+ ER_OUTOFMEMORY = 1037
722
+ ER_OUT_OF_SORTMEMORY = 1038
723
+ ER_UNEXPECTED_EOF = 1039
724
+ ER_CON_COUNT_ERROR = 1040
725
+ ER_OUT_OF_RESOURCES = 1041
726
+ ER_BAD_HOST_ERROR = 1042
727
+ ER_HANDSHAKE_ERROR = 1043
728
+ ER_DBACCESS_DENIED_ERROR = 1044
729
+ ER_ACCESS_DENIED_ERROR = 1045
730
+ ER_NO_DB_ERROR = 1046
731
+ ER_UNKNOWN_COM_ERROR = 1047
732
+ ER_BAD_NULL_ERROR = 1048
733
+ ER_BAD_DB_ERROR = 1049
734
+ ER_TABLE_EXISTS_ERROR = 1050
735
+ ER_BAD_TABLE_ERROR = 1051
736
+ ER_NON_UNIQ_ERROR = 1052
737
+ ER_SERVER_SHUTDOWN = 1053
738
+ ER_BAD_FIELD_ERROR = 1054
739
+ ER_WRONG_FIELD_WITH_GROUP = 1055
740
+ ER_WRONG_GROUP_FIELD = 1056
741
+ ER_WRONG_SUM_SELECT = 1057
742
+ ER_WRONG_VALUE_COUNT = 1058
743
+ ER_TOO_LONG_IDENT = 1059
744
+ ER_DUP_FIELDNAME = 1060
745
+ ER_DUP_KEYNAME = 1061
746
+ ER_DUP_ENTRY = 1062
747
+ ER_WRONG_FIELD_SPEC = 1063
748
+ ER_PARSE_ERROR = 1064
749
+ ER_EMPTY_QUERY = 1065
750
+ ER_NONUNIQ_TABLE = 1066
751
+ ER_INVALID_DEFAULT = 1067
752
+ ER_MULTIPLE_PRI_KEY = 1068
753
+ ER_TOO_MANY_KEYS = 1069
754
+ ER_TOO_MANY_KEY_PARTS = 1070
755
+ ER_TOO_LONG_KEY = 1071
756
+ ER_KEY_COLUMN_DOES_NOT_EXITS = 1072
757
+ ER_BLOB_USED_AS_KEY = 1073
758
+ ER_TOO_BIG_FIELDLENGTH = 1074
759
+ ER_WRONG_AUTO_KEY = 1075
760
+ ER_READY = 1076
761
+ ER_NORMAL_SHUTDOWN = 1077
762
+ ER_GOT_SIGNAL = 1078
763
+ ER_SHUTDOWN_COMPLETE = 1079
764
+ ER_FORCING_CLOSE = 1080
765
+ ER_IPSOCK_ERROR = 1081
766
+ ER_NO_SUCH_INDEX = 1082
767
+ ER_WRONG_FIELD_TERMINATORS = 1083
768
+ ER_BLOBS_AND_NO_TERMINATED = 1084
769
+ ER_TEXTFILE_NOT_READABLE = 1085
770
+ ER_FILE_EXISTS_ERROR = 1086
771
+ ER_LOAD_INFO = 1087
772
+ ER_ALTER_INFO = 1088
773
+ ER_WRONG_SUB_KEY = 1089
774
+ ER_CANT_REMOVE_ALL_FIELDS = 1090
775
+ ER_CANT_DROP_FIELD_OR_KEY = 1091
776
+ ER_INSERT_INFO = 1092
777
+ ER_INSERT_TABLE_USED = 1093
778
+ ER_NO_SUCH_THREAD = 1094
779
+ ER_KILL_DENIED_ERROR = 1095
780
+ ER_NO_TABLES_USED = 1096
781
+ ER_TOO_BIG_SET = 1097
782
+ ER_NO_UNIQUE_LOGFILE = 1098
783
+ ER_TABLE_NOT_LOCKED_FOR_WRITE = 1099
784
+ ER_TABLE_NOT_LOCKED = 1100
785
+ ER_BLOB_CANT_HAVE_DEFAULT = 1101
786
+ ER_WRONG_DB_NAME = 1102
787
+ ER_WRONG_TABLE_NAME = 1103
788
+ ER_TOO_BIG_SELECT = 1104
789
+ ER_UNKNOWN_ERROR = 1105
790
+ ER_UNKNOWN_PROCEDURE = 1106
791
+ ER_WRONG_PARAMCOUNT_TO_PROCEDURE = 1107
792
+ ER_WRONG_PARAMETERS_TO_PROCEDURE = 1108
793
+ ER_UNKNOWN_TABLE = 1109
794
+ ER_FIELD_SPECIFIED_TWICE = 1110
795
+ ER_INVALID_GROUP_FUNC_USE = 1111
796
+ ER_UNSUPPORTED_EXTENSION = 1112
797
+ ER_TABLE_MUST_HAVE_COLUMNS = 1113
798
+ ER_RECORD_FILE_FULL = 1114
799
+ ER_UNKNOWN_CHARACTER_SET = 1115
800
+ ER_TOO_MANY_TABLES = 1116
801
+ ER_TOO_MANY_FIELDS = 1117
802
+ ER_TOO_BIG_ROWSIZE = 1118
803
+ ER_STACK_OVERRUN = 1119
804
+ ER_WRONG_OUTER_JOIN = 1120
805
+ ER_NULL_COLUMN_IN_INDEX = 1121
806
+ ER_CANT_FIND_UDF = 1122
807
+ ER_CANT_INITIALIZE_UDF = 1123
808
+ ER_UDF_NO_PATHS = 1124
809
+ ER_UDF_EXISTS = 1125
810
+ ER_CANT_OPEN_LIBRARY = 1126
811
+ ER_CANT_FIND_DL_ENTRY = 1127
812
+ ER_FUNCTION_NOT_DEFINED = 1128
813
+ ER_HOST_IS_BLOCKED = 1129
814
+ ER_HOST_NOT_PRIVILEGED = 1130
815
+ ER_PASSWORD_ANONYMOUS_USER = 1131
816
+ ER_PASSWORD_NOT_ALLOWED = 1132
817
+ ER_PASSWORD_NO_MATCH = 1133
818
+ ER_UPDATE_INFO = 1134
819
+ ER_CANT_CREATE_THREAD = 1135
820
+ ER_WRONG_VALUE_COUNT_ON_ROW = 1136
821
+ ER_CANT_REOPEN_TABLE = 1137
822
+ ER_INVALID_USE_OF_NULL = 1138
823
+ ER_REGEXP_ERROR = 1139
824
+ ER_MIX_OF_GROUP_FUNC_AND_FIELDS = 1140
825
+ ER_NONEXISTING_GRANT = 1141
826
+ ER_TABLEACCESS_DENIED_ERROR = 1142
827
+ ER_COLUMNACCESS_DENIED_ERROR = 1143
828
+ ER_ILLEGAL_GRANT_FOR_TABLE = 1144
829
+ ER_GRANT_WRONG_HOST_OR_USER = 1145
830
+ ER_NO_SUCH_TABLE = 1146
831
+ ER_NONEXISTING_TABLE_GRANT = 1147
832
+ ER_NOT_ALLOWED_COMMAND = 1148
833
+ ER_SYNTAX_ERROR = 1149
834
+ ER_DELAYED_CANT_CHANGE_LOCK = 1150
835
+ ER_TOO_MANY_DELAYED_THREADS = 1151
836
+ ER_ABORTING_CONNECTION = 1152
837
+ ER_NET_PACKET_TOO_LARGE = 1153
838
+ ER_NET_READ_ERROR_FROM_PIPE = 1154
839
+ ER_NET_FCNTL_ERROR = 1155
840
+ ER_NET_PACKETS_OUT_OF_ORDER = 1156
841
+ ER_NET_UNCOMPRESS_ERROR = 1157
842
+ ER_NET_READ_ERROR = 1158
843
+ ER_NET_READ_INTERRUPTED = 1159
844
+ ER_NET_ERROR_ON_WRITE = 1160
845
+ ER_NET_WRITE_INTERRUPTED = 1161
846
+ ER_TOO_LONG_STRING = 1162
847
+ ER_TABLE_CANT_HANDLE_BLOB = 1163
848
+ ER_TABLE_CANT_HANDLE_AUTO_INCREMENT = 1164
849
+ ER_DELAYED_INSERT_TABLE_LOCKED = 1165
850
+ ER_WRONG_COLUMN_NAME = 1166
851
+ ER_WRONG_KEY_COLUMN = 1167
852
+ ER_WRONG_MRG_TABLE = 1168
853
+ ER_DUP_UNIQUE = 1169
854
+ ER_BLOB_KEY_WITHOUT_LENGTH = 1170
855
+ ER_PRIMARY_CANT_HAVE_NULL = 1171
856
+ ER_TOO_MANY_ROWS = 1172
857
+ ER_REQUIRES_PRIMARY_KEY = 1173
858
+ ER_NO_RAID_COMPILED = 1174
859
+ ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE = 1175
860
+ ER_KEY_DOES_NOT_EXITS = 1176
861
+ ER_CHECK_NO_SUCH_TABLE = 1177
862
+ ER_CHECK_NOT_IMPLEMENTED = 1178
863
+ ER_CANT_DO_THIS_DURING_AN_TRANSACTION = 1179
864
+ ER_ERROR_DURING_COMMIT = 1180
865
+ ER_ERROR_DURING_ROLLBACK = 1181
866
+ ER_ERROR_DURING_FLUSH_LOGS = 1182
867
+ ER_ERROR_DURING_CHECKPOINT = 1183
868
+ ER_NEW_ABORTING_CONNECTION = 1184
869
+ ER_DUMP_NOT_IMPLEMENTED = 1185
870
+ ER_FLUSH_MASTER_BINLOG_CLOSED = 1186
871
+ ER_INDEX_REBUILD = 1187
872
+ ER_MASTER = 1188
873
+ ER_MASTER_NET_READ = 1189
874
+ ER_MASTER_NET_WRITE = 1190
875
+ ER_FT_MATCHING_KEY_NOT_FOUND = 1191
876
+ ER_LOCK_OR_ACTIVE_TRANSACTION = 1192
877
+ ER_UNKNOWN_SYSTEM_VARIABLE = 1193
878
+ ER_CRASHED_ON_USAGE = 1194
879
+ ER_CRASHED_ON_REPAIR = 1195
880
+ ER_WARNING_NOT_COMPLETE_ROLLBACK = 1196
881
+ ER_TRANS_CACHE_FULL = 1197
882
+ ER_SLAVE_MUST_STOP = 1198
883
+ ER_SLAVE_NOT_RUNNING = 1199
884
+ ER_BAD_SLAVE = 1200
885
+ ER_MASTER_INFO = 1201
886
+ ER_SLAVE_THREAD = 1202
887
+ ER_TOO_MANY_USER_CONNECTIONS = 1203
888
+ ER_SET_CONSTANTS_ONLY = 1204
889
+ ER_LOCK_WAIT_TIMEOUT = 1205
890
+ ER_LOCK_TABLE_FULL = 1206
891
+ ER_READ_ONLY_TRANSACTION = 1207
892
+ ER_DROP_DB_WITH_READ_LOCK = 1208
893
+ ER_CREATE_DB_WITH_READ_LOCK = 1209
894
+ ER_WRONG_ARGUMENTS = 1210
895
+ ER_NO_PERMISSION_TO_CREATE_USER = 1211
896
+ ER_UNION_TABLES_IN_DIFFERENT_DIR = 1212
897
+ ER_LOCK_DEADLOCK = 1213
898
+ ER_TABLE_CANT_HANDLE_FULLTEXT = 1214
899
+ ER_CANNOT_ADD_FOREIGN = 1215
900
+ ER_NO_REFERENCED_ROW = 1216
901
+ ER_ROW_IS_REFERENCED = 1217
902
+ ER_CONNECT_TO_MASTER = 1218
903
+ ER_QUERY_ON_MASTER = 1219
904
+ ER_ERROR_WHEN_EXECUTING_COMMAND = 1220
905
+ ER_WRONG_USAGE = 1221
906
+ ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT = 1222
907
+ ER_CANT_UPDATE_WITH_READLOCK = 1223
908
+ ER_MIXING_NOT_ALLOWED = 1224
909
+ ER_DUP_ARGUMENT = 1225
910
+ ER_USER_LIMIT_REACHED = 1226
911
+ ER_SPECIFIC_ACCESS_DENIED_ERROR = 1227
912
+ ER_LOCAL_VARIABLE = 1228
913
+ ER_GLOBAL_VARIABLE = 1229
914
+ ER_NO_DEFAULT = 1230
915
+ ER_WRONG_VALUE_FOR_VAR = 1231
916
+ ER_WRONG_TYPE_FOR_VAR = 1232
917
+ ER_VAR_CANT_BE_READ = 1233
918
+ ER_CANT_USE_OPTION_HERE = 1234
919
+ ER_NOT_SUPPORTED_YET = 1235
920
+ ER_MASTER_FATAL_ERROR_READING_BINLOG = 1236
921
+ ER_SLAVE_IGNORED_TABLE = 1237
922
+ ER_ERROR_MESSAGES = 238
923
923
 
924
924
  # Client Error
925
- CR_MIN_ERROR = 2000
926
- CR_MAX_ERROR = 2999
927
- CR_UNKNOWN_ERROR = 2000
928
- CR_SOCKET_CREATE_ERROR = 2001
929
- CR_CONNECTION_ERROR = 2002
930
- CR_CONN_HOST_ERROR = 2003
931
- CR_IPSOCK_ERROR = 2004
932
- CR_UNKNOWN_HOST = 2005
933
- CR_SERVER_GONE_ERROR = 2006
934
- CR_VERSION_ERROR = 2007
935
- CR_OUT_OF_MEMORY = 2008
936
- CR_WRONG_HOST_INFO = 2009
937
- CR_LOCALHOST_CONNECTION = 2010
938
- CR_TCP_CONNECTION = 2011
939
- CR_SERVER_HANDSHAKE_ERR = 2012
940
- CR_SERVER_LOST = 2013
941
- CR_COMMANDS_OUT_OF_SYNC = 2014
942
- CR_NAMEDPIPE_CONNECTION = 2015
943
- CR_NAMEDPIPEWAIT_ERROR = 2016
944
- CR_NAMEDPIPEOPEN_ERROR = 2017
945
- CR_NAMEDPIPESETSTATE_ERROR = 2018
946
- CR_CANT_READ_CHARSET = 2019
947
- CR_NET_PACKET_TOO_LARGE = 2020
948
- CR_EMBEDDED_CONNECTION = 2021
949
- CR_PROBE_SLAVE_STATUS = 2022
950
- CR_PROBE_SLAVE_HOSTS = 2023
951
- CR_PROBE_SLAVE_CONNECT = 2024
952
- CR_PROBE_MASTER_CONNECT = 2025
953
- CR_SSL_CONNECTION_ERROR = 2026
954
- CR_MALFORMED_PACKET = 2027
925
+ CR_MIN_ERROR = 2000
926
+ CR_MAX_ERROR = 2999
927
+ CR_UNKNOWN_ERROR = 2000
928
+ CR_SOCKET_CREATE_ERROR = 2001
929
+ CR_CONNECTION_ERROR = 2002
930
+ CR_CONN_HOST_ERROR = 2003
931
+ CR_IPSOCK_ERROR = 2004
932
+ CR_UNKNOWN_HOST = 2005
933
+ CR_SERVER_GONE_ERROR = 2006
934
+ CR_VERSION_ERROR = 2007
935
+ CR_OUT_OF_MEMORY = 2008
936
+ CR_WRONG_HOST_INFO = 2009
937
+ CR_LOCALHOST_CONNECTION = 2010
938
+ CR_TCP_CONNECTION = 2011
939
+ CR_SERVER_HANDSHAKE_ERR = 2012
940
+ CR_SERVER_LOST = 2013
941
+ CR_COMMANDS_OUT_OF_SYNC = 2014
942
+ CR_NAMEDPIPE_CONNECTION = 2015
943
+ CR_NAMEDPIPEWAIT_ERROR = 2016
944
+ CR_NAMEDPIPEOPEN_ERROR = 2017
945
+ CR_NAMEDPIPESETSTATE_ERROR = 2018
946
+ CR_CANT_READ_CHARSET = 2019
947
+ CR_NET_PACKET_TOO_LARGE = 2020
948
+ CR_EMBEDDED_CONNECTION = 2021
949
+ CR_PROBE_SLAVE_STATUS = 2022
950
+ CR_PROBE_SLAVE_HOSTS = 2023
951
+ CR_PROBE_SLAVE_CONNECT = 2024
952
+ CR_PROBE_MASTER_CONNECT = 2025
953
+ CR_SSL_CONNECTION_ERROR = 2026
954
+ CR_MALFORMED_PACKET = 2027
955
955
 
956
956
  CLIENT_ERRORS = [
957
957
  "Unknown MySQL error",
@@ -1011,14 +1011,14 @@ class Mysql
1011
1011
  len = nil
1012
1012
  @sock.sync = false
1013
1013
  while len == nil or len == MAX_PACKET_LENGTH do
1014
- a = @sock.read(4)
1015
- len = a[0]+a[1]*256+a[2]*256*256
1016
- pkt_nr = a[3]
1017
- if @pkt_nr != pkt_nr then
1018
- raise "Packets out of order: #{@pkt_nr}<>#{pkt_nr}"
1019
- end
1020
- @pkt_nr = @pkt_nr + 1 & 0xff
1021
- buf << @sock.read(len)
1014
+ a = @sock.read(4)
1015
+ len = a[0]+a[1]*256+a[2]*256*256
1016
+ pkt_nr = a[3]
1017
+ if @pkt_nr != pkt_nr then
1018
+ raise "Packets out of order: #{@pkt_nr}<>#{pkt_nr}"
1019
+ end
1020
+ @pkt_nr = @pkt_nr + 1 & 0xff
1021
+ buf << @sock.read(len)
1022
1022
  end
1023
1023
  @sock.sync = true
1024
1024
  buf.join
@@ -1026,14 +1026,14 @@ class Mysql
1026
1026
 
1027
1027
  def write(data)
1028
1028
  if data.is_a? Array then
1029
- data = data.join
1029
+ data = data.join
1030
1030
  end
1031
1031
  @sock.sync = false
1032
1032
  ptr = 0
1033
1033
  while data.length >= MAX_PACKET_LENGTH do
1034
- @sock.write Net::int3str(MAX_PACKET_LENGTH)+@pkt_nr.chr+data[ptr, MAX_PACKET_LENGTH]
1035
- @pkt_nr = @pkt_nr + 1 & 0xff
1036
- ptr += MAX_PACKET_LENGTH
1034
+ @sock.write Net::int3str(MAX_PACKET_LENGTH)+@pkt_nr.chr+data[ptr, MAX_PACKET_LENGTH]
1035
+ @pkt_nr = @pkt_nr + 1 & 0xff
1036
+ ptr += MAX_PACKET_LENGTH
1037
1037
  end
1038
1038
  @sock.write Net::int3str(data.length-ptr)+@pkt_nr.chr+data[ptr .. -1]
1039
1039
  @pkt_nr = @pkt_nr + 1 & 0xff